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实现中文转换url编码的方法
Jun 14 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
Python神奇的内置函数locals的实例讲解
Feb 22 Python
使用Python实现毫秒级抢单功能
Jun 06 Python
8种用Python实现线性回归的方法对比详解
Jul 10 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
Python利用WMI实现ping命令的例子
Aug 14 Python
解决python3插入mysql时内容带有引号的问题
Mar 02 Python
django序列化时使用外键的真实值操作
Jul 15 Python
Restful_framework视图组件代码实例解析
Nov 17 Python
Python wordcloud库安装方法总结
Dec 31 Python
python 判断文件或文件夹是否存在
Mar 18 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
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
Promise扫盲贴
2019/06/24 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
详解django中使用定时任务的方法
2018/09/27 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
了解一下python内建模块collections
2020/09/07 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
PHP开发的一般流程
2013/08/13 面试题
车间工艺员岗位职责
2013/12/09 职场文书
户籍证明的格式
2014/01/13 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
先进员工事迹材料
2014/12/20 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
律政俏佳人观后感
2015/06/09 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server