Python爬取猫眼电影《飞驰人生》47858万条评论并对其进行数据分析

前言


文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: Yura不说数据说 ,PYuraL

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


数据爬取


其实我一开始是想用豆瓣网的评论的,但是我翻了翻吧,发现“最热评论”只能看到500条,“最新评论”只能显示100条,拿600条数据能分析出个啥?

在这里插入图片描述

百度了一下,看大家都是用猫眼评论,于是就……爬猫眼!网页版的猫眼只能显示有限的评论,切换到APP版本才能看到所有评论。

在这里插入图片描述

找network里面的网页也不难,随便拿一条评论搜索一下就可以找到👇

在这里插入图片描述

在这里插入图片描述

关键是找到不同网页之间的变化规律

在这里插入图片描述

有些网址,表面看上去,区别就是在于offset(偏移量),但是实际上更改这个数值到1005的时候就爬不到东西了(可能是由于网页内部的设置吧),就是说这么下去我们只能得到1000条评论。

那是哪1000条评论呢?我们看到网址中有个关键词“ts=1549640420581”,其实就是当前时间的意思(时间戳),转化一下就是:

在这里插入图片描述

所以1000条就是从这个时间点,往前偏移15条后,最新的1000条评论。

通过百度各位大神的爬虫过程,我发现终极解决方法就是更改ts的值!如果说偏移量15的意思是从这个查询的时间往前偏移15条再取得15条评论数据(limit=15),那么我们每次更改ts值不就可以了。

第一个ts值是程序开始运行的时间,第二个值就从已经获取的评论数据中拿到最早的那个数据,以此不断往前翻滚……

我爬取了2月8日24点之前的所有评论信息,按App显示此时至少有80000+条数据,但是我爬下来总共只有4w+条…数据缺失还是比较严重的。

在这里插入图片描述

数据格式如下(包括用户id、用户昵称、用户猫眼等级、性别、时间、评分、评论内容、点赞数和评论数):

在这里插入图片描述

在这里插入图片描述

这些都是在json里面,格式非常清晰明了。

在这里插入图片描述

数据清洗


拿到数据除了做词云用了Python(代码在最后),其他的内容Excel分分钟解决,这里尤其感谢发明“数据透视表”的兄弟。

数据分析


1.观众信息

在这里插入图片描述

男女比例各占一半,男的对赛车这类刺激性东西感兴趣可以理解,这女观众都是为了啥?为了黄景瑜小哥哥的脸?还是像我一样冲着阿信来的?这里信息太少,我只做少量胡思乱猜。

在这里插入图片描述

用户等级又是类似于正态分布的形状,巧的嘞……其中0分和1分的用户(可以认定为新注册用户)仅占9.78%,可以看出评分的人中水军是很少的,基本都是猫眼老用户。

再看看4天用户评价数量的变化:

在这里插入图片描述

基本可得这部电影热度呈现缓慢下降的趋势(但是由于数据的不完整性,不能绝对说明)

那用户都喜欢在什么时间评论呢?对比看四天的评论hour数据:

在这里插入图片描述

如果大家习惯看完电影马上评价的话,那么从评论趋势来看,从中午12点之后评论数逐渐增加,推测是由于早上10点左右那场电影的结束。随后评论数不断增加,在晚饭前的5、6点和睡觉前的23点左右达到小高峰。

嗯,非常符合大家“醒了看电影,看完吃饭,吃了再看,看了再睡‘的“节假日生活作息”。

2.评分情况

在这里插入图片描述

按照我爬取的数据我们看到超过一半(52.37%)的观众给这部电影打了满分10分,极少量用户评分在6分以下(仅占7.58%)。根据我爬取的数据,计算所得平均分是8.725,和实时显示的分数8.8相差不大。

在这里插入图片描述

除了从宏观角度看评分,我们来瞧瞧评论者性别和评论时间与最终评分有什么不能说的秘密?

在这里插入图片描述

性别的不同并没有造成评分很大的区别,男观众和女观众的评分平均分仅仅相差0.35分,“未知性别”人群的评分在两者之间,基本等于男性评分8.53和女性评分8.88的的平均值(8.71)。嗯,我很有理由怀疑“未知人群”中男女比例也各占一半!

在这里插入图片描述

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

不知道该从何学起的朋友,同时减轻大家的负担。**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-pClYAg32-1711066029685)]

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值