例行更新

This commit is contained in:
SocialSisterYi 2020-03-19 22:42:26 +08:00
parent e6b5f06888
commit c1d972cde4
5 changed files with 427 additions and 36 deletions

View File

@ -6,7 +6,7 @@
**不断更新中....**
本项目对B站的野生web端api进行收集整理以及研究使用方法并对其进行说明
本项目对B站web端散落在世界各地的野生api进行收集整理以及研究使用方法并对其进行说明
所有api均为标准http协议返回值大都为json
@ -35,11 +35,12 @@
- [快照](video/snapshot.md)√
- [点赞&投币&收藏](video/like_coin_fav.md)√
- TAG
- 视频推荐
- [视频推荐](video/recommend.md)√
- 播放&下载地址
- 实时观看人数
- 番剧
- [视频弹幕](danmaku)
- 实时弹幕
- [实时弹幕&弹幕格式](danmaku/danmaku.md)√
- 历史弹幕
- [快照](danmaku/snapshot.md)√
- 弹幕操作
@ -48,7 +49,6 @@
- 点赞&投币&收藏
- 文集基本信息
- 音频
- 番剧
- 排行榜
- 搜索
- 默认搜索

122
danmaku/danmaku.md Normal file
View File

@ -0,0 +1,122 @@
# 弹幕
弹幕均为xml格式下载至本地后加载
实时弹幕池容量有限根据视频类型500-3000条不等占满后再发送会使实时弹幕池底部的弹幕压入历史弹幕池类似于堆栈
## 获取实时弹幕1
**使用deflate压缩使用时注意解码**
api.bilibili.com/x/v1/dm/list.so
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------- | ------ | ---- |
| oid | 视频CID | 必要 | |
示例:
http://api.bilibili.com/x/v1/dm/list.so?oid=144541892
## 获取实时弹幕2
与前者使用效果相同
**使用deflate压缩使用时注意解码**
comment.bilibili.com/{cid}.xml
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------- | ------ | ---- |
| cid | 视频CID | 必要 | |
示例:
http://comment.bilibili.com/144541892.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<i>
<chatserver>chat.bilibili.com</chatserver>
<chatid>144541892</chatid>
<mission>0</mission>
<maxlimit>1500</maxlimit>
<state>0</state>
<real_name>0</real_name>
<source>e-r</source>
<d p="490.19100,1,25,16777215,1584268892,0,a16fe0dd,29950852386521095">从结尾回来看这里,更感动了!</d>
<d p="18.77300,1,25,16777215,1584268920,0,4fe08d3,29950867226492933">咦三体居然还有动画</d>
<d p="52.88400,1,25,16777215,1584268954,0,4fe08d3,29950885214289927">哈哈哈哈开心</d>
<d p="25.51600,1,25,16777215,1584268957,0,e4b18b37,29950886612566021">红岸么</d>
<d p="144.45200,1,25,16777215,1584269076,0,e4b18b37,29950948716576775">我就是想看我的世界里水滴长啥样</d>
<d p="112.64100,1,25,16777215,1584269109,0,96606007,29950966302244871">有手指?</d>
<d p="222.84000,1,25,16777215,1584269154,0,e4b18b37,29950989809745923">侦测到在途的聚变打击</d>
<d p="284.77800,1,25,16777215,1584269216,0,e4b18b37,29951022237483011">都是虫子</d>
<d p="398.00500,1,25,16777215,1584269329,0,e4b18b37,29951081615196163">ocean</d>
<d p="432.17900,1,25,16777215,1584269363,0,e4b18b37,29951099571535943">村民,哼~</d>
<d p="467.41900,1,25,16777215,1584269399,0,e4b18b37,29951118364639237">黄河之水天上来</d>
<d p="6.71900,1,25,16777215,1584269422,0,70ba16f4,29951130398621699">镇站之宝</d>
<d p="313.08600,1,25,16777215,1584269425,0,e531c9dc,29951131798994947">这水</d>
<d p="587.87900,1,25,16777215,1584269519,0,e4b18b37,29951181142360071">海的那边是什么</d>
<d p="618.05000,1,25,16777215,1584269549,0,e4b18b37,29951196901933061">折跃门准备完毕</d>
…………
<i>
```
## 弹幕格式
### xml格式结构
- 标签 i
- 标签 chatserverchat.bilibili.com
- 标签 chatid视频CID
- 标签 mission0
- 标签 maxlimit实时弹幕池最大容量
- 标签 state0
- 标签 real_name0
- 标签 sourcee-r
- 标签 d (带有属性 p弹幕内容
### 属性 p
字符串内每项用","分隔
| 项 | 含义 | 类型 | 备注 |
| ---- | ------------------ | ----- | ------------------------------------------------------------ |
| 0 | 视频内弹幕出现时间 | float | 秒 |
| 1 | 弹幕类型 | int | 1 2 3普通弹幕<br />4底部<br />5顶部<br />6逆向<br />7精准定位<br />8代码弹幕<br />9BAS弹幕 |
| 2 | 弹幕字号 | int | 18 小<br />25 标准<br />36 大 |
| 3 | 弹幕颜色 | int | 十进制RGB888值 |
| 4 | 弹幕发送时间 | int | 时间戳 |
| 5 | 弹幕池类型 | int | 0普通池<br />1字幕池<br />2特殊池高级弹幕 |
| 6 | 编码后的用户ID | HEX | 用于屏蔽用户 也可反查用户ID |
| 7 | 弹幕ID | int | 唯一 可用于操作参数 |
```xml
<d p="490.19100,1,25,16777215,1584268892,0,a16fe0dd,29950852386521095">从结尾回来看这里,更感动了!</d>
```
弹幕内容为:“从结尾回来看这里,更感动了!”
参数为视频内出现的时间是490.19100秒,类型是普通弹幕,字号为标准,颜色为白色(#FFFFFF发送时间是2020/3/15 18:41:32.........
### web版标准颜色
| | | |
| ---- | ---- | ---- |
| | | |
| | | |
| | | |

View File

@ -43,27 +43,27 @@ http://api.bilibili.com/x/v2/dm/ajax?aid=43337021
"code": 0,
"message": "0",
"ttl": 1,
"data": [
"data": [
"漫画比动漫好看而且血腥",
"666",
"金木小天使",
"太喜欢了",
"每天一遍防止抑郁",
"我还记得土豆那时候还有的看",
"把在给我摸摸~",
"突然泪目",
"感谢野生字幕君",
"993-7",
"刚刚出的时候小学看,现在高二了",
"原版op有这么长吗搞笑肯定做了剪辑op会给你放全歌",
"让你看个op 3 : 5 4 秒?",
"说原版不原版的都是弱智",
"樱花",
"请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,",
"再来亿遍",
"错的不是我,而是这个世界。",
"吃货的第一季的最后一季足以让他封神!",
"+"
"太喜欢了",
"每天一遍防止抑郁",
"我还记得土豆那时候还有的看",
"把在给我摸摸~",
"突然泪目",
"感谢野生字幕君",
"993-7",
"刚刚出的时候小学看,现在高二了",
"原版op有这么长吗搞笑肯定做了剪辑op会给你放全歌",
"让你看个op 3 : 5 4 秒?",
"说原版不原版的都是弱智",
"樱花",
"请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,",
"再来亿遍",
"错的不是我,而是这个世界。",
"吃货的第一季的最后一季足以让他封神!",
"+"
]
}
```

