javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?

查看:314
本文介绍了javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


在浏览器中根据头信息模拟ajax请求抓取淘宝商品价格,无法获取response信息。


**在浏览器中输入headers 中的request url,显示的是页面无法访问。
想知道下淘宝试用了什么技术屏蔽了,以及怎么解决这个问题,按道理说展现在客户端的数据都能获取的到的,谢谢?**

测试商品地址:https://detail.tmall.com/item.htm?id=41809359032&skuId=3145753887167

ajax地址:https://mdskip.taobao.com/core/initItemDetail.htm?sellerPreview=false&tmallBuySupport=true&service3C=false&isAreaSell=false&isApparel=false&cartEnable=true&isSecKill=false&queryMemberRight=true&itemId=41809359032&isRegionLevel=false&showShopProm=false&household=false&tryBeforeBuy=false&isUseInventoryCenter=false&cachedTimestamp=1461004599117&isForbidBuyItem=false&offlineShop=false&addressLevel=2&callback=setMdskip&timestamp=1461017878859&isg=AmVlWlJ2uZ-EwfyJzSxGWUY49Suf-Rk0

解决方案

应该是设置了请求头的,看了下请求头,的确添加了很多信息,比如:

:host:mdskip.taobao.com
:method:GET
:path:/core/initItemDetail.htm?cachedTimestamp=1461009311258&cartEnable=true&showShopProm=false&isRegionLevel=false&isApparel=false&isSecKill=false&household=false&tryBeforeBuy=false&tmallBuySupport=true&isAreaSell=false&addressLevel=2&isUseInventoryCenter=false&itemId=41809359032&service3C=false&isForbidBuyItem=false&queryMemberRight=true&sellerPreview=false&offlineShop=false&callback=setMdskip&timestamp=1461033279024&isg=AtzcYW2gFJ356UEz3F1PosPPLPGOSIB9
:scheme:https
:version:HTTP/1.1

这些:开头的。
尝试了下,仅仅使用这些:开头的,还是获取不到数据,所以,直接使用了完整的请求头,是可以获取到数据的。

个人觉得,除了:开头的请求头之外,下面这两信息也很重要:

cookie:thw=cn; _tb_token_=gZXg9WRSTLiB; t=d11a113cccfbf234424ce707c955b9dd; cookie2=d6cd51e3c36d47dac9fabd9d79a11cd9; v=0; cna=H6pvD4R7/TgCAbaX1qJODtvU; _m_h5_tk=7660b8def380dbda6d85d45bc16b5726_1460713055364; _m_h5_tk_enc=23dd2b0a97166d8978bc9ecee14d6512; l=AqCgGx9hG8f3aY1ncDHLO1GX8KVyq4Rz
referer:https://detail.tmall.com/item.htm?id=41809359032&skuId=3145753887167

尤其是cookie,从他代码中看到设置了referer的,没有测试是否可以去掉该设置,你可以自己设置。

所以,天猫这个限制,应该是请求头+cookie+(或者还有其他)的方式来处理的,你只需要模拟类似的请求,添加这些请求信息即可。

这篇关于javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