前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >连淘宝评价都不会爬,也敢说自己会爬虫

连淘宝评价都不会爬,也敢说自己会爬虫

作者头像
stormwen
发布2019-09-17 18:23:52
2.5K0
发布2019-09-17 18:23:52
举报
文章被收录于专栏:公众号:googpy
阅读文本大概需要4分钟。

自从上次写了一篇教师节送什么?Python教你挑选礼物,让我对淘宝的其他信息产生了产生了很大的兴趣,所以,利用中秋节假期研究了下怎么爬取淘宝商品评价。

由于淘宝现在的反爬机制不断增强,接口API发生了变化,网上的写的爬取淘宝评价的教程都无法使用,给我实现项目带来了很多不便,但好在经过自己的不断摸索,终于实现了功能。

本文实现难点:

一、分析数据包,找到淘宝评论传输用的网址,分析网址特点;

二、获取谷歌浏览器的控制台cookie;

三、如何从找到的数据包中,从json格式内容中得到想要的数据。

本文实现项目的优点:

一、不用难懂的正则表达式也能爬取信息;

二、可以根据自己的需求爬取某个商品所有的评价信息;

三、代码实现比较简单;

四、本文应该是最新的爬取淘宝商品评价的教程了。

案例

德国博朗oralb/oral b 欧乐b电动牙刷 成人充电式家用 D12清亮

网址如下:

代码语言:javascript
复制
https://detail.tmall.com/item.htm?id=38975978198&ali_refid=a3_430582_1006:1106461044:N:%E7%94%B5%E5%8A%A8%E7%89%99%E5%88%B7:bfee1d767fa0a91e5e853b29d794c6f2&ali_trackid=1_bfee1d767fa0a91e5e853b29d794c6f2&spm=a230r.1.14.1.R0FzCm

1.抓包:找到获取评论的请求

建议大家使用谷歌浏览器v55版本的,其他更高版本的谷歌浏览器,打开控制台后找不到cookie信息,这个对于本次项目非常重要。

简单解释一下cookie:用来识别用户,比如你登录一个网站,网站就给你一个cookie,在你未注销之前,你访问这个网站的所有页面都是通过这个cookie,换句话说,你可以拿着这个cookie访问那些需要登录账号的网站页面,前提是需要你手动登录一次抓包获取这个cookie。

浏览器F12打开控制台——NetWork——刷新——找请求。点击商品页面上的「累计评论」,找到以list_detail...开头的信息,如图所示。

2.模拟请求

在下图所示的页面中找到请求网址:

https://rate.tmall.com/list_detail_rate.htm(萌新注意,问号后面可以不加,等下加在另一个地方)

3.请求头header

这里需要用到cookie信息,在下图所示的页面中找到cookie后,复制粘贴到代码中,写完代码后,我在反复调试过程中,发现用第二页商品评论不容易被反爬,这里大家可以选择第二页的cookie信息。

如果第二页的cookie也不行的话,大家可以按照上面的步骤寻找其他页面的cookie,直到代码可以成功运行。

4.构造请求网址后面的内容

下图是构造网址需要的参数

需要注意的是,本次爬取商品的评论的信息有63页,所以需要对currentPage动态设置,构造一个for循环,就能爬取所有页面的评价。

其次,还要注意的是callback这个参数,在获取时要和cookie信息一致,必须都是一个页面上的,这样代码运行才不会出错。

5.写代码

6.结果展示

总结

爬虫进阶必不可少的是要学会抓包和调式,这个项目对Python爬虫进阶来说很有用,大家可能觉得写出来很简单,但是就这么个小问题我也是钻研了许久,也算是对抓包入门了。

学会了爬取淘宝商品评价后,接下来就可以对商品进行数据分析等一些好玩有趣的实战项目,可以进一步增加爬虫功力,想想都激动~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 德国博朗oralb/oral b 欧乐b电动牙刷 成人充电式家用 D12清亮
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档