python爬取《流浪地球》16w评论


今年春节档电影《流浪地球》火的不要不要,截止到今天 2 月 17 日,上映 13 天,目前票房已达 36 亿,可喜可贺。


我自己到现在其实还没看这部电影,毕竟这电影这么火,电影院现在都很难买到好的位置。所以我打算不如先看看大家是怎么评价这部电影的,然后就开始写爬虫吧。


获得这 16w 评论数据的过程并没有那么顺利,对猫眼评论数据接口的分析踩过不少的坑,最终也是参考了网上其他文章得以解决,下面我们一起来分析下。


打开猫眼 pc 网页,发现只有 10 条热门评论数据,果断将浏览器切换成手机模式。果然在手机模式下就可以看到更多评论信息了,往上滑动终于可以看到接口请求数据了,那么把接口拿出来看看吧。



#只能获取1000条数据接口
http://m.maoyan.com/review/v2/comments.json?movieId=248906&userId=-1&offset=15&limit=15&ts=1550381347469&type=3 


表面上看好像只需通过 offset 这个参数就能控制翻页来获取更多数据了,于是简单试了几个参数发现还真可以。


于是开始写爬虫程序,写完运行程序发现 offset 只能到 1000,再往后就没有数据返回了,因此意味着这个方式只能获取 1000 条数据。


我开始到网上去寻找其他答案,发现有人在用另外一个接口,思路大概是按日期来查询,然后对每天的数据再做分页获取,看上去还不错,就是下面这个接口。


#每天1000条数据接口 http://m.maoyan.com/mmdb/comments/movie/248906.json?_v_=yes&offset=15&startTime=2019-02-05%2022%3A25%3A03' 

这个接口确实可以拿到更多的数据,但是跟上面那个接口一样,同样是每天只能获取 1000 条数据,即从上线到今天最多也只能拿到不到 2w 的数据,这个数据量有点少,看看还有没有其他办法。


后来又到网上找到另一个接口,可以通过改变 startTime 字段的值来获取更多评论信息,把 offset 置为 0,把每页评论数据中最后一次评论时间作为新的 startTime 去重新请求即可。


#靠谱接口 http://m.maoyan.com/mmdb/comments/movie/248906.json?_v_=yes&offset=0&startTime=2019-02-05%2020:28:22 


在爬虫过程中意外的发现,猫眼对接口没有做反爬限制,一口气爬了 16w评论数据。数据包含用户昵称、用户所在地、评分、评论内容以及评论时间五项内容。



我简单看了下数据,90% 都是好评,评分大多数都是满分,评论中出现很多的不错、好看、很棒、很好的词,真是不愧能在短时间内拿下这么高的票房。


这篇文章暂时不对拿到的数据进行分析,计划留到后面再单独写一篇文章分析评论数据,有兴趣的同学也可以先把数据拿过去自己分析一番。


另外,本文涉及的完整爬虫源码及 16w 评论数据,请在本公众号后台回复关键字 "流浪地球" 即可获取,原创文章不易,如果对你有一点帮助,希望能给文章一个好看,转发评论更好,感谢大家。

关键词: 爬虫

网友留言(0条)

发表评论