作者 | 周志鹏,2年数据分析,深切感受到数据分析的有趣和学习过程中缺少案例的无奈,遂新开公众号「数据不吹牛」,定期更新数据分析相关技巧和有趣案例(含实战数据集)。

来源 | 数据不吹牛(ID:gh_75df2ae0f8ce)

最近《都挺好》真的挺火。

火到什么程度?微博热搜霸榜,办公室评弹声四起,大强轻松攻占表情包,甚至连N年不追剧的瘦宅们也开始沉迷其中,大呼真香。

图片来源《都挺好》官微

剧很精彩,但追剧界有句俗话说的好:“弹幕往往比剧更精彩”,为了让精彩延续下去,我终究没能忍住对(腾讯视频)弹幕下手。

经过一番折腾,发现弹幕是JSON格式动态加载的,而且加载的非常有规律,30秒一发(80-100条),多出的会隐藏。共计爬取了394452条弹幕(雨露均沾,每集平均8575条,每30S的间隔爬取),来挖一挖弹幕这个宝藏。

 1、弹幕基本盘概览

爬到的源数据是酱紫的:

发现有部分用户名是缺失的,由于这部分用户占比很小(仅0.61%),所以我们直接暴力的除去这部分噪声。

清洗之后,还剩下117484个用户发送的392051条弹幕,人均发送弹幕量3.34条。

再看看每个人发送弹幕数是怎么样分布的:

显而易见,大部分用户还是比较佛系的,71607位用户(占比60.95%)在46集中只发送过1条弹幕,他们内心严格遵循“爱就一个字,我只发一次”的弹幕发送准则。

发送条数在3条及以内的用户数占比达到了83.73%,他们累计贡献了133331条弹幕,占到弹幕总数的34.01%,反过来看,剩下16.27%的用户贡献了弹幕量的65.99%。从这个角度来看,二八法则在这里更像是二七法则(20%的用户贡献了70%的内容)。

2、是谁在疯狂发射弹幕,而弹幕又爱上了谁

弹幕发送量TOP10榜单:


我们都知道明成是“行走的造粪机”,那么从弹幕的角度来看,谁是“行走的弹幕发射机”呢?

为此,我们筛选出累计发送弹幕TOP10的用户:

微微一操作(爬取、清洗和分析都使用PYTHON)

danmu_counts = df.groupby('用户名')['评论id'].count().sort_values(ascending= False).reset_index()danmu_counts.columns = ['用户名','累计发送弹幕数']danmu_counts.head(10)br

Emmm,上一步我们知道平均每个人在整部剧会发送3.34条弹幕,而弹幕发送排行榜前十的旁友们发送量都是过千级别的,我们再加上这个用户弹幕发送涉及到的集数,进一步看看平均每集发送弹幕数。为了更直观一些,可视化之:

一位名叫"@L"的用户独占鳌头,是毋庸置疑的C位输出。在46集的电视剧中,他的弹幕血洗了32集,累计发射2773条弹幕,平均每集发送86.66条。

什么概念呢?

一集电视剧时长约42分钟,也就是说,这位大佬在看剧的同时,仍能保持每分钟2.06条的发送频次,还坚持了32集。

到这里大家一定会有质疑,觉得他肯定是刷了大量的“666”、“来了”之类毫无意义的内容来霸榜,所以呢,我把他的输出内容筛了出来并做成词云图:

这,这,这位大佬输出的内容,不仅紧贴剧情,更是文风多变,时而总结内容,时而嬉笑怒骂,时而感慨人生,时而出口成诗,毫不夸张的说比一般弹幕都要有内涵。

我的膝盖,开始不听使唤了......

唯有疾呼“高山(频)仰止,景行行止”。

谁的弹幕最受青睐(点赞数最多):


根据每个用户累计点赞量排序,GET到弹幕点赞TOP10排行榜:

第一名“追剧小奶鹅”平均每集发6条弹幕,每条弹幕竟然能够得到4585个赞!难道这就是传说中的精神领袖吗?难道大佬之外还有大佬吗?

在看剧的时候经常能够被他的弹幕刷屏,而且他的弹幕比其他人停留时间更长,颜色更艳丽。经核实,发现第一名,原来是嫡系:

腾讯视频电视剧弹幕专业陪聊,怪不得这么高的赞。

而第二名,又是我们的大佬“@L”,他凭借高频、稳定、持续输出累计获得21.69万赞,平均每条弹幕获赞78.22个。

大佬,请收下我的膝盖!

3、高赞弹幕有何套路:


A)嫡系部队:

我们单独把腾讯的嫡系部队“追剧小奶鹅”拎出来,是因为他几乎垄断了高赞弹幕TOP300,嫡系光环加持,赞或许有虚高的嫌疑,但不妨碍我们单独分析他内容的套路:

(其实不少小奶鹅的弹幕并没有其他的精彩,但毕竟是亲儿子)他的套路暴力总结起来一句话:对仗工整提大强,感天动地夸明玉。

B)非嫡系部队:

高赞的(非嫡系)朋友们深得演唱会那句带节奏名言“现场的朋友们,举起你们的双手,让我看到你们的热情”的真传。

“觉得XX说的对点下谢谢”、“给XX点赞!”套路是获赞的一大法宝,另一法宝就是推动剧情的内容总结了。

3、弹幕视角主人公情感分析


谁是苏家最受弹幕关注的人儿


要分析谁是苏家最受弹幕关注的人,必须先根据关键词去甄别和定位到剧中角色。

这里列出了关于苏家人的简单词库,用来识别弹幕在议论谁。

54.31%的弹幕没有主观倾向性,没有提及具体的苏家人(可能提及了剧中其他人,这里暂不考虑)。

明玉竟然抢过了大强的宝座,以19.91%的弹幕提及率拔得头筹,而大强则以16.16%的关注度紧随其后。

Emmm,无论是剧外热度还是追剧时弹幕槽点,我都觉得大强应该才是最受关注的啊!

作为一个严谨的追剧人,我开始排查弹幕,发现了很多戏精在发弹幕时都玩起了角色扮演,他们在发弹幕时,总是先在开头署名“苏明玉:”OR其他剧中角色,仿佛在代他们发声。

清洗完这部分调皮的用户之后,排名出现了新的变化:

果然,其他除外,大强以15.16%的关注占比领先其他家人一个身位,明玉又把两个哥哥拉开了一个身位的距离,占比8.82%,明成和明哲关注占比分别是4.84%和4.28%。

PS,明成关注度之所以低,是因为很多弹幕骂人并不会指名道姓:),而明哲嘛,对这个排名表示很失望。

弹幕情感分析


看剧(弹幕)时能够明显感觉到观众对于明成的态度从最开始的“过街老鼠,人人喊打”到后来的“明成懂事了”。

从数据分析的角度讲,明成是否成功洗白?大强最后催泪演绎效果如何?

这里我们调用百度情感分析API,对每一条评价的内容进行情感打分,用情感分值来验证上述问题(分值在0-1之间,越靠近0负面倾向越强,越接近1则情感越情面)。

调用方法很简单(只对内容感兴趣可以直接略过代码):

#先安装aip包from aip import AipNlp#到后台配置权限,获得相关ID和KEY,目前API是免费且不限量的app_id = '输入实际ID'api_key = '输入实际KEY'secret_key = '输入实际SECRET_KEY'client = AipNlp(app_id,api_key,secret_key) #定义函数,以便循环爬取def senti_analy(text):data = client.sentimentClassify(text)sentiment = data['items'][0]['positive_prob']return sentiment for text in df['内容']:try:sentiments.append(senti_analy(text))except:#print(text)sentiments.append('pass') df['情感分值'] = sentimentsbr

打分筛选过后,我们统计出每一集苏家每个人的平均情感分值,并绘制出曲线图(4个人导致折线图可读性较差,所以只有委屈大哥了):

大强开局不错,和明玉持平,但凭借倪老师“作死小能手”的实力诠释,让情感分值迅速走低,11集的低点正式印证了大强的“癫疯之作”,之后分值在0.38左右徘徊。随着“蔡根花宝贝”梗的出现,“嘲讽”替代了指责,让分值略微上浮(情感打分对于高级黑式嘲讽难以准确判断)。最后老年痴呆发病后大强对明玉的爱让分值一举超过0.5,达到历史峰值,成功上岸。

明玉是原生家庭的受害者,也是一个靠自己成功的女强人,前期爱恨分明,情感分值一度飙到0.59(超过其他所有角色),18集开始的买房纷争,网友纷纷表示强烈同情(例:明玉不能像十年前一样别理他们吗?情感分值只有0.041),这让明玉相关的情感分值严重走低,随后弹幕主旋律仍以叫好和同情为主。

明成的情感分值走势更有意思,开局最低,靠欺负妹妹让分值迅速降低,可谓“人人喊打”,后面分值的飙升,一度追上明玉,主要是因为明成期望值已经极低,但是他宠老婆的行为得到观众认可。中期本色挨骂,降至低谷。27集明成情感分值再次超过0.5,竟然是因为明成想吓走大强进行的一系列骚操作(尤其是广场舞)。再后来就是明成幡然悔悟,走上正轨,分值在稳定在0.45左右,也算成功洗白。

看来,开局降期望,中期随便作,后期催泪逆风翻盘,终究还是会被观众接受。

(本文为 Python大本营转载文章,转载请联系原作者)

福利

扫码添加小助手,回复:1,加入Python技术交流群,共享Python学习资料,定时更新。

2019 Python开发者日

