Python实战:利用Requests与BeautifulSoup抓取京东商品参数

七月
七月
发布时间:2026-10-13| 6人浏览过
原创

本文演示如何使用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抓取京东商品配置信息的完整流程,希望能为读者提供学习参考,欢迎继续支持本站获取更多技术分享。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。