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 time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
Nov 06 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
python三方库之requests的快速上手
Mar 04 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
python实现五子棋人机对战游戏
Mar 25 Python
pygame实现五子棋游戏
Oct 29 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 Python
class类在python中获取金融数据的实例方法
Dec 10 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
CocosCreator ScrollView优化系列之分帧加载
Apr 14 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
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
Python函数中定义参数的四种方式
2014/11/30 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
解读python如何实现决策树算法
2018/10/11 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
怎么写好自荐信
2013/10/30 职场文书
护士进修自我鉴定
2014/02/07 职场文书
医院学雷锋活动策划方案
2014/02/15 职场文书
企业元宵节主持词
2014/03/25 职场文书
银行转正自我鉴定
2014/09/29 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
Python基础之pandas数据合并
2021/04/27 Python
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