B站弹幕接口-程序员宅基地

技术标签: 接口  b站  我的B站之旅  api  Python  

一、B站弹幕的api接口

1.'https://comment.bilibili.com/' + cid + '.xml'
2.'https://api.bilibili.com/x/v1/dm/list.so?oid=' + cid
e.g:
cid = 72540443
https://comment.bilibili.com/72540443.xml
https://api.bilibili.com/x/v1/dm/list.so?oid=72540443

经过测试两者的内容一致
参考网址:https://blog.csdn.net/u014788374/article/details/80367285

 

二、B站弹幕XML文件中的参数的含义

<d p="157.47900,1,25,16777215,1548340494,0,389b20da,11114024647262210">啧啧,原来阿卡丽那么小?</d>
参数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 用于“历史弹幕”功能。


参考网站:https://zhidao.baidu.com/question/2053399219925598627.html

                  https://zhidao.baidu.com/question/1430448163912263499.html
进制转换网站:http://tool.oschina.net/hexconvert/

 

三、XML格式弹幕转换为ASS格式

XML格式:可扩展标记语言,一种简单的数据存储语言 (eXtensible Markup Language)
SRT格式:全称是SubRip Text;最常见的文本字幕,制作起来简单,时间代码+字幕。
SSA格式:全称是S Station Alpha;功能上比src更强大支持各种颜色、字体等特效。
ASS格式:全称是Advanced SubStation Alpha;包含ssa所有的功能并在ssa原有功能的基础上还进行了扩展。
视觉角度上讲ssa和ass视觉效果更好一些。

原料:XML文件
工具:Danmu2Ass
下载网址:https://archive.codeplex.com/?p=danmu2ass
                  http://www.wmzhe.com/soft-30545.html#download
 操作步骤: 
1.下载一份XML
2.下载Danmu2Ass
3.解压Danmu2Ass
4.将XML文件拖到解压出来的exe可执行文件上
5.等待处理完毕,ass文件会出现在原XML的位置那

问题1:新建下载任务,下载链接好像有问题,xml转化ass出错,不知道为什么
推荐右键另存为保存为.xml文件,测试没有问题

推荐阅读:
《如何将Xml格式的弹幕转换为Ass格式的弹幕》https://www.bilibili.com/read/cv1022304/
https://jingyan.baidu.com/article/1612d5007c24eae20e1eee1c.html
bilibili ASS 弹幕在线转换 https://www.baidu.com/link?url=M5Yb23bJc5HUivlGXaMO1mPFXgdYcPnV_alPdIzYA8sahY1O04oWkO95E5GRlnMhDhB7d15TkJFtGwijtgDbT_&wd=&eqid=996bb2bb00097810000000035c4affe2

 

四、播放弹幕方式

1.转化为ass直接拖入播放器,好像和原bilibili视频字体大小有差别
2.bililocal
3.弹弹play 

参考链接:
[全格式本地弹幕播放器] 总贴 https://tieba.baidu.com/p/2319140116?red_tag=2354082521
[BiliLocal][全格式本地弹幕播放器]Ver_0.4.2_NewYear https://tieba.baidu.com/p/3591706098?red_tag=2192108968

 

五、历史弹幕

之前说的 'https://comment.bilibili.com/' + cid + '.xml' ,是当前弹幕池的弹幕
历史弹幕的接口
https://api.bilibili.com/x/v2/dm/history?type=1&date=xxxx-xx-xx&oid=xxxxx
e.g:
date=2019-01-25
oid=cid=72540443
https://api.bilibili.com/x/v2/dm/history?type=1&date=2019-01-25&oid=72540443

b站看历史弹幕:https://www.baidu.com/link?url=vZYuCffklR6UHHgJ4tFOVXxy3XiQKe8Awwh261ralnSkT_a3bZ34LarKh54uiZLKb3vOq4We9sTTT6bwsdR6EkBF2H5PggdAOlsGvObUOy_&wd=&eqid=b28b885a0002d7e7000000035c4bd9a1
全弹幕装填:据说bililocal可以做到,好像现在也失效了

https://tieba.baidu.com/p/5755040883?red_tag=3178834393

 

六、弹幕反查用户

