我用python爬取了10万弹幕,发现了热播综艺《披荆斩棘的哥哥》的秘密

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战

大家好,我是才哥。

其实吧,上周四(8月12日)芒果台《披荆斩棘的哥哥》第1期一经播出,就炸裂来袭,情怀牌、不油腻、有质感,让它上线就获得了大量关注!

将古惑仔、摇滚乐手、rapper、舞者、歌手、功夫演员等等放在同一档综艺节目里,又会产生什么样的化学反应呢?

今天,我们就看看第1期里10万弹幕大军们怎么说吧!

1. 数据预览

本次采集的是芒果TV第1期上中下三集一共97,331条弹幕,具体采集过程见文末代码(比较简单哈)。

import pandas as pd

df = pd.read_excel('披荆斩棘的哥哥.xlsx')
# 数据字段信息
df.info()
复制代码
<class 'pandas.core.frame.DataFrame'>
Int64Index: 97331 entries, 4 to 33794
Data columns (total 7 columns):
 #   Column       Non-Null Count  Dtype 
---  ------       --------------  ----- 
 0   ids          97331 non-null  string
 1   uid          97331 non-null  Int64 
 2   content      97331 non-null  string
 3   time         97331 non-null  Int64 
 4   v2_up_count  97331 non-null  Int64 
 5   时间           97331 non-null  Int64 
 6   上中下          97331 non-null  string
dtypes: Int64(4), string(3)
memory usage: 6.3 MB
复制代码

在数据中,各字段含义如下:

ids: 弹幕id

uid: 用户id

content:弹幕内容

time:弹幕发送时间(相对于本集开始后的毫秒)

v2_up_count:弹幕点赞数

时间:弹幕发送时间(分钟)

上中下:归属第1期的上中下三部分之一

# 数据预览
df.sort_values(by=['上中下','time'], inplace=True) # 按照上中下集和time排序
df.head()
复制代码

数据预览

(
    df.groupby('上中下').agg(弹幕数=('ids', 'count'),
                        时长=('时间', 'max')
                        ).reset_index().style
    .bar(subset='弹幕数', align='zero')
    .bar(subset='时长', color='orange', align='zero')
)
复制代码

基本上第1期的每集弹幕都是拉满状态(1分钟360条)

2. 弹幕整体词云

这里用的是此前的词云制作工具《》进行绘制

弹幕整体词云

从整体词云,我们可以发现观众老爷们基本都是在哈哈哈的笑声啊啊啊的赞叹声中看完的。

不得不说,这个综艺很快乐

某个朋友观后感

我们去掉这些拟声词以及一些溢美之词,再看看,可以发现大湾区(主要是指陈小春、谢天华、林晓峰、张智霖、梁汉文古惑仔组合)、赵文卓李承铉欧阳靖张云龙等嘉宾们最受弹幕用户喜爱!

3. 点赞最多的弹幕

点赞前10的弹幕都集中在第1期的集部分,且绝大部分(前4条都是)集中在赵文卓出场表演的那段,把《流星雨》唱成流星锤,哈哈哈!

(
    df.sort_values(by='v2_up_count', ascending=False).head(10).style
    .hide_index()
    .hide_columns(['ids','uid','time'])
)
复制代码

点赞最多的弹幕

赵文卓唱成流星锤

点赞第三的“陈小春:女儿真好”是在介绍赵文卓时的朋友送祝福阶段赵文卓的儿子女儿的祝福时镜头给到的陈小春,然后有网友给出的经典弹幕,很温馨有没有!

终于知道戚薇的快乐了”这条高赞弹幕一定是一个女性网友想出来了,出自39分钟区间李承铉演唱《天上飞》时,帅炸全场!

4. 最疯狂的弹幕狂魔

看到弹幕里有不少二刷、三刷的多刷观众,有多少观众是弹幕狂魔,我们来探一探!

df.groupby('uid')['ids'].count().sort_values(ascending=False).to_frame('弹幕数').reset_index().head()
复制代码

疯狂的弹幕狂魔

我们可以看到,有网友居然在4个半小时的第1期里一共打出了176条弹幕,平均0.65条弹幕/分钟,毫无疑问的弹幕狂魔!

抽样20条该网友的弹幕内容,我们发现他是真的爱这个节目,而不是只为某个哥哥而来!

(
    df[df['uid']==3752327606].sample(18).style
    .hide_index()
    .hide_columns(subset='ids')
)
复制代码

为节目而来

5. 弹幕最热的哥哥们

那么第1期三集33位哥哥们共4个半小时的表演,最受弹幕欢迎的是哪几位哥哥呢?

从弹幕整体词云可看到关键词最多的是大湾区(主要是指陈小春、谢天华、林晓峰、张智霖、梁汉文古惑仔组合)、赵文卓李承铉欧阳靖张云龙

大湾区的哥哥们

df[df['content'].astype('str').str.contains('大湾区|小春|春哥|谢天华|林晓峰|张智霖|梁汉文')]
复制代码

大湾区的哥哥们

赵文卓

df[df['content'].astype('str').str.contains('赵文卓|卓哥|文卓')]
复制代码

哈哈哈笑死大威天龙

赵文卓

李承铉

那个,戚薇的快乐李承铉,直呼太帅了

df[df['content'].astype('str').str.contains('李承铉|戚薇')]
复制代码

李承铉

欧阳靖

说唱歌手欧阳靖

df[df['content'].astype('str').str.contains('欧阳靖')]
复制代码

欧阳靖

张云龙

言承旭张云龙“乘龙快旭”好甜,张云龙第一次看见言承旭,激动地上前直接握住对方的手然后脱口而出:“我以前模仿过你!”

df[df['content'].astype('str').str.contains('张云龙|云龙')]
复制代码

张云龙

关于更多弹幕数据或哥哥们的弹幕,大家可以后台回复955在芒果TV文件夹获取,然后就自己玩玩呗~!

6. 弹幕如何评价这一次的芒果台?

看到很多弹幕都在这次的芒果台

df[df['content'].astype('str').str.contains('芒果')]
复制代码

7. 弹幕数据采集程序

贴源码咯

import requests
import pandas as pd

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36",
    }

datas = []
# 每集90多分钟,所以100够了!
for i in range(100):
    print(f'\r{i}',end='')
    # 注意观察每集弹幕接口地址规律
    url = f'https://bullet-ali.hitv.com/bullet/2021/08/17/192249/13137070/{i}.json'
    
    r = requests.get(url, headers=headers)
    
    if r.status_code == 200:
        data = r.json()    
        data = data['data']['items']
        datas.extend(data)
    else:
        break

df = pd.DataFrame(datas)

df = df[['ids','uid','content','time','v2_up_count']].fillna(0)

df['时间'] = df.time//60000
复制代码

以上就是本次全部内容,这个综艺吧还是值的一看的,真的很回忆杀

猜你喜欢

转载自juejin.im/post/6997990440003698724