Python分析最近大火的网剧《隐秘的角落》


Posted in Python onJuly 02, 2020

前言

估计最近很火的连续剧《隐秘的角落》大家趁着端午假期都看过了吧?小编也跟着潮流,一口气把12集的连续剧全部看完了。看过的人肯定对朋友圈里有人发的“一起去爬山”、“小白船”、“还有机会吗”的意思心照不宣。没看过的,如果已为人父人母的,强烈要求看一下。

剧很精彩,但追剧界有句俗话说得好:“弹幕往往比剧更精彩”,为了让精彩延续下去,咱们来看看该剧弹幕的部分。电视剧是在爱奇艺独播,因此从爱奇艺上爬虫最为合适。

爬取弹幕

爱奇艺的弹幕数据是以 .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:
   break
  datas = pd.concat([datas,data],ignore_index = True)
 datas[tv_name]= str(tv_name)
 return datas

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

Python分析最近大火的网剧《隐秘的角落》

弹幕发射器

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

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

Python分析最近大火的网剧《隐秘的角落》

累计发送弹幕数用户top5

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

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

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

Python分析最近大火的网剧《隐秘的角落》

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

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

Python分析最近大火的网剧《隐秘的角落》

分集&平均弹幕量

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

“弹幕发射器”同志,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

Python分析最近大火的网剧《隐秘的角落》

每一集中点赞最多的弹幕

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

应该不算剧透吧,不算吧,不算吧

实在不行我请你去爬山也可

Python分析最近大火的网剧《隐秘的角落》

总结

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

这部剧虽然短短12集,但故事线不仅仅在一两个人身上。每个人都有自己背后的故事,又因为种种巧合串联在一起,引发观众的持续性讨论。

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

到此这篇关于Python分析最近大火的网剧《隐秘的角落》的文章就介绍到这了,更多相关python分析隐秘的角落内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python3指定路径寻找符合匹配模式文件
May 22 Python
Python实现SVN的目录周期性备份实例
Jul 17 Python
python编程开发之textwrap文本样式处理技巧
Nov 13 Python
python Pygame的具体使用讲解
Nov 03 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 Python
Python实现的排列组合、破解密码算法示例
Apr 12 Python
浅谈python新式类和旧式类区别
Apr 26 Python
Python模块的定义,模块的导入,__name__用法实例分析
Jan 07 Python
pyCharm 实现关闭代码检查
Jun 09 Python
Python中全局变量和局部变量的理解与区别
Feb 07 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 #Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 #Python
利用scikitlearn画ROC曲线实例
Jul 02 #Python
Python使用文件操作实现一个XX信息管理系统的示例
Jul 02 #Python
keras用auc做metrics以及早停实例
Jul 02 #Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 #Python
Python装饰器结合递归原理解析
Jul 02 #Python
You might like
PHP获取数组的键与值方法小结
2015/06/13 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHP文件与目录操作示例
2016/12/24 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
Python 命令行非阻塞输入的小例子
2013/09/27 Python
Python实现图片转字符画的示例
2017/08/22 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
python实现决策树
2017/12/21 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
python实现LRU热点缓存及原理
2019/10/29 Python
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
会走路的树教学反思
2014/02/20 职场文书
工地安全质量标语
2014/06/07 职场文书
社区党建工作方案
2014/06/10 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
办公室文员岗位职责
2015/02/04 职场文书
教学质量月活动总结
2015/05/11 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle