花木兰到底好看不,我用Python爬取了几万条评论!

小詹学Python

共 2135字,需浏览 5分钟

 · 2020-09-28

对于神仙姐姐刘亦菲,估计很多码农都很喜欢,小编也非常喜欢她。从一开始的金粉世家里面的青涩的白秀珠,到天龙八部的神仙姐姐王语嫣,再到仙剑奇侠传里面的赵灵儿,后来挑战四大名捕里面的无情,演技也是越来越好。


现在她主演的《花木兰》 也带着一股巨浪向人们袭来,这部从拍摄之初就饱受争议的电影,于是小编在猫眼上爬取上万条的用户评价,对其进行数据分析,今天就跟大家一起对其进行探索。



01.

网站的分析


这次我们的数据爬取从猫眼电影上获取,目前有近14万的电影短片数据。经过仔细的分析,发现猫眼电影的URL有一定的规律,可以从中获取猫眼的电影评论数据,并且数据提供的格式json格式,方便操作。这个接口如下:

http://m.maoyan.com/mmdb/comments/movie/movieid.json?_v_=yes&offset=15&startTime=?

这个接口主要有两个参数:

  • movieid是指猫眼中每个电影独有的id,如《花木兰》的movieid=1210778;

  • startTime是指该页面中第一条评论的时间,在这个页面,每页共有15条评论;


然后打开每一条评论,进行解析网页,看一下里面的结构


发现关键的地方就是这个时间戳!


02.

动手写代码


有了这个接口,就可以很快的对影评进行爬取了。这里依赖于requests、json等库进行(相关的爬虫知识,去年我已经写过50多篇,这里就不赘叙,翻翻历史文章即可),获取相关信息,相关核心代码如下所示:

上面的代码主要是构造代理user_agents, headers里面的参数,把网页的爬取请求伪装成浏览器的请求。


用requests发送网络请求,然后获取comments的数据,然后进行存储到csv文件中去。CSV的读写存储技巧可以看这篇(近20年五粮液股价分析|CSV文件实战处理)


经过上面一顿猛如虎的操作,下面小编先带大家看看爬的的原始数据,主要包含了发表者的城市,评论内容,性别,用户,等级以及好评度等信息。



03 

数据分析

有了原始数据,剩下的就是对数据的清洗分析了,这里选用pyecharts库进行数据分析,因为这个使用起来非常方便,而且效果也不错。

1).整体分析

豆瓣上给这部电影的打分只有4.9,不知道为啥大家的评分这么低。我们先查看一下大家对花木兰电影的总体评分吧。

用pyecharts的Bar来直观的看一下效果:

02).好评和差评

接着我们看一下花木兰的好评和差评的对比情况:

对df的数据进行处理,提取出好评和差评的关键字进行统计分析,然后进行可视化的展示。

由图表可以看出,大家对花木兰的评价分布还是比较均衡的,也有一点两极分化的趋势,给予高分和低分的的人都比较多。小编也电影院看了一下认为两级分化是有原因的:

  • 其迪斯尼的制作特效,以及刘亦菲的超高人气,为其吸引了大量人气,带来了一波好评;

  • 但对于熟知中国古典故事花木兰剧情的人来说,其剧情的设计是让人很难接受的,也就导致了国人的诸多差评。


2)词云分析

基于评价两级分化的现象,小编决定探究一下两级分化的原因究竟是什么,这里小编对整体评价、好评、坏评的词云分别进行绘制,绘制得到的结果如下图所示。

我们用jieba库对整个的评论进行关键字分析,看一下大家的花木兰的点评到底是啥,我们统计出点评最多的100个关键字。

由整体评价词云可以看出,整体的评价还是偏向好的一方面,大大的 “好看” 两字写在了词云中央;在差评词云中, “剧情”、“中国” 等词汇出现频率很高,表明差评的人主观感受是对剧情的不满意,其不符合中国历史故事,这一点是国人对这部电影的认可度不高的关键因素。


3)地域分析

最后小编带大家看看影评者的分布情况,大家可以找一找自己所在的城市是否也为这部票房做贡献了。


我们把上面采集到的数据集里面的每个评论的城市纬度拿出来,取前50个城市的名字,然后利用Pyecharts里面的geo库进行可视化展示。


由分布图可以看出,一线发达城市观影人数是最多的,北上广深显得尤为突出,可见一线城市人民的消费力卓越;从东西分布和南北分布来看,非常符合我国东强西弱,南强北弱的经济结构。




以上就是小编为大家带来的《花木兰》的电影分析,通过分析,我们发现其制作效果虽然可观,但是剧情方面难以让国人普遍接受。欢迎大家在留言区点评,给个三连!说说你对花木兰的看法是啥?


限于篇幅上面的源码没有展开解读,我们会在B站录制视频详细解读源码的细节和注意点,到时把源码和数据都给大家,大家记得来B站找我们。

https://space.bilibili.com/488689252



由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:


(1)点击页面最上方“小詹学Python”,进入公众号主页。


(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。


感谢支持,比心。

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报