B站弹幕接口

一、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文件中的参数的含义

啧啧,原来阿卡丽那么小?
参数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是弹幕的属性
啧啧,原来阿卡丽那么小?
参数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站弹幕接口

你可能感兴趣的:(b站,api,接口,Python)