Python实战:利用Requests与BeautifulSoup抓取京东商品参数
本文演示如何使用Python的requests库获取京东商品页面源码,并结合BeautifulSoup解析HTML结构。通过定位特定class的div容器,提取dl、dt和dd标签中的键值对数据,最终使用pandas构建DataFrame存储商品参数信息。
本示例展示了如何使用Python语言编写脚本,从京东网站抓取小米8手机的具体配置数据。
第一步,确定目标商品的URL地址,例如小米8的商品详情页链接为:https://item.jd.com/7437788.html。
接着,检查网页源代码以定位包含配置信息的HTML元素。经过分析,配置信息被包裹在class属性为“Ptable”的div标签内。

进一步观察页面结构规律可知,配置列表由多个dl标签组成,每个dl内部包含对应的dt(参数名)和dd(参数值)。通常一个dt对应一个dd,分别存储参数名称和具体数值。

以下是实现该抓取功能的核心源代码。
import requests
from bs4 import BeautifulSoup
from pandas import Series
from pandas import DataFrame
response=requests.get("https://item.jd.com/7437788.html")
html=response.text
soup=BeautifulSoup(html,"html.parser")
divSoup=soup.find("div",attrs={"class","Ptable"}) ##找到其配置信息的标签
data=DataFrame(columns=["参数","值"]) #定义一个二元的DataFrame
dls=divSoup.find_all("dl")
for dl in dls:
dts=dl.find_all("dt")
dds=dl.find_all("dd")
if len(dts)==len(dds):
for i in range(len(dts)):
f=dts[i].getText();
p=dds[i].getText();
data=data.append(Series([f,p],index=["参数","值"]),ignore_index=True);
print(data)
运行脚本后,成功获取了配置信息,共计64行数据。由于篇幅限制,此处未列出所有抓取结果。

以上内容涵盖了使用Python抓取京东商品配置信息的完整流程,希望能为读者提供学习参考,欢迎继续支持本站获取更多技术分享。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









