python 亚马逊评论 亚马逊评论爬虫_数据

据电影咨询,复联4的全球票房已超过《泰坦尼克号》,暂列影史票房第二,不过据我估计,复联4是非常有可能成为票房冠军的,我们拭目以待!

自己之前一直想做一次电影评论的爬虫,在自己看完这部电影之后,身为漫威迷的我觉得机会到了,于是开始搜寻资料,分析后有了上面那一片文章《Python爬取了134115条猫眼评论,老王带你看《复联4》!》

虽然爬取猫眼评论已不算是新鲜事,可以搜到网上的文章,但获取这13W的评论数据加上可视化分析并不是那么容易,踩过不少的坑,也学到了不少的东西,下面我们来一起看一下

数据获取

打开猫眼pc端网页,发现只能查看10条热评,直接切换至手机模式,点击查看全部评论,果然可以看到更多评论信息了。


python 亚马逊评论 亚马逊评论爬虫_Python_02


我们输入“comments”进行筛选,向上滑动,便可出现关于评论的json文件,我们点击查看详情,可在Preview中查看json格式的评论信息,在Headers中便可获取到评论的数据接口。(这里ts值为时间戳)


python 亚马逊评论 亚马逊评论爬虫_python 亚马逊评论_03


python 亚马逊评论 亚马逊评论爬虫_Python_04


http://m.maoyan.com/review/v2/comments.json?movieId=248172&userId=-1&offset=0&limit=15&ts=0&type=3


表面看上去可以直接更改offset值就可以获得更多数据了,爬取后发现offset到1000后,便再无数据返回,这说明这个方式只能获得1000条数据

于是开始google其解决方案,于是找到了下面这个数据接口。通过改变startTime的值来获取更多的评论信息,把offset设置为0,把每页评论数据中最后一次评论时间作为新的startTime去请求。


http://m.maoyan.com/mmdb/comments/movie/248172.json?_v_=yes&offset=0&startTime=2019-04-30%2021:27:11


没想到猫眼没有任何的反爬虫机制,爬了不到两个小时,爬出了134115条数据。数据包括用户昵称,用户地区,评论,评分以及评论时间。


python 亚马逊评论 亚马逊评论爬虫_Python_05


注意在存入csv文件时,要加上”encoding=’utf_8_sig’”参数,这样打开csv文件就不会出现乱码了。


dataObject.to_csv(filename, mode='a', index=False, sep=',', header=False, encoding='utf_8_sig')


数据分析

pyecharts

可视化分析这里我们用的是百度开源的一个pyecharts包。它是一个用于生成Echarts图表的类库。用Echarts生成的图可视化效果非常棒,pyecharts是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。十分推荐

安装

pip install pyecharts

==注意==

v0.5.X 和 V1.0.X 间完全不兼容,我在这里因为版本的问题耽误了不少时间。得出结论就是一定要看看官方文档 github-pyecharts ,直接就可解决。


# 安装 1.0.x 以上版本 (仅支持Python3.6+)
$ pip install pyecharts -U

# 如果需要安装 0.5.11 版本的开发者 (支持Python2.7,3.4+)
# pip install pyecharts==0.5.11


地图包

地图文件被分成了三个 Python 包,分别为:
全球国家地图: echarts-countries-pypkg
中国省级地图: echarts-china-provinces-pypkg
中国市级地图: echarts-china-cities-pypkg

pip install pyecharts-jupyter-installer==0.0.3 #必须先执行这个,否则安装会报错

直接使用python的pip安装:


全球国家地图:pip install echarts-countries-pypkg
中国省级地图:pip install echarts-china-provinces-pypkg
中国市级地图:pip install echarts-china-cities-pypkg
中国县区级地图: echarts-china-counties-pypkg


词云

直接使用得jieba包,不要忘了自定义停用词。

以上就是整个的爬取分析过程,如果大家想爬取其他电影的信息,直接替换代码中的id即可。
代码获取地址:https://github.com/AkaOld/MaoYan-MovieComments