View File

@ -81,20 +81,20 @@ owner 对象:
stat 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---------------------- | -------------------------------- | ------------ |
| aid | num | 视频avID | |
| view | 普通num<br />屏蔽时str | 普通:观看次数<br />屏蔽时:"--" | |
| danmaku | num | 弹幕条数 | |
| reply | num | 评论条数 | |
| favorite | num | 收藏人数 | |
| coin | num | 投币枚数 | |
| share | num | 分享次数 | |
| now_rank | num | 0 | 作用尚不明确 |
| his_rank | num | 历史最高排行 | |
| like | num | 获赞次数 | |
| dislike | num | 0 | 作用尚不明确 |
| evaluation | str | 视频评分 | 默认为空 |
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------------------------ | ------------ |
| aid | num | 视频avID | |
| view | num | 普通:观看次数<br />屏蔽时:-1 | |
| danmaku | num | 弹幕条数 | |
| reply | num | 评论条数 | |
| favorite | num | 收藏人数 | |
| coin | num | 投币枚数 | |
| share | num | 分享次数 | |
| now_rank | num | 0 | 作用尚不明确 |
| his_rank | num | 历史最高排行 | |
| like | num | 获赞次数 | |
| dislike | num | 0 | 作用尚不明确 |
| evaluation | str | 视频评分 | 默认为空 |
page 数组:

269
video/recommend.md Normal file
View File

