python - 爬取某淘宝店铺所有宝贝遇到的问题?

查看:393
本文介绍了python - 爬取某淘宝店铺所有宝贝遇到的问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在爬一个淘宝店铺的信息时发现会通过jsonp去网站取回数据,url如下:
https://tianziyujushangcheng.taobao.com/i/asynSearch.htm?callback=jsonp152&mid=w-12133771151-0&wid=12133771151&pageNo=2

其他无效参数都被我除去了。

有2个必要参数:一个callback=jsonp152;另一个wid=12133771151.但是这2个参数是怎么得来的呢?
因为我是要爬取大量网站,所以手动从浏览器中提取这2个参数几乎不可能。
在chrome开发者工具中搜索,在其他位置并没有出现这几个参数。也看了发出这个xhr请求的index.js文件,并没有看到相关联的东西。有大神做过吗?分享一下...

解决方案

通过仔细分析终于找到了。本来以为淘宝为了限制爬虫,设置了一些算法加密这几个数字,其实没有。

首先,jsonp152中这个152是没有意义的,是一个跟发送请求时间有关的数值,但是对于我们来说并没有影响。你随便输入一个数字,比如callback=jsonp122返回的就是jsonp122("{data:...}"),发送请求时随意发就是了,它是一个随机数。

其次,12133771151是从发送"https://tianziyujushangcheng.taobao.com/search.htm"返回的页面中提取出来的。

大概过程就是,发送https://tianziyujushangcheng....然后浏览器解析返回页面中的一些js文件,再发送https://tianziyujushangcheng....这个请求,取回商品信息。所以直接爬取店铺首页是爬取不到具体的商品信息的,要分析整个网络请求,找到这个xhr请求,才能获取到想要的信息。

这篇关于python - 爬取某淘宝店铺所有宝贝遇到的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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