b站的每一个视频都有唯一一个cid号,通过这个cid号可以查到视频的弹幕
<d p="157.47900,1,25,16777215,1548340494,0,389b20da,11114024647262210">啧啧,原来阿卡丽那么小?</d>
d是弹幕的节点,p是弹幕的属性
<d p="弹幕出现时间,模式,字体大小,颜色,发送时间戳,弹幕池,用户Hash,数据库ID">啧啧,原来阿卡丽那么小?</d>
参数7(389b20da):发送者的ID,用于“屏蔽此弹幕的发送者”功能


用户 Hash 把数字 ID 用 ITU I.363.5 算法进行了 Hash,
生成一个彩虹表,反查即可。
使用一下API可以把HASH转化到数字ID:
http://biliquery.typcn.com/api/user/hash/[用户Hash]
直接在网页上改链接也可以,或者写程序请求也可以,会得到一串json
{"error":0,"data":[{"id":17882889}]} // 比较老的用户
{"error":0,"data":[{"id":390105526},{"id":21670130}]} // 一般新用户
用户ID(uid)为后者。用B站的个人主页网址格式就能找到了弹幕发送者的主页了
格式如下:https://space.bilibili.com/uid/#/


参考链接:
《B站从弹幕反查用户小记》https://www.baidu.com/link?url=sPAH80u8PTLGscNQxJzP1UKot81xhJJT7CAN6A5tx7PvkeIurn98AVktkWT5d5DG&wd=&eqid=d408769d00066ad0000000035c4add63
《B 站弹幕查发送者》https://typcn.com/legacy/blog/posts/bilibili-comment-sender-digger.html
bilibili工具箱:https://biliquery.typcn.com/

 

七、Python时间转换

>>> import datetime
>>> datetime.datetime.fromtimestamp(1548422334)
datetime.datetime(2019, 1, 25, 21, 18, 54)

参考链接:
https://www.cnblogs.com/shhnwangjian/p/6117602.html

最后,网上信息太散,整理一下放在这里~~,虽然都是看来的,还是无耻的原创一下吧!

相关链接:A站弹幕接口

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Enderman_xiaohei/article/details/86659064

智能推荐

Springboot集成mqtt【demo】_springboot mtqq demo-程序员宅基地

文章浏览阅读1.3k次。项目目录如下启动类如下import org.eclipse.paho.client.mqttv3.MqttException;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplicatio_springboot mtqq demo

C语言中的popen()函数_c popen函数 resource temporarily unavailable-程序员宅基地

文章浏览阅读3.3w次,点赞10次,收藏66次。Linux中的popen()函数可以在程序中执行一个shell命令,并返回命令执行的结果。有两种操作模式,分别为读和写。在读模式中,程序中可以读取到命令的输出,其中有一个应用就是获取网络接口的参数。在写模式中,最常用的是创建一个新的文件或开启其他服务等。头文件:#include 函数原型:FILE *popen(const char *command, const char *type_c popen函数 resource temporarily unavailable

新手小白也能做短视频自媒体,掌握方法和技巧,稳定每天200多_每天200百条视频怎么做-程序员宅基地

文章浏览阅读323次。大周跟很多新手小伙伴一样,都是从一个什么都不懂的小白,一步一步走到今天的,也遇到过各种各样的问题,坚持下去你就能赢。前期做得比较多,现在每天不去操作,也能有100-200的稳定收益,所以说做短视频自媒体是越到后期越赚钱的,新手小伙伴们完全可以去尝试操作,不要害怕失败。我们前期的收益主要来源与播放量的收益,就是平台给的广告分成,粉丝用户看你的短视频作品时下方会有下拉广告,所以说你的收益是与播放量挂钩的。新手小白经常会出现作品被下架、扣分和重复度过高的问题,导致没有收益或被封号,今天大周分享几个我常用的小_每天200百条视频怎么做

HttpClient 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete_httpput putrequest = new httpput-程序员宅基地

文章浏览阅读4.9k次。逻辑:String url = "http://www.baidu.com";//将要访问的url字符串放入HttpPost中HttpPost httpPost = new HttpPost(url);//请求头 放置一些修改http请求头和cookiehttpPost.setHeader("Accept", "application/json");......//如果_httpput putrequest = new httpput

EG网关串口连接施耐德M340PLC应用案例-程序员宅基地