@ -0,0 +1,269 @@
# 视频推荐
## 获取单视频推荐列表
最多获取40条推荐视频
api.bilibili.com/x/web-interface/archive/related
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | -------- | ------ | ---- |
| aid | 视频avID | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------ |
| code | num | 返回值 | 0成功 <br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | arrary | 推荐列表 | |
data 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | obj | 推荐视频1 | |
| n | obj | 推荐视频(n+1) | |
| …… | obj | …… | …… |
| 39 | obj | 推荐视频40 | |
data 数组中的所有项 对象:
同「[视频详细信息](info.md#视频详细信息)」中的data对象
示例:
http://api.bilibili.com/x/web-interface/archive/related?aid=7
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [{
"aid": 21322566,
"videos": 1,
"tid": 124,
"tname": "趣味科普人文",
"copyright": 1,
"pic": "http://i2.hdslb.com/bfs/archive/37f383ac35d386af1fc578108ad643e5952ff66a.jpg",
"title": "bilibili上市宣传视频",
"pubdate": 1522205992,
"ctime": 1522205994,
"desc": "今天晚上9点30分北京时间bilibili将在美国纳斯达克NASDAQ证券交易所挂牌上市。",
"state": 0,
"attribute": 16768,
"duration": 155,
"rights": {
"bp": 0,
"elec": 0,
"download": 0,
"movie": 0,
"pay": 0,
"hd5": 1,
"no_reprint": 1,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0,
"no_background": 0
},
"owner": {
"mid": 208259,
"name": "陈睿",
"face": "http://i2.hdslb.com/bfs/face/8920e6741fc2808cce5b81bc27abdbda291655d3.png"
},
"stat": {
"aid": 21322566,
"view": 2129084,
"danmaku": 51108,
"reply": 18119,
"favorite": 46524,
"coin": 85223,
"share": 16669,
"now_rank": 0,
"his_rank": 1,
"like": 95621,
"dislike": 0
},
"dynamic": "今天晚上9点30分北京时间bilibili将在美国纳斯达克NASDAQ证券交易所挂牌上市。",
"cid": 35063529,
"dimension": {
"width": 1920,
"height": 1080,
"rotate": 0
},
"bvid": ""
}, {
"aid": 271,
"videos": 1,
"tid": 53,
"tname": "",
"copyright": 1,
"pic": "http://i1.hdslb.com/bfs/archive/a5980672f3d03e8292148748a63de99cd45679d3.jpg",
"title": "弹幕测试专用",
"pubdate": 1249886475,
"ctime": 1497344798,
"desc": "给职人发射弹幕定位用.",
"state": 0,
"attribute": 32768,
"duration": 4558,
"rights": {
"bp": 0,
"elec": 0,
"download": 0,
"movie": 0,
"pay": 0,
"hd5": 0,
"no_reprint": 0,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0,
"no_background": 0
},
"owner": {
"mid": 2,
"name": "碧诗",
"face": "http://i1.hdslb.com/bfs/face/3e60b20604b6fdc7d081eb6a1ec72aa47c5a3964.jpg"
},
"stat": {
"aid": 271,
"view": 2532266,
"danmaku": 699214,
"reply": 10224,
"favorite": 34927,
"coin": 9712,
"share": 3586,
"now_rank": 0,
"his_rank": 182,
"like": 27257,
"dislike": 0
},
"dynamic": "",
"cid": 3659795,
"dimension": {
"width": 0,
"height": 0,
"rotate": 0
},
"bvid": ""
}, {
"aid": 106,
"videos": 1,
"tid": 26,
"tname": "音MAD",
"copyright": 2,
"pic": "http://i2.hdslb.com/bfs/archive/34d8fdf08d1fe28c229dec2fd122815a1d012908.jpg",
"title": "最终鬼畜蓝蓝路",
"pubdate": 1350316631,
"ctime": 1497348932,
"desc": "sm2057168 把这个音mad的图腾和支柱从UP的怒火中搬出来重新立好这是我所能做的最后的事情了。",
"state": 0,
"attribute": 32768,
"duration": 318,
"rights": {
"bp": 0,
"elec": 0,
"download": 0,
"movie": 0,
"pay": 0,
"hd5": 0,
"no_reprint": 0,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0,
"no_background": 0
},
"owner": {
"mid": 8839,
"name": "TSA",
"face": "http://i0.hdslb.com/bfs/face/0ef5daf622bf4789034b3c15147a45e11c48c9b3.jpg"
},
"stat": {
"aid": 106,
"view": 7607070,
"danmaku": 212896,
"reply": 41521,
"favorite": 200705,
"coin": 51673,
"share": 38049,
"now_rank": 0,
"his_rank": 22,
"like": 148550,
"dislike": 0
},
"dynamic": "",
"cid": 3635863,
"dimension": {
"width": 0,
"height": 0,
"rotate": 0
},
"bvid": ""
}, {
"aid": 50025934,
"videos": 1,
"tid": 122,
"tname": "野生技术协会",
"copyright": 1,
"pic": "http://i0.hdslb.com/bfs/archive/af534399612085dbd916381b3377b18c765fab2d.png",
"title": "B站又一位Lv9的up诞生了",
"pubdate": 1555829289,
"ctime": 1555829289,
"desc": "要不关注一下?",
"state": 0,
"attribute": 16512,
"duration": 45,
"rights": {
"bp": 0,
"elec": 0,
"download": 0,
"movie": 0,
"pay": 0,
"hd5": 0,
"no_reprint": 1,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0,
"no_background": 0
},
"owner": {
"mid": 174161216,
"name": "血色红茶Xenomprph",
"face": "http://i1.hdslb.com/bfs/face/5a5ececb9b7a688751024c60063ba5853bed7e1e.jpg"
},
"stat": {
"aid": 50025934,
"view": 159595,
"danmaku": 62,
"reply": 153,
"favorite": 301,
"coin": 1059,
"share": 55,
"now_rank": 0,
"his_rank": 0,
"like": 1219,
"dislike": 0
},
"dynamic": "",
"cid": 87577929,
"dimension": {
"width": 2560,
"height": 1440,
"rotate": 0
},
"bvid": ""
},
…………
]
}
```