修改【protobuf实时弹幕】接口 并添加【protobuf历史弹幕】接口
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
# 历史弹幕
|
||||
|
||||
**注:历史弹幕的xml接口已经失效,现已改为protobuf接口**
|
||||
|
||||
- [查询历史弹幕日期](#查询历史弹幕日期)
|
||||
- [获取历史弹幕](#获取历史弹幕)
|
||||
- [获取历史弹幕protobuf接口](#获取历史弹幕protobuf接口)
|
||||
- [~~获取历史弹幕xml接口~~](#获取历史弹幕xml接口)
|
||||
|
||||
---
|
||||
|
||||
@@ -13,6 +16,8 @@
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**注:查询历史弹幕需要登录**
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
@@ -48,7 +53,8 @@
|
||||
curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
|
||||
--data-urlencode 'type=1' \
|
||||
--data-urlencode 'oid=144541892' \
|
||||
--data-urlencode 'month=2020-01'
|
||||
--data-urlencode 'month=2020-01' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
@@ -83,7 +89,8 @@ curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
|
||||
curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
|
||||
--data-urlencode 'type=1' \
|
||||
--data-urlencode 'oid=144541892' \
|
||||
--data-urlencode 'month=2019-12'
|
||||
--data-urlencode 'month=2019-12' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
@@ -100,7 +107,73 @@ curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
|
||||
|
||||
</details>
|
||||
|
||||
## 获取历史弹幕
|
||||
## 获取历史弹幕protobuf接口
|
||||
|
||||
> http://api.bilibili.com/x/v2/dm/web/history/seg.so
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ----------- |
|
||||
| type | num | 弹幕类 | 必要 | 1:视频弹幕 |
|
||||
| oid | num | 视频CID | 必要 | |
|
||||
| date | str | 弹幕日期 | 必要 | YYYY-MM-DD |
|
||||
|
||||
**proto回复:**
|
||||
|
||||
porto定义见:[bilibili.community.service.dm.v1.DmSegMobileReply](..\grpc_api\bilibili\community\service\dm\v1.proto)
|
||||
|
||||
详细说明见[protobuf弹幕](danmaku_proto.md)
|
||||
|
||||
获取视频`av84271171(CID=144541892)`2020-01-21的历史弹幕
|
||||
|
||||
**注:proto定义需要编译**
|
||||
|
||||
```python
|
||||
import requests
|
||||
import google.protobuf.text_format as text_format
|
||||
import bilibili.community.service.dm.v1_pb2 as Danmaku
|
||||
|
||||
url = 'http://api.bilibili.com/x/v2/dm/web/history/seg.so'
|
||||
params = {
|
||||
'type':1, #弹幕类型
|
||||
'oid':144541892, #cid
|
||||
'date':'2020-01-21' #弹幕日期
|
||||
}
|
||||
cookies = {
|
||||
'SESSDATA':'xxx'
|
||||
}
|
||||
resp = requests.get(url,params,cookies=cookies)
|
||||
data = resp.content
|
||||
|
||||
danmaku_seg = Danmaku.DmSegMobileReply()
|
||||
danmaku_seg.ParseFromString(data)
|
||||
|
||||
print(text_format.MessageToString(danmaku_seg.elems[0],as_utf8=True))
|
||||
```
|
||||
|
||||
输出:
|
||||
|
||||
```
|
||||
id: 27532611677585408
|
||||
progress: 300507
|
||||
mode: 1
|
||||
fontsize: 25
|
||||
color: 16777215
|
||||
midHash: "2a28d4a6"
|
||||
content: "章北海的老爹"
|
||||
ctime: 1579621359
|
||||
idStr: "27532611677585408"
|
||||
```
|
||||
|
||||
## 获取历史弹幕xml接口
|
||||
|
||||
<details>
|
||||
<summary>查看折叠内容:</summary>
|
||||
|
||||
> http://api.bilibili.com/x/v2/dm/history
|
||||
|
||||
@@ -108,6 +181,8 @@ curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**注:查询历史弹幕需要登录**
|
||||
|
||||
结果为[标准xml格式弹幕](danmaku_xml.md#弹幕格式)
|
||||
|
||||
**使用deflate压缩,注意解码**
|
||||
@@ -122,12 +197,15 @@ curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
|
||||
|
||||
**示例:**
|
||||
|
||||
获取视频`av84271171(CID=144541892)`2020-01-21的历史弹幕
|
||||
|
||||
```shell
|
||||
curl -G 'http://api.bilibili.com/x/v2/dm/history' \
|
||||
--data-urlencode 'type=1' \
|
||||
--data-urlencode 'oid=144541892' \
|
||||
--data-urlencode 'date=2020-01-21' \
|
||||
--compressed -o 'danmaku.xml'
|
||||
-b 'SESSDATA=xxx' \
|
||||
--compressed -o 'danmaku.xml'
|
||||
```
|
||||
|
||||
<details>
|
||||
@@ -163,4 +241,6 @@ curl -G 'http://api.bilibili.com/x/v2/dm/history' \
|
||||
<i>
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
Reference in New Issue
Block a user