如何抓取淘宝商品实时库存?

2016-07-11 02:22:42 +08:00
 iray1991

比如需要抓取这件商品的实时库存和价格: https://item.taobao.com/item.htm?spm=a1z0k.7628869.1997989141.7.h17BoG&id=528392541802&_u=b1upv8bl23c7

拓展下,可否抓取这件商品的实时库存? http://store.nike.com/de/de_de/pd/jordan-q54-lux-fischerhut/pid-11190884/pgid-11504256

实现方式用 python ?

http://zhan.renren.com/sunli90112?gid=3602888498064136996&from=post&checked=true

9370 次点击
所在节点    问与答
2 条回复
xiaocsl
2016-07-11 06:22:45 +08:00
挺简单的,说一下过程吧.希望你能学会"渔".

1) 打开你的给的商品后发现库存都是个位数,立刻就去随便搜索了一个库存数稍微大一些的商品.( https://item.taobao.com/item.htm?id=531414649886 )
2)打开 Fiddler 发送请求.然后在 Ctrl + F 搜索了某个 SKU 的库存 "689" 符合条件的只有个位数请求,一眼望过去,有一个域名是:" detailskip.taobao.com " 点开发现包含所有库存信息.获取到请求地址 https://detailskip.taobao.com/service/getData/1/p2/item/detail/sib.htm?itemId=528392541802&modules=qrcode,viewer,price,contract,duty,xmpPromotion,dynStock,delivery,upp,sellerDetail,activity,fqg,zjys,coupon&callback=onSibRequestSuccess
3)将请求中的 itemId 的值换成需要获取的商品 ID ,直接浏览器请求,返回 403.确认服务器有验证,观察 Fiddler 中的请求,除了 "Referer" 并无其他信息
4)请求时增加个 "Referer" 正常工作.到这里就全部完成了.

额外提醒,这里并没有验证更多信息,比如说请求次数限制等问题,如果碰到可以尝试抓一下各个平台的接口测试.
001155
2017-04-06 00:48:13 +08:00
2017 年 4 月 6 日 https://detailskip.taobao.com/service/getData/1/p2/item/detail/sib.htm?itemId=528392541802&modules=qrcode,viewer,price,contract,duty,xmpPromotion,dynStock,delivery,upp,sellerDetail,activity,fqg,zjys,coupon&callback=onSibRequestSuccess

请求这个接口一直 403
模拟请求的时候要在 header 设置一下来源页面 referer 属性为你要抓取的宝贝链接 ,就可以成功获取了
header={
"referer":"https://item.taobao.com/item.htm?id=524122865207"
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/291600

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX