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

本文不涉及剧透!请放心食用

最近又火了一步国产剧:《隐秘的角落》

如果你没看过,那可能会对朋友圈里大家说的“一起去爬山”、“小白船”、“还有机会吗”感到莫名其妙。

小五在这个端午假期也赶紧刷完了本剧,必须要写篇文章了,

由于《隐秘的角落》是在爱奇艺独播,所以数据从爱奇艺下手最直接。

如果没爬过爱奇艺,可以考虑使用豆瓣、微博、知乎(电视剧数据分析 · 万能三件套)的数据。

爬虫

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

爱奇艺的弹幕数据是以 .z 形式的压缩文件存在的,先获取 tvid 列表,再根据 tvid 获取弹幕的压缩文件,最后对其进行解压及存储,大概就是这样一个过程。

这里参考了“数据兔小白的代码,我又修改后实现分集爬取所有弹幕。

def get_data(tv_name,tv_id):url = 'https://cmts.iqiyi.com/bullet/{}/{}/{}_300_{}.z'datas = pd.DataFrame(columns=['uid','contentsId','contents','likeCount'])for i in range(1,20):myUrl = url.format(tv_id[-4:-2],tv_id[-2:],tv_id,i)print(myUrl)res = requests.get(myUrl)if res.status_code == 200:btArr = bytearray(res.content)xml=zlib.decompress(btArr).decode('utf-8')bs = BeautifulSoup(xml,"xml")data = pd.DataFrame(columns=['uid','contentsId','contents','likeCount'])data['uid'] = [i.text for i in bs.findAll('uid')]data['contentsId'] = [i.text for i in bs.findAll('contentId')]data['contents'] = [i.text for i in bs.findAll('content')]data['likeCount'] = [i.text for i in bs.findAll('likeCount')]else:breakdatas = pd.concat([datas,data],ignore_index = True)datas['tv_name']= str(tv_name)return datas

注:避免引起不必要的麻烦,本爬虫仅指出关键步骤,不再公开提供。

共爬取得到201865 条《隐秘的角落》弹幕数据。

弹幕发射器

按照用户id分组并对弹幕id计数,可以得到每位用户的累计发送弹幕数。

#累计发送弹幕数的用户
danmu_counts = df.groupby('uid')['contentsId'].count().sort_values(ascending = False).reset_index()
danmu_counts.columns = ['用户id','累计发送弹幕数']
danmu_counts.head()


第一名竟然发送了2561条弹幕,这只是一部12集的网剧啊。

难道他/她是水军?每条都发的差不多?

df_top1 = df[df['uid'] == 1810351987].sort_values(by="likeCount",ascending = False).reset_index()
df_top1.head(10)

然而并不是,每一条弹幕都是这位观众的有感而发,可能他/她只是在发弹幕的同时顺便看看剧吧。

data_top1 = df_top1.groupby('tv_name')['contentsId'].count()from pyecharts.charts import Bar
from pyecharts import options as opts bar0 = Bar(init_opts=opts.InitOpts(width='960px', height='500px'))
bar0.add_xaxis(data_top1.index.tolist())
bar0.add_yaxis("",data_top1.values.tolist())
bar0.set_global_opts(title_opts=opts.TitleOpts(title='弹幕发射器'))
bar0.set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(y=213.4, name="yAxis=213.4")]))
bar0.render_notebook()

这位“弹幕发射器”朋友,在每一集的弹幕量又是如何呢?

是不是通过上图可以侧面说明个别剧集的戏剧冲突更大,更能引发观众吐槽呢?

“弹幕发射器”同志,11、12集请加大输出!

这些弹幕大家都认同

抛开“弹幕发射器”同志,我们继续探究一下分集的弹幕。

哪些弹幕大家都很认同(赞)?

df_like = df[df.groupby(['tv_name'])['likeCount'].rank(method="first", ascending=False)==1].reset_index()[['tv_name','contents','likeCount']]
df_like.columns = ['剧集','弹幕','赞']
df_like

每一集的最佳弹幕都是当集剧情的浓缩,这些就是观众们票选出来的梗(吐槽)啊!

应该不算剧透吧,不算吧,不算吧(狗头)

实在不行我请你去爬山吧。

朝阳东升

除了剧本、音乐等,“老戏骨”和“小演员”们的演技也获得了网友的一致好评。

这部剧虽然短短12集,但故事线不仅仅在一两个人身上。

每个人都有自己背后的故事,又因为种种巧合串联在一起,引发观众的持续性讨论。

我们统计一下演员们在弹幕中的出现次数,看看剧中的哪些角色大家提及最多。

a = {'张东升':'东升|秦昊|张老师', '朱朝阳':'朝阳', '严良':'严良', '普普':'普普', '朱永平':'朱永平', '周春红':'春红|大娘子', '王瑶':'王瑶', '徐静':'徐静|黄米依', '陈冠声':'王景春|老陈|陈冠声', '叶军':'叶军|皮卡皮卡', '马主任':'主任|老马', '朱晶晶':'晶晶','叶驰敏':'叶驰敏'}
for key, value in a.items():df[key] = df['contents'].str.contains(value)
staff_count = pd.Series({key: df.loc[df[key], 'contentsId'].count() for key in a.keys()}).sort_values()

先计算出现次数,再利用pyecharts制作极坐标图。

比较让我疑惑的三个小孩当中的朱朝阳提及量这么低,按理说应该与其其他两位大体相当啊。

又去源数据看了一遍,提及朱朝阳(朝阳)的弹幕确实很少,因为大部分在弹幕中观众一般就叫他“学霸”、“儿子”之类的了。

词云

总所周知,一篇数分文章不能少了词云。

每篇的词云都尽量跟上篇文章不同,这次我采用的是stylecloud,它算是wordcloud词云包的升级版,看起来美观多了。

import stylecloud
from IPython.display import Image stylecloud.gen_stylecloud(text=' '.join(text1), collocations=False,font_path=r'‪C:\Windows\Fonts\msyh.ttc',icon_name='fas fa-play-circle',size=400,output_name='隐秘的角落-词云.png')
Image(filename='隐秘的角落-词云.png')

除了主角的名字以外,在这部以“孩子”为主题的剧中,对孩子的思想、行为的探讨占据重要部分,另外,剧中从年长的戏骨到年幼的孩子,每一个人都贡献了高光的演技,对他们演技的称赞也成为高频词汇。

而最出圈的“爬山”梗,更是被频频提及。

从《无证之罪》到《隐秘的角落》,都在证明悬疑犯罪题材在当下并非没有市场,要收获高人气高口碑,如何传播与营销终归只是手段,越来越多的团队沉下心来打磨精品剧集,观众才会愿意为剧买单,让“爬山”这样的梗一步步“出圈”。

本文相关数据源码,公众号后台回复“爬山”即可获得

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

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

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

  2. python弹幕拼脸_利用python爬取分析《隐秘的角落》20万+条弹幕,发现了这些..

    图片源自网路 要说近期最火的国产剧,非<隐秘的角落>不可.该剧改编自紫金陈的推理小说<坏小孩>,讲述了沿海小城的三个孩子在景区游玩时,无意拍摄记录了一次谋杀,他们的冒险也由此展 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 终于,「最近邻搜索」有通用方法了
  2. 太神奇的 SQL 查询经历,group by 慢查询优化!
  3. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)
  4. limit mysql 性能_MySQL 用 limit 为什么会影响性能?
  5. 提醒ASP.NET的初学者们注意加深以下方面的技术了解
  6. bert简介_BERT简介
  7. 重启打印机服务bat命令
  8. ClickHouse安装与引擎
  9. 【00】伪类选择符-魔芋的理解
  10. [vijos 1770]大内密探
  11. CDN流量是什么,怎么计算?
  12. 公共行政领域的7大数据科学应用场景案例
  13. 视频教程-视频打包为MP4格式并存储到TF卡的实现-第7/11季-嵌入式
  14. app与后台通信完整流程
  15. php投影,ppt投影怎么显示备注
  16. php活体检测,活体检测
  17. 【win10】文件重命名怎么改不了文件格式/改不了后缀/想要更改文件后缀/改变文件类型
  18. codewars题目记录
  19. Intel.VTune.Performance.Analyzer.v8.0.014.ISO下载
  20. Vue3 watch 侦听 props 的变化

热门文章

  1. 中国光刻机获得重大突破,富士康大规模采用国产光刻机
  2. 边缘检测之从Sobel、Canny、DoG到XDoG
  3. From COM to COM 侯捷
  4. 【正点原子FPGA连载】 第一章 MPSoC简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
  5. 如何靠代码发家致富?——10种可以赚钱的途径
  6. 分享面经与面试资料-四面阿里终于如愿拿到P7级offer【Java岗】
  7. 限制Input只能输入汉字、数字
  8. 第 1 天|基于 AI 进行游戏开发:5 天创建一个农场游戏!
  9. PHP7 搭建简易的学生管理系统(四)
  10. 直播软件与微信小程序的测试点