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实现获取某天是某个月中的第几周
Feb 11 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
Jul 01 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
详解python的四种内置数据结构
Mar 19 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
解决python脚本中error: unrecognized arguments: True错误
Apr 20 Python
详解Pytorch显存动态分配规律探索
Nov 17 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 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
分享php分页的功能模块
2015/06/16 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
python 中的列表解析和生成表达式
2011/03/10 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python之列表推导式的用法
2019/11/29 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
教导处工作制度
2014/01/18 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
先进党组织事迹材料
2014/12/26 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
关于Python中*args和**kwargs的深入理解
2021/08/07 Python