python 模拟登录爬取淘宝数据

        淘宝现在需要登录才能爬取搜索商品,首先在登录页面登录chrome F12 开发者模式抓包

python 模拟登录爬取淘宝数据_第1张图片

                                  登录请求

       发现有一个post请求,这个就是登录的请求了,看下面的from data

python 模拟登录爬取淘宝数据_第2张图片

                                  登录信息                          

由from data信息可以知道loginId就是你自己的登录账号密码经过加密我们可以直接将from data的内容直接复制转换为字典格式,

请求登录代码,返回 的是一个json串判断redirect是否为True 如果是就登录成功。之前看裸睡的猪 猪哥是通过asyncUrls再去申请st 码获取st再登录,应该是最正确的方法,不过我尝试的过程中有时候会出现没有asyncUrls的情况因此在这一步直接判断获取cookies 也是有效的因此省略了

python 模拟登录爬取淘宝数据_第3张图片

                                     模拟登录

                                     返回的json串

当拿到登录cookies 之后便可以进行淘宝的商品爬取

                                  加载cookies

淘宝的搜索页面网址https://s.taobao.com/search?q=后面添加想搜的商品名称便可以得出结果

python 模拟登录爬取淘宝数据_第4张图片

                                     搜索页面

python 模拟登录爬取淘宝数据_第5张图片

                                    搜索代码

再你点击下一页之后便会多出图中&s=44再下一页则为88由此可知一个页面展示44个商品,可以通过这个规律来做翻页

搜索页面的url 组成

,请求得到的html页面中会发现商品信息均存储在字典中且因为=问题有\003d 的字符

                                     商品数据

用正则表达式匹配我们想要的数据并json序列化消除格式错误便可以根据字典key获取想要获得的value了最后将数据存入mysql数据库

python 模拟登录爬取淘宝数据_第6张图片

                                   获取信息并存储

python 模拟登录爬取淘宝数据_第7张图片

                                    商品爬取结果

完整代码在GitHub https://github.com/FRANKLV10/Spider-collection

你可能感兴趣的:(python,网页爬虫)