敲黑板划重点!7 折优惠最后一天3 月 31 日前可享受优惠价 499,欢迎点击阅读原文报名参加。更多详细信息请咨询13581782348(微信同号)。

你也可以点击阅读原文,查看大会详情。

Python爬取394452条《都挺好》弹幕数据,发现弹幕比剧还精彩?相关推荐

  1. Python 爬取 394452 条《都挺好》弹幕数据,发现弹幕比剧还精彩?

    狂野男孩大强下线的第三天,想他,想他,想他-- 图源<都挺好>官微 作者 | 周志鹏 责编 | 仲培艺 最近<都挺好>真的挺火. 火到什么程度?微博热搜霸榜,办公室评弹声四起, ...

  2. Python 爬取 201865 条《隐秘的角落》弹幕,发现看剧不如爬山?

    作者 | 朱小五 责编 | 屠敏 封图 | CSDN 付费下载自东方 IC 最近又火了一部国产剧:<隐秘的角落>. 如果你没看过,那可能会对朋友圈里大家说的"一起去爬山" ...

  3. Python 爬取 201865 条《隐秘的角落》弹幕数据,发现看剧不如爬山?

    Python 爬取 201865 条<隐秘的角落>弹幕数据,发现看剧不如爬山? 本文不涉及剧透!请放心食用 最近又火了一步国产剧:<隐秘的角落> 如果你没看过,那可能会对朋友圈 ...

  4. Python爬取影评并进行情感分析和数据可视化

    Python爬取影评并进行情感分析和数据可视化 文章目录 Python爬取影评并进行情感分析和数据可视化 一.引言 二.使用requests+BeautifulSoup进行影评的爬取 1.分析界面元素 ...

  5. 利用Python爬取《囧妈》豆瓣短评数据,并进行snownlp情感分析

    利用Python爬取<囧妈>豆瓣短评数据,并进行snownlp情感分析 一.电影评论爬取 今年的贺岁片<囧妈>上映前后,在豆瓣评论上就有不少网友发表了自己的观点,到底是好评的声 ...

  6. 刚刚用python爬取一千个微信朋友圈数据,他们的秘密原来这么多。

    当下我们饮食起居基本上依靠微信,但微信不单单是1个即时通信软件,更像是仿真模拟的日常生活世界.你所处的微信朋友圈是咋样,慢慢地你的思想也会变的咋样.近几日在学习 itchat,并且写了1个网络爬虫,扒 ...

  7. python爬百度翻译-Python爬取百度翻译(利用json提取数据)

    本篇文章给大家带来的内容是关于Python爬取百度翻译(利用json提取数据),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 工具:Python 3.6.5.PyCharm开发工具. ...

  8. 4ye含泪用python爬取了自己的公众号粉丝数据

    4ye含泪用python爬取了自己的公众号粉丝数据 小伙伴们好呀,最近本来是在捣鼓Gateway的知识点的,结果被一件事情搞得心不在焉 哈哈哈哈,结果不得不先鸽下~ 搞完这件事情再继续哦!! ε=ε= ...

  9. Python爬取44130条用户观影数据,分析挖掘用户与电影之间的隐藏信息!

    1.前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 Python免费学习 ...

最新文章

  1. 存在就不插入_DOM 插入节点和三个Child方法
  2. 如何php防止XSS攻击
  3. Java数据结构与算法(第二章数组)
  4. layer的一种用法,自己画出弹出框样式
  5. 根据窗口名获取进程句柄和PID
  6. Java学习:多线程(2)
  7. 卡方 python_Python评分卡建模—卡方分箱
  8. 前端学习(2524):自定义指令(钩子函数)
  9. .java文件_【转】java文件操作大全
  10. LeetCode 709. 转换成小写字母
  11. 实战 | 离线搭建CDH6.20平台 踩坑实录
  12. java客户端查询hive很慢_Hive面试,如何优化查询效率!
  13. OpenCV-Python实战(13)——OpenCV与机器学习的碰撞
  14. 单链表的逆置-C++实现(ok)
  15. 二调建设用地地类代码_二调地类和三调地类的对比
  16. eclipse-登录注册web项目-练
  17. Panel控件的使用
  18. tlwdr5660间歇性掉线_tl-wdr7660无线掉线?tl-wdr7660路由不稳定怎么办?
  19. 华晨宏盛让理财更有实用性的小窍门有哪些?最好的理财方法有哪些
  20. Basic Block

热门文章

  1. git 暂存当前分支修改,切换到别的分支
  2. flutter/dart通过ffi调用rust代码
  3. CARLA 学习笔记1:CARLA简介
  4. 电脑显示U盘,但是读取不了
  5. java画板中画直线_java实现画图板上画一条直线
  6. K-Means算法实现网页聚类
  7. 大数据测试指标(二)
  8. 一维区间上高斯数值积分的MATLAB实现
  9. c语言测试软件的编写,用c语言编写智商测试软件
  10. percona toolkit 简介