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利用flask sqlalchemy实现分页效果
Aug 02 Python
Python星号*与**用法分析
Feb 02 Python
python实现简单神经网络算法
Mar 10 Python
python实现归并排序算法
Nov 22 Python
python导入模块交叉引用的方法
Jan 19 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
解决python运行效率不高的问题
Jul 20 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
Dec 01 Python
python基于openpyxl生成excel文件
Dec 23 Python
python 如何获取页面所有a标签下href的值
May 06 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封装的mysqli类完整实例
2016/10/18 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
asm.js使用示例代码
2013/11/28 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python入门必须知道的11个知识点
2018/03/21 Python
python线程池threadpool使用篇
2018/04/27 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
我为自己代言广告词
2014/03/18 职场文书
青年标兵事迹材料
2014/08/16 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android