diff --git a/README.md b/README.md index 7378bbd..dddde27 100644 --- a/README.md +++ b/README.md @@ -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 @@ - 点赞&投币&收藏 - 文集基本信息 - 音频 -- 番剧 - 排行榜 - 搜索 - 默认搜索 diff --git a/danmaku/danmaku.md b/danmaku/danmaku.md new file mode 100644 index 0000000..33aa527 --- /dev/null +++ b/danmaku/danmaku.md @@ -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 + + + chat.bilibili.com + 144541892 + 0 + 1500 + 0 + 0 + e-r + 从结尾回来看这里,更感动了! + 咦三体居然还有动画 + 哈哈哈哈开心 + 红岸么 + 我就是想看我的世界里水滴长啥样 + 有手指? + 侦测到在途的聚变打击 + 都是虫子 + ocean + 村民,哼~ + 黄河之水天上来 + 镇站之宝 + 这水 + 海的那边是什么 + 折跃门准备完毕 + ………… + +``` + + + +## 弹幕格式 + +### xml格式结构 + +- 标签 i + + - 标签 chatserver:chat.bilibili.com + - 标签 chatid:视频CID + - 标签 mission:0 + - 标签 maxlimit:实时弹幕池最大容量 + - 标签 state:0 + - 标签 real_name:0 + - 标签 source:e-r + + - 标签 d (带有属性 p):弹幕内容 + +### 属性 p + +字符串内每项用","分隔 + +| 项 | 含义 | 类型 | 备注 | +| ---- | ------------------ | ----- | ------------------------------------------------------------ | +| 0 | 视频内弹幕出现时间 | float | 秒 | +| 1 | 弹幕类型 | int | 1 2 3普通弹幕
4底部
5顶部
6逆向
7精准定位
8代码弹幕
9BAS弹幕 | +| 2 | 弹幕字号 | int | 18 小
25 标准
36 大 | +| 3 | 弹幕颜色 | int | 十进制RGB888值 | +| 4 | 弹幕发送时间 | int | 时间戳 | +| 5 | 弹幕池类型 | int | 0普通池
1字幕池
2特殊池(高级弹幕) | +| 6 | 编码后的用户ID | HEX | 用于屏蔽用户 也可反查用户ID | +| 7 | 弹幕ID | int | 唯一 可用于操作参数 | + +```xml +从结尾回来看这里,更感动了! +``` + +弹幕内容为:“从结尾回来看这里,更感动了!” + +参数为:视频内出现的时间是490.19100秒,类型是普通弹幕,字号为标准,颜色为白色(#FFFFFF),发送时间是2020/3/15 18:41:32......... + +### web版标准颜色 + +| | | | +| ---- | ---- | ---- | +| | | | +| | | | +| | | | + diff --git a/danmaku/snapshot.md b/danmaku/snapshot.md index f8c39b8..23fdfc0 100644 --- a/danmaku/snapshot.md +++ b/danmaku/snapshot.md @@ -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 秒?", + "说原版不原版的都是弱智", + "樱花", + "请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,请打开洗脑循环食用,", + "再来亿遍", + "错的不是我,而是这个世界。", + "吃货的第一季的最后一季足以让他封神!", + "+" ] } ``` diff --git a/video/info.md b/video/info.md index a468f91..f4dc1eb 100644 --- a/video/info.md +++ b/video/info.md @@ -81,20 +81,20 @@ owner 对象: stat 对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ---------------------- | -------------------------------- | ------------ | -| aid | num | 视频avID | | -| view | 普通num
屏蔽时str | 普通:观看次数
屏蔽时:"--" | | -| 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 | 普通:观看次数
屏蔽时:-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 数组: diff --git a/video/recommend.md b/video/recommend.md new file mode 100644 index 0000000..d85604a --- /dev/null +++ b/video/recommend.md @@ -0,0 +1,269 @@ +# 视频推荐 + +## 获取单视频推荐列表 + +最多获取40条推荐视频 + +api.bilibili.com/x/web-interface/archive/related + +*方式:GET* + +参数: + +| 参数名 | 内容 | 必要性 | 备注 | +| ------ | -------- | ------ | ---- | +| aid | 视频avID | 必要 | | + +**json回复:** + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ------ | -------- | ------------------------ | +| code | num | 返回值 | 0成功
-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": "" + }, + ………… + ] +} +``` +