简单爬取京东百万商品的缺货记录

本文介绍如何使用Python编程语言,通过分析京东商品页面的源代码,实现自动爬取缺货商品记录的功能。重点包括理解京东商品页面结构、识别缺货商品标识,并提供完整的Python代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

申明:转载请注明作者( ChenReason.com)及出处,谢谢。


最近在学python,首先就想找个小功能来试着实现以下当作练手,最后决定就以爬取京东商品的缺货记录作为目标。

要爬京东数据,当然要从分析京东的商品页面开始。

我们先以京东的手机频道为例。

214708_jWbh_1476402.jpg

不然发现,有个【仅显示有货】按钮,因此不然得出这样一个思路,遍历所有商品后,【不显示只有有货 - 只显示有货=缺货商品】。

在利用python的urllib2库以及BeautifulSoup库对页面进行解析之后,会发现不管是打开只显示有货商品页面还是所有商品页面都会自动跳转自【只显示有货】商品页面。

http://list.jd.com/list.html?cat=9987%2C653%2C655&stock=0&page=1&JL=4_7_0 【显示所有货品】

http://list.jd.com/list.html?cat=9987%2C653%2C655&stock=1&page=1&JL=4_7_0 【只显示有货商品】

观察可得,地址中stock=0或1可控制,但实际解析后并不可行。


因此我们换种思路。


通过查看京东商品页面的源代码可得以下函数。

215527_CF0H_1476402.png

不然理解,只要找到商品的stockvalue便可得知其对应的库存信息。

在通过观察get_stock()函数

215936_V96P_1476402.jpg

找到关键地址search.jd.com/stock?skus...F12打开浏览器控制台,刷新页面,进入Network观察台,搜索关键词后可得

220224_1kD8_1476402.png

将具体网址点开后可得(http://search.jd.com/stock?skus=1023433%2C1057746%2C981821%2C1199748%2C1157477%2C1165981%2C1057741%2C1160548%2C1139519%2C981822%2C1165980%2C1160245%2C1086907%2C1137839%2C1005766%2C1151485%2C974402%2C1023437%2C1185982%2C1097501%2C986951%2C1079636%2C975641%2C917461%2C1072545%2C1155902%2C1023438%2C1124332%2C1124331%2C1086898%2C1177630%2C863619%2C975631%2C1089266%2C1169454%2C1087976%2C1097628%2C937266%2C1222803%2C1084276%2C978316%2C1178704%2C919669%2C941868%2C1043963%2C1178706%2C1124365%2C1138529%2C1198696%2C1181979%2C1150413%2C917460%2C1124369%2C1182288%2C875496%2C1186212%2C973861%2C1086759%2C1060847%2C1003266&district=12_904_905&callback=get_stock_cb)

220354_vI55_1476402.png

到此,获取京东商品库存的方法就找到了,接下来只要遍历该数据库即可获得商品的具体库存信息。

具体的Python代码贴在了本人Github上,https://github.com/ChenReason/PythonPractice 欢迎关注及fork。



转载于:https://my.oschina.net/chenreason/blog/323017

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值