有两个弹幕api接口,分别是移动端与电脑端
https://comment.bilibili.com/ + cid + .xml
https://api.bilibili.com/x/v1/dm/list.so?oid= + cid
以电脑端为例子,使用谷歌浏览器打开某个哔哩哔哩的视频:
右键–检查–network–刷新–一个个找吧,如图,这里已经找到了,点击Headers,就是api了,移动端的请点击左上角的toggle device toolbar,重复上述步骤。
弹幕XML文件中的含义
啧啧,原来阿卡丽那么小?
参数1(157.47900):弹幕出现的时间,以秒数为单位
参数2(1):弹幕的模式,1-3 滚动弹幕,4 底端弹幕,5顶端弹幕,6 逆向弹幕,7 精准定位,8 高级弹幕
参数3(25):字号 (12非常小,16特小,18小,25中,36大,45很大,64特别大)
参数4(16777215):字体的颜色;这串数字是十进制表示;通常软件中使用的是十六进制颜色码;
e.g:
白色
RGB值:(255,255,255)
十进制值:16777215
十六进制值:#FFFFFF
参数5(1548340494):unix时间戳,从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数
参数6(0):弹幕池,0普通池,1字幕池,2特殊池 【目前特殊池为高级弹幕专用】
参数7(389b20da):发送者的ID,用于“屏蔽此弹幕的发送者”功能
参数8(11114024647262210):弹幕在弹幕数据库中rowID 用于“历史弹幕”功能。
获取弹幕
我们可以直接通过上面的方法从网页直接找到xml文件下载,我们也可以使用api接口获取弹幕。
使用api之前需要知道视频的cid,获取cid也需要一个api,一下为python代码
import requests,json,re,time,datetime
from bs4 import BeautifulSoup#这里就直接一次性倒入要用的库了
def get_oid(av_num:str)