简单爬取京东百万商品的缺货记录
2014-09-28 22:20
232 查看
申明:转载请注明作者( ChenReason.com)及出处,谢谢。
最近在学python,首先就想找个小功能来试着实现以下当作练手,最后决定就以爬取京东商品的缺货记录作为目标。
要爬京东数据,当然要从分析京东的商品页面开始。我们先以京东的手机频道为例。
不然发现,有个【仅显示有货】按钮,因此不然得出这样一个思路,遍历所有商品后,【不显示只有有货 - 只显示有货=缺货商品】。在利用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可控制,但实际解析后并不可行。
因此我们换种思路。
通过查看京东商品页面的源代码可得以下函数。
不然理解,只要找到商品的stockvalue便可得知其对应的库存信息。在通过观察get_stock()函数
找到关键地址search.jd.com/stock?skus...F12打开浏览器控制台,刷新页面,进入Network观察台,搜索关键词后可得
将具体网址点开后可得(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)
到此,获取京东商品库存的方法就找到了,接下来只要遍历该数据库即可获得商品的具体库存信息。具体的Python代码贴在了本人Github上,https://github.com/ChenReason/PythonPractice 欢迎关注及fork。
最近在学python,首先就想找个小功能来试着实现以下当作练手,最后决定就以爬取京东商品的缺货记录作为目标。
要爬京东数据,当然要从分析京东的商品页面开始。我们先以京东的手机频道为例。
不然发现,有个【仅显示有货】按钮,因此不然得出这样一个思路,遍历所有商品后,【不显示只有有货 - 只显示有货=缺货商品】。在利用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可控制,但实际解析后并不可行。
因此我们换种思路。
通过查看京东商品页面的源代码可得以下函数。
不然理解,只要找到商品的stockvalue便可得知其对应的库存信息。在通过观察get_stock()函数
找到关键地址search.jd.com/stock?skus...F12打开浏览器控制台,刷新页面,进入Network观察台,搜索关键词后可得
将具体网址点开后可得(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)
到此,获取京东商品库存的方法就找到了,接下来只要遍历该数据库即可获得商品的具体库存信息。具体的Python代码贴在了本人Github上,https://github.com/ChenReason/PythonPractice 欢迎关注及fork。
相关文章推荐
- 简单爬取京东百万商品的缺货记录
- Html+Css新手简单快速仿京东商品分类导航
- Elasticsearch中的document数据格式,简单的集群管理,商品的索引的CRUD操作(学习资料记录)
- 简单商品搜索界面的实现,流失布局,历史记录,商品展示,商品详情
- 使用cookie实现记录浏览商品的过程并能够清空浏览记录(简单的小程序不涉及到数据库的调取)
- 简单利用 log4net 向文件中写入日志记录
- 2006-09-19 简单的记录,不知道还能记多少次
- Ubuntu 6.06,硬盘安装,简单优化,ati驱动及xgl安装全过程记录
- 最最最简单的用SQL语句选则数据表中的随机N条记录
- MOSS Search学习记录(二):配置爬网并尝试一个简单的搜索
- 简单实现主从非约束表的事务处理提交(多表多记录)
- 简单统计postfix发送人记录的脚本
- DataGrid在PostBack后定位记录的简单办法
- 自已创建一个含一些记录的DataTable – 就这样简单
- DataGrid在PostBack后定位记录的简单办法 (转LoveCherry
- HNC与语言学研究学术研讨会(第三届)简单记录(4)
- Ms Sql 触发器之 ------ 简单更新 Insert 中的记录
- DataGrid 在PostBack 后记录定位的简单方法...
- IT人看《国富论》系列:第一篇之第七章:论商品的自然价格与市场价格,简单说说为什么IT业薪资水平下滑