文章浏览阅读971次,点赞17次,收藏18次。设置步骤:点击需要报警的变量后面的【报警】→【新增】→填写报警信息与条件→【确定】。【寄存器类型】:在施耐德M340 PLC中,离散量的输入输出使用的是%M地址,模拟量使用的是%MW地址(Modbus寄存器对应关系可以参考下面案例的采集变量对照表)。步骤:点击【后台管理】(只有管理账号才有此权限)→【设备中心】→【EG设备管理】→【+新增】→填写设备信息→点击【保存】。Modbus参数设置完成后,把修改好的程序下载到PLC中,再打开【应用程序树】,点击【GVL】,将变量进行修改。

合成生物学|第一期:什么是合成生物学_如何理解合成生物学的层级结构?-程序员宅基地

文章浏览阅读5.9k次,点赞2次,收藏7次。这个系列是关于天津大学宋凯教授的《合成生物学导论》的学习笔记,将对合成生物学的概念、合成生物系统的设计、数学模拟与性能分析以及合成生物学基础与应用研究进行一个概括性记述,目的主要是通过合成生物学这个前沿方向了解学科交叉融合现状与方法以及掌握一些工程性方法与思路。1. 合成生物学的诞生:1953年,克里克和沃森发现了DNA双螺旋结构、开始了解读生物遗传密码的第一步;2003年,人类基因组计划..._如何理解合成生物学的层级结构?

随便推点

windows11,打不开IE浏览器,自动跳转到edge浏览器_res://ieframe.dll-程序员宅基地

文章浏览阅读3.7w次,点赞4次,收藏17次。目前的 暂时解决办法是,1. 打开 Edge浏览器,--设置2. 点击左上角 设置--默认浏览器3. Internet Explorer模式页面--添加 ‘自己需要IE浏览器打开的网址’,然后 就会在 Edge中,再次打开网址尝试;(次模式 会保存30天,30天后需 再次操作)..._res://ieframe.dll

Oracle12c 容器数据库详解_oracle fcpsb-程序员宅基地

文章浏览阅读1.9w次。如果是非生产环境,容器数据库CDB 这功能还可以。但是,如果生产使用CDB,也可以,但是感觉很鸡肋,一般上生产的,最好为非CDB 数据库。1, CDB 容器数据2, PDB 可插拔式数据库3,根容器 CDB$ROOT4, 种子可插拔数据库 PDB$SEED5, 克隆,通过 种子库(pdb$seed 不能修改,只读),pdb库,非CDB库,创建可插拔数据库。6,非CDB,ORACLE12C 没有创建..._oracle fcpsb

php simplexml_PHP的SimpleXML处理-程序员宅基地

文章浏览阅读347次。PHP版本5引入了SimpleXML,SimpleXML是一种用于读写XML的新应用程序编程接口(API)。 在SimpleXML中,表达式如下: $doc->rss->channel->item->title 从文档中选择元素。 只要您对文档的结构有所了解,这些表达式就很容易编写。 但是,如果您不确切知道感兴趣的元素出现在何处(例如Docbook,HTML和类似的叙..._php simplexml

php超链接颜色,html超链接默认字体颜色怎么清除-程序员宅基地

文章浏览阅读594次。方法:1、在body中使用link、alink、vlink属性来设置其他颜色,例“”。2、先使用“:link”、“:visited”、“:active”选择器选中a元素;然后使用color属性设置其他颜色。本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。为了突出超链接,超链接文字通常采用与其他文字不同的颜色,超链接文字的下端还会加一条横线。网页的..._php的href颜色

SourceInsight 4.0使用说明_cppcheck在sourceinsight上使用-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏31次。Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。Options->Key Assignments 进入快捷键设置界面,找到自己想要设置的命令。如下图所示选择“Exit”命令,可以看到系统默认的快捷键是“Alt+F4”。_cppcheck在sourceinsight上使用

nginx 开启websocket支持_elang启用websocket-程序员宅基地

文章浏览阅读1.8k次。WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分,WebSocket相较于原来开发这类app的方法来说,其能使开发更加地简单。大部分现在的浏览器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且越来越多的服务器框架现在也同样支持WebSocket。在实际的生产环境中,要求多个WebSocket服务器必须具有高性能和高可用,那么WebSocket协议就需要_elang启用websocket

推荐文章

热门文章

相关标签