《大秦赋》很火?,咱用Python扒拉一下它

猿友 2020-12-26 16:14:59 浏览数 (3150)
反馈

大家好呀,我是你们亲爱的 w3cschool 小编。

最近,最火的电视剧莫过于《大秦赋》了,小编也是一直在追,12 月 1 号开播,那口碑杠杠的。可三集过后,小编那是直呼好家伙啊,我****。相信看过小伙伴们和我是一样的,直呼好家伙了。该剧在豆瓣上的评分也由最初的 8.9 分,降到了现今的 6.0 分,可谓是高走低开,观者全程**。

图片4

于是乎小编忍不住的用 Python 爬取了豆瓣上《大秦赋》的评论相关数据,进行了一波分析,也给大家分享一下思路。

一、数据爬取

既然要做分析,那肯定得先搞到数据。小编选择的是豆瓣网下手,原因嘛,很简单,它家数据全呐,反扒难度还不大。我们主要要获取的信息为评论的星级以及评论时间,顺带将评论者及评语咱也一起扒拉下来。

图片1

技术方面,小编用的是requests、bs4、pandas、time、matplotlib五个库,工具为Pychram和Anaconda jupyter nootbook。

开始编写前我们先来看下网站页面url变化规律:

https://movie.douban.com/subject/26413293/comments?status=P

https://movie.douban.com/subject/26413293/comments?start=20&limit=20&status=P&sort=new_score

https://movie.douban.com/subject/26413293/comments?start=40&limit=20&status=P&sort=new_score

小伙伴们看出来了么,不难发现页面变换中仅有 start 是不一样的,所以在后续翻页操作中我们只需要修改 start 参数即可,那么小编在这给大家一个问题,首页 url 如何解决呢?

关于反扒:

对于豆瓣的爬取措施,其实找到真实的短评链接,是极其容易的。但是小编建议大家要登录后携带 cookie 信息进行数据的爬取,不然豆瓣会识别你为爬虫封禁你的 ip,至于该放什么小编给大家一个参考:

 headers = {

    "Accept":"application/json, text/plain, */*",

    "Accept-Language":"zh-CN,zh;q=0.9",

    "Connection":"keep-alive",

    "Host":"movie.douban.com",

    "User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',

    "Cookie":'这里是你自己的cookie'

    }

那么 cookie 信息在哪呢,我们打开网页摁下 F12,或者鼠标右键选择检查,点击 NetWork 然后刷新一下界面,找到刷新出来的第一个信息,然后扒拉一下就能找到啦。

图片2

补充一点:小编本打算将《大秦赋》的所有短评都给扒拉下来的,可最终也只爬取到了 500 条,这应该也是豆瓣的反扒措施(有大神的话,可以下去研究一下如何破解,然后告诉小编)。


二、数据处理

1、剔除重复值

采用如下命令查看重复项数量:

np.sum(df.duplicated()) #计算重复数量

采用如下命令删除所有变量都重复的行:

df.drop_duplicates(keep = False) #删除所有变量都重复的行

结果如下:

图片3

可以看出,得到的结果还是很漂亮的。


三、可视化分析

俗话说:“字不如表,表不如图”。我们所爬取到的数据,最终还是要有一个可视化的效果呈现,才能够让我们分析出数据背后所存在的规律,让我们有一个清晰的认识。下面小编从以下几个方面来对我们所获取到的数据进行数据可视化分析。

1、评论数随时间的变化趋势

54af61727d2b1f748089aacd96c24132


从图中我们不难看出:短评数量在 12 月 4 日之前,一直处于上升趋势,在 12 月 4 日达到顶峰。和小编的观看情感变化是如出一辙,从期待到失望。


2、星级评分的饼图

692d60782b708547afa47c3968c3f6da

从图中可以看出:大家对于该剧的评价还是很低的,1 星和 2 星基本占据了整个饼图,也就是说该剧并没有得到大家的认可。好了不多说了小编就是那个一星贡献者。

推荐好课:

Python 数据分析入门案例讲解


0 人点赞