一、爬取B站视频弹幕

爬取B站视频弹幕,首先需要获取视频弹幕的接口地址,这个接口地址是B站提供的,可以通过视频的av号来获取,比如:https://api.bilibili.com/x/v1/dm/list.so?oid=av号,接口会返回视频的弹幕数据,其中包含弹幕的内容,时间等信息,可以使用Python的requests库来获取接口数据,代码如下:

import requests

url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=av号'

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

response = requests.get(url, headers=headers)

danmu_data = response.json()

这样就可以获取到视频弹幕的数据,接下来就可以根据自己的需求对数据进行处理,比如获取弹幕内容,按照时间排序等。

二、做成词云图

将获取到的弹幕内容处理完之后,就可以使用Python的wordcloud库来做成词云图,wordcloud库可以根据文本内容自动生成词云图,使用起来非常简单,只需要将文本内容传入即可,代码如下:

import wordcloud

# 将文本内容传入
wc = wordcloud.WordCloud(
    background_color='white',
    font_path='simhei.ttf',
    max_words=200,
    width=1920,
    height=1080
)

wc.generate_from_text(text)

# 保存图片
wc.to_file('danmu.png')

三、最终效果

将以上步骤完成之后,就可以得到最终的词云图,如下图所示:

B站视频弹幕词云图