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 相关文章推荐
删除目录下相同文件的python代码(逐级优化)
May 25 Python
Python collections模块实例讲解
Apr 07 Python
浅谈Python 的枚举 Enum
Jun 12 Python
python 将字符串转换成字典dict的各种方式总结
Mar 23 Python
python处理csv中的空值方法
Jun 22 Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
python3实现单目标粒子群算法
Nov 14 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
Python使用pdb调试代码的技巧
May 03 Python
详解Django中的FBV和CBV对比分析
Mar 01 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
基于MySQL分区性能的详细介绍
2013/05/02 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
JS实现多选框的操作
2020/06/24 Javascript
python缩进区别分析
2014/02/15 Python
手把手教你python实现SVM算法
2017/12/27 Python
python模拟事件触发机制详解
2018/01/19 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
2020/08/07 Python
python 实现Harris角点检测算法
2020/12/11 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
《都江堰》教学反思
2014/02/07 职场文书
企业年会主持词
2014/03/27 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript