有两个弹幕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)->int:#获取cid,输入视频av号num=re.search(r'\d+',av_num).group(0)url='https://api.bilibili.com/x/player/pagelist?aid={}&jsonp=jsonp'.format(num)#获取cid的apijs=requests.get(url).content.decode('utf8')js_format=json.loads(js)#转换为json格式return js_format['data'][0]['cid']#返回cid
def get_dm(oid):#获取弹幕,输入cidurl='https://api.bilibili.com/x/v1/dm/list.so?oid={}'.format(oid)#弹幕apidm=requests.get(url).content.decode('utf8')#编码,防止中文乱码soup = BeautifulSoup(dm)#美化下输出格式return soup.find_all('d')#只返回d标签,即弹幕
def run():av_num=input('请输入视频的AV号:')cid=get_oid(av_num)dm=get_dm(cid)print(dm)#此处偷懒点,直接打印了,当然也可以直接保存为xml文件

通过弹幕查询用户
参照xml文件各种字符的含义,通过参数7反查即可:

http://biliquery.typcn.com/api/user/hash/[用户Hash]

返回json,id后面就是用户的uid了

直接上python程序:

def find_users(usr_cid:str)->int:url='https://biliquery.typcn.com/api/user/hash/{}'.format(usr_cid)#反查,获得jsonjs=json.loads(requests.get(url).text)if len(js['data'])==1:#如果有两个id,选择后面的idposi=0else: posi=1usr_id=str(js['data'][posi]['id'])获得uidspace='https://space.bilibili.com/{}'.format(usr_id)return space#返回用户的个人主页网址

这边直接返回了用户主页的链接,也可以使用用户数据的api来获得用户数据

api:https://api.bilibili.com/x/space/acc/info?mid=【uid】&jsonp=jsonp

【uid】为用户的uid,返回json,里面有等级、姓名,是否大会员等许多用户信息

转换弹幕格式
送上一个网站:https://tiansh.github.io/us-danmaku/bilibili/

以及教程:https://www.bilibili.com/read/cv1022304/

转换成ass字幕后就可以离线播放有弹幕的视频了

unix时间戳转换
参数5,请直接百度转换,python代码:

def get_time(unix_time:int)->str:#输入unix时间戳time=datetime.datetime.fromtimestamp(unix_time)return time.strftime("%Y-%m-%d %H:%M:%S")#返回时间

哔哩哔哩弹幕api及一些解释相关推荐

  1. 哔哩哔哩弹幕api查找

    哔哩哔哩弹幕api查找 以那年那兔那些事为例: 由于B站弹幕库一次只能显示一千条,要进行舆论分析要进行所有的弹幕分析,所以先找一找有没有可以利用的api 打开网页F12打开开发者模式点到network ...

  2. 菜鸟弟弟从零开始的爬取Bilibili弹幕的Python爬虫教程-哔哩哔哩 - ( ゜- ゜)つロ 干杯~

    从零开始的爬取Bilibili弹幕的Python爬虫教程 或许可以作为一个爬虫小白的练手的demo? 还是先看看什么是爬虫吧!(还有Bilibili! ) 网络爬虫: 网络爬虫(又称为网页蜘蛛,网络机 ...

  3. python爬取哔哩哔哩网站数据以及弹幕

    首先要爬取哔哩哔哩网站的数据 , 第一步就是要分析网页,找到网上ajax异步加载的数据 即json文件,找到后还要对其爬去,这里我选正则表达式爬去网页,其次是 对爬取的数据进行清洗,防止脏数据对生成的 ...

  4. 【Python】通过哔哩哔哩弹幕获取发送者id

    哔哩哔哩弹幕逆向 用途 查找bilibili.com中弹幕的发送者 如何使用 终端中输入: python bili_reverse.py 然后会提示让你输入BV号,你输入弹幕所在的BV号,开头带不带B ...

  5. 爬虫之哔哩哔哩弹幕的获取

    突然想爬一下哔哩哔哩的弹幕,视频不重要,弹幕才是本体,从弹幕的内容里还可以看出来大众的态度和情绪,是一个很好的舆论分析的工具. 分析一下接口, 是一个以list开头的xhr文件 import time ...

  6. Python_哔哩哔哩弹幕可视化

    目录 B站弹幕API接口 源码如下 运行效果如图 讲解视频:哔哩哔哩可视化弹幕 B站弹幕API接口 B站弹幕API接口为:https://api.bilibili.com/x/v1/dm/list.s ...

  7. 哔哩哔哩弹幕处理+情感倾向分析

    1.首先获取某一视频的弹幕 用此方法获取B站视频的XML弹幕 2.弹幕解析部分 将xml弹幕解析,并写入csv文件 代码部分: import xml.etree.ElementTree as ET i ...

  8. flv.js仿B站弹幕html,利用jQuery实现仿哔哩哔哩视频弹幕代码

    特效描述:利用jQuery实现 仿哔哩哔哩 视频弹幕代码.利用jQuery实现仿哔哩哔哩视频弹幕代码 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 24 人正在观看,100条弹幕 时 ...

  9. 哔哩哔哩弹幕爬取以及BV与AV号之间的转换

    作为b站老粉丝,我有义务向新人科普bilibili的发展与纪年史,本人持中立态度,仅做记录工作. B站的API端口都是开放的,用一个很简单的调用命令就可以计算出BV号对应的AV号. B站的源码已经在G ...

最新文章

  1. 超经典的存储过程分页 ;-) 引自CSDN网友所作
  2. Linux操作系统中内存buffer和cache的区别--从free命令说起(转)
  3. Productivity Power Tools,对于Visual Studio 2017的15个扩展
  4. 前端学习(2354):image组件的基本使用
  5. R语言编程基础(2)
  6. Zend AMF 相关文章
  7. 数字电路与系统-知识点2
  8. Swift观察者模式
  9. 汽车自动驾驶是人工智能吗,自动驾驶是人工智能
  10. 最新全国省市区县乡镇街道行政区划数据提取(2022年)
  11. pci转并口卡的安装使用
  12. uniapp实现退出登录
  13. 有哪些有关java类最新发表的毕业论文呢?
  14. Spring Boot基础学习08 - Spring Boot整合Redis
  15. 小白怎样使用EXCEL导入MATLAB画出图像
  16. 小白要努力之为了蓝桥杯刷题!!!超简单哦!!!
  17. 2018AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions
  18. 【python】Algorithm
  19. A7.2022年全国数学建模竞赛A题-波浪能最大输出功率设计-赛题分析与讨论
  20. 北大核心,sci和核心期刊,文章几区,文章下载

热门文章

  1. 双十一来袭,想要掌控售卖数据,为何不试试智慧商场可视化系统?
  2. Vue2项目循环下载视频方法,亲测有效
  3. IT大学生如何提升职业竞争力
  4. iOS 直播类APP开发流程解析
  5. 答题系统制作html,答题系统.html
  6. Docker Overlayfs文件系统联合挂载原理
  7. CASIA-WebFace数据集清洗
  8. 基于Selenium+Python的web自动化测试框架
  9. 分页的自由点击和一整页的翻越
  10. 计算机组成结构实验箱,计算机组成原理实验仪|数字电路实验箱|PLC可编程实验箱-上海育源教学设备...