Bootstrap

Python_哔哩哔哩弹幕可视化

目录

B站弹幕API接口

源码如下

运行效果如图

讲解视频:哔哩哔哩可视化弹幕


B站弹幕API接口

B站弹幕API接口为:https://api.bilibili.com/x/v1/dm/list.so?oid=XX

输入B站视频oid号,就可以看到相应视频上的弹幕。如下图所示

 有了B站弹幕API接口,只需要通过解析数据,提取弹幕文字。

  

源码如下:

import requests
import re
import jieba # 精确词语
import wordcloud # 生成词云
import imageio # 可视化图形

# 加载可视化图形,传入词云
mask = imageio.imread('./img.png')

def get_danmu(url):
    response = requests.get(url=url)
    response.encoding = 'utf-8' # 防止乱码
    # 1.解析数据
    pattern = re.compile('<d.*?>(.*?)</d>') # 正则匹配字符串模式
    data = pattern.findall(response.text) # 提取数据
    # 2.精确词语
    word = jieba.lcut(' '.join(data)) # 将数据精确成词语
    str = ' '.join(word) # 再将词语转换成字符串,为后续词云作准备
    # 3.生成词云
    cloud = wordcloud.WordCloud(font_path='msyh.ttc',width=800,height=400,background_color='white',mask=mask) # 初始化
    cloud.generate(str) # 生成词云
    cloud.to_file('danmu.png') # 保存图片

if __name__ == '__main__':
    oid = input('请输入视频oid:')
    url = 'https://api.bilibili.com/x/v1/dm/list.so?oid={0}'.format(oid)
    get_danmu(url)

 

运行效果如图:

 

 

 

讲解视频:哔哩哔哩可视化弹幕

;