Python分析最近大火的网剧《隐秘的角落》

作者:松鼠爱吃饼干 时间:2023-07-17 07:09:04 

前言

估计最近很火的连续剧《隐秘的角落》大家趁着端午假期都看过了吧?小编也跟着潮流,一口气把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集,但故事线不仅仅在一两个人身上。每个人都有自己背后的故事,又因为种种巧合串联在一起,引发观众的持续性讨论。

我们统计一下演员们在弹幕中的出现次数,看看剧中的哪些角色大家提及最多

来源:https://www.cnblogs.com/hhh188764/p/13214099.html

标签:python,隐秘的角落,弹幕
0
投稿

猜你喜欢

  • python logging.info在终端没输出的解决

    2022-04-15 20:39:52
  • 基于Go语言实现选择排序算法及优化

    2024-04-26 17:36:34
  • 详解Python在使用JSON时需要注意的编码问题

    2022-08-03 22:06:36
  • JavaScript数学对象Math操作数字的方法

    2024-04-10 10:54:34
  • Python 批量刷博客园访问量脚本过程解析

    2023-11-23 21:30:14
  • 浅谈Python爬取网页的编码处理

    2021-02-03 19:55:56
  • python 子类调用父类的构造函数实例

    2023-05-27 22:33:37
  • python中尾递归用法实例详解

    2023-10-09 06:46:15
  • OpenCV实现图片亮度增强或减弱

    2022-09-16 00:15:04
  • Centos7安装 mysql5.6.29 shell脚本

    2024-01-15 22:17:41
  • 详解SQL游标的用法

    2024-01-18 02:41:30
  • MySQL5.7中 performance和sys schema中的监控参数解释(推荐)

    2024-01-14 04:53:52
  • Python 40行代码实现人脸识别功能

    2022-09-30 09:58:35
  • Python对文件操作知识汇总

    2023-02-26 11:10:59
  • PHP使用观察者模式处理异常信息的方法详解

    2023-10-19 15:53:30
  • Python模块、包(Package)概念与用法分析

    2022-09-02 13:06:22
  • 详解Java正则表达式中Pattern类和Matcher类

    2023-07-11 22:30:22
  • Python的log日志功能及设置方法

    2022-03-28 22:13:32
  • Python使用 Beanstalkd 做异步任务处理的方法

    2021-01-06 18:18:19
  • Rs.Open参数说明

    2008-05-12 22:43:00
  • asp之家 网络编程 m.aspxhome.com