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

WBOY
Freigeben: 2016-06-06 20:11:27
Original
1953 Leute haben es durchsucht

javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?
在浏览器中根据头信息模拟ajax请求抓取淘宝商品价格,无法获取response信息。

javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?
**在浏览器中输入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×tamp=1461017878859&isg=AmVlWlJ2uZ-EwfyJzSxGWUY49Suf-Rk0

回复内容:

javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?
在浏览器中根据头信息模拟ajax请求抓取淘宝商品价格,无法获取response信息。

javascript - 模拟天猫ajax请求抓取商品价格,无法获取响应数据?
**在浏览器中输入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×tamp=1461017878859&isg=AmVlWlJ2uZ-EwfyJzSxGWUY49Suf-Rk0

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

<code>: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
</code>
Nach dem Login kopieren

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

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

<code>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
</code>
Nach dem Login kopieren

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage