本文主要是介绍天猫评论爬取系列之Bra特别篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
天猫评论爬取系列之Bra特别篇(钢铁直男勿进)
封面图镇楼~
1 前言
1.1 目的
爬虫真是好玩:)
在一个阳光明媚的中午,刚吃完饭的我坐在电脑桌前,翻着手机,忽然看到这样一条微信公众号推送(图是后来截的):
嗯~ o( ̄▽ ̄)o,又可以涨知识了,开干吧(只看分析请跳到最后)。
1.2 相关工具
Chrome:抓包、浏览器
scrapy:爬虫框架
mysql:数据储存
WordCloud:词云工具
echarts:可视化工具
2 分析
2.1 思路分析
- 爬取评论信息
- 评论清洗入库
- 生成词云,查看关键词
- 生成可视化图表
- 数据分析
2.2 爬取评论信息&评论清洗入库
- 首先Chrome打开商品页面,拖到底下评论区,可以看到评论选择有这几种:全部、追评、图片、有无内容、按默认、按时间等等,这个对下面参数理解有帮助。
- 接着,打开Chrome的开发者工具(
F12
),进入Network
页面,这时返回去刚刚评论,随便选择一个选项,比如默认是选择全部
,我这里改成追评
,这时可以看到Network
底下加载了很多内容。
- 一般如果返回Json内容的话是在
Network
底下的XHR
标签,不过天猫评论返回的是JS
文件,因为这个涉及到浏览器的同源政策,有兴趣的小伙伴搜索同源和Jsonp相关关键词。好了,言归正传,点击JS
标签,看到像https://rate.tmall.com......
的内容了么,没有的话再点击一下页面的全部
,追评
,图片
等等再看。
- 点击
https://rate.tmall.com......
,选择Response
,可以看到我们要的结果就在这里:
- 点击
Headers
,开始分析参数吧:
- 可以看到是
GET
方法,Request URL
这么长,第一次看到肯定会发懵吧,不过这里面的一些信息其实是可以剔除而不影响我们要的最终内容。比如ua
,记录user-agent信息,可以去掉,另外,大部分没有值的代表这个值不传也可以获得我们要的信息,所以又可以省略掉,剩下几个有值的我们就要去猜它代表的意思了。
https://rate.tmall.com/list_detail_rate.htm?itemId=547746378793&spuId=687158212&sellerId=2917184910&order=3¤tPage=1&append=1&content=1&picture=0&needFold=0&_ksTS=1524225058166_2084&callback=jsonp2085
itemId
、spuId
、sellerId
:商品本身的信息;
order
:3代表按默认,1代表按时间;
currentPage
:评论当前页(1-99);
append
:1代表追评,0代表无追评;
content
:1代表有内容,0代表无内容;
picture
:1代表有图,0代表无图;
needFold
:1代表有折叠,0代表无折叠(折叠代表内容看上去没什么意义那种,比如啊啊啊啊啊,啦啦啦啦啦这种);
_ksTS
:代表当前时间;
callback
:代表返回的函数名(jsonp),支持自定义;
- 构造
_ksTS
的函数如下:
这篇关于天猫评论爬取系列之Bra特别篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!