使用Python爬虫爬取京东商品数据的关键步骤包括:分析网页结构、模拟请求获取数据、解析页面内容以及存储结果。以下是具体实现方法:
-
分析京东网页结构
打开京东商品页(如搜索"手机"),按F12进入开发者工具,观察Network中的XHR请求或直接分析HTML源码。重点查找商品列表的标签结构(通常包含class="gl-item"
的div),以及价格、标题等关键信息的CSS选择器路径。 -
配置爬虫请求头
需添加User-Agent
(如Mozilla/5.0)和Referer
等反反爬参数,建议使用requests
库的Session
对象保持会话。对于动态加载的数据,可能需要抓取接口API(如价格接口含"p.3.cn"字样)。 -
解析页面数据
推荐用BeautifulSoup
或lxml
解析HTML:- 商品标题:
soup.select('div.p-name em')
- 价格:
soup.select('div.p-price i')
- 评论数:
soup.select('div.p-commit a')
注意处理分页逻辑,观察页码参数(如page=2
)。
- 商品标题:
-
数据存储与反爬应对
将结果保存为CSV(用pandas.to_csv
)或数据库。建议:- 设置随机延迟(
time.sleep(random.uniform(1,3))
) - 使用代理IP池应对IP封锁
- 检查
robots.txt
合规性
- 设置随机延迟(
完成爬取后建议清洗数据(去重/空值处理),动态内容可结合selenium
模拟点击。注意控制请求频率避免封禁,商业用途需获得官方授权。