添加若干相簿相关api 并勘误

This commit is contained in:
SocialSisterYi 2020-11-27 23:39:07 +08:00
parent 61fa5e3413
commit 269f25091f
13 changed files with 3327 additions and 134 deletions

View File

@ -135,8 +135,14 @@ PS所有http协议地址均可使用https文档中为了统一写作`http`
- [发送&转载动态](dynamic/publish.md)×
- 动态列表
- 动态内容
- 小视频
- 操作
- [相簿](album)
- [基本信息](album/info.md)√
- [相簿列表](album/list.md)√
- [推荐作者](album/recommend_author.md)√
- [活动列表](album/activity_list.md)√
- [操作](album/action.md)√
- 投稿
- [历史记录&稍后再看](history&toview)
- [历史记录](history&toview/history.md)√
- [稍后再看](history&toview/toview.md)√

176
album/action.md Normal file
View File

@ -0,0 +1,176 @@
# 相簿操作
- [点赞相簿](#点赞相簿)
- [收藏相簿](#收藏相簿)
- [取消收藏相簿](#取消收藏相簿)
---
## 点赞相簿
> http://api.vc.bilibili.com/link_draw/v2/Vote/operate
*请求方式POST*
认证方式CookieSESSDATA
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ------ | ---------------------- |
| doc_id | num | 相簿ID | 必要 | |
| type | num | 操作方式 | 必要 | 1点赞<br />2取消赞 |
| csrf_token | str | CSRF Token位于cookie | 非必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />1参数错误<br />3未登录<br />110022已经操作过了 |
| msg | str | 错误信息 | 默认为success |
| message | str | 错误信息 | 默认为success |
| data | obj | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ---------------------- |
| type | num | 操作方式 | 1点赞<br />2取消赞 |
**示例:**
点赞相簿`ID=99184721`
```shell
curl 'http://api.vc.bilibili.com/link_draw/v2/Vote/operate' \
--data-urlencode 'doc_id=99184721' \
--data-urlencode 'type=1' \
--data-urlencode 'csrf_token=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "success",
"message": "success",
"data": {
"type": 1
}
}
```
</details>
## 收藏相簿
> http://api.vc.bilibili.com/user_plus/v1/Fav/add
*请求方式POST*
认证方式CookieSESSDATA
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ------ | ------------ |
| fav_id | num | 相簿ID | 必要 | |
| biz_type | num | 2 | 必要 | 作用尚不明确 |
| csrf_token | str | CSRF Token位于cookie | 非必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-400参数错误<br />-500未登录<br />-507已收藏 |
| msg | str | 错误信息 | 默认为OK |
| message | str | 错误信息 | 默认为OK |
| data | array | 空 | |
**示例:**
收藏相簿`ID=99184721`
```shell
curl 'http:///api.vc.bilibili.com/user_plus/v1/Fav/add' \
--data-urlencode 'fav_id=99184721' \
--data-urlencode 'biz_type=2' \
--data-urlencode 'csrf_token=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "OK",
"message": "OK",
"data": []
}
```
</details>
## 取消收藏相簿
> http://api.vc.bilibili.com/user_plus/v1/Fav/delete
*请求方式POST*
认证方式CookieSESSDATA
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ------ | ------------ |
| fav_id | num | 相簿ID | 必要 | |
| biz_type | num | 2 | 必要 | 作用尚不明确 |
| csrf_token | str | CSRF Token位于cookie | 非必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | --------------------------------------------- |
| code | num | 返回值 | 0成功<br />-400参数错误<br />-500未登录 |
| msg | str | 错误信息 | 默认为OK |
| message | str | 错误信息 | 默认为OK |
| data | array | 空 | |
**示例:**
取消收藏相簿`ID=99184721`
```shell
curl 'http://api.vc.bilibili.com/user_plus/v1/Fav/delete' \
--data-urlencode 'fav_id=99184721' \
--data-urlencode 'biz_type=2' \
--data-urlencode 'csrf_token=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "OK",
"message": "OK",
"data": []
}
```
</details>

152
album/activity_list.md Normal file
View File

@ -0,0 +1,152 @@
# 相簿活动列表
- [获取相簿热门活动列表](#获取相簿热门活动列表)
---
## 获取相簿热门活动列表
> http://api.vc.bilibili.com/photo_activity/v2/Activity/list
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| --------- | ---- | -------- | ------ | --------------------------------------------- |
| type | num | 活动类型 | 非必要 | 0全部<br/>1展示类<br/>2比赛类 |
| biz | num | 分区 | 非必要 | 0全部<br />1画友<br/>2摄影<br />默认为0 |
| page_num | num | 页码 | 非必要 | 默认为4 |
| page_size | num | 每页项数 | 非必要 | 默认为0 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------ |
| code | num | 返回值 | 0成功<br />1参数错误 |
| msg | str | 错误信息 | 默认为success |
| message | str | 错误信息 | 默认为success |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ----- | ---------- | ---- |
| total_count | str | 总计活动数 | |
| items | array | 活动列表 | |
`data`中的`items`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ---------- | ---- |
| 0 | obj | 活动 1 | |
| n | obj | 活动 (n+1) | |
| …… | obj | …… | …… |
`data`中的`items`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------- | ------------------------ |
| cover | str | 活动图片url | |
| title | str | 活动标题 | |
| link | str | 活动页面url | |
| type | num | 活动类型 | 1展示类<br/>2比赛类 |
| biz | num | 所属分区 | 1画友<br/>2摄影 |
| tag | str | 活动关联的TAG | |
| start_time | num | 开始时间 | 时间戳 |
| end_time | num | 结束时间 | 时间戳 |
| desc | str | 备注 | |
| desc_type | num | 活动状态 | 1已结束<br />2进行中 |
**示例:**
获取`画友`分区全部类型的5条活动
```shell
curl -G 'http://api.vc.bilibili.com/photo_activity/v2/Activity/list' \
--data-urlencode 'type=0' \
--data-urlencode 'biz=1' \
--data-urlencode 'page_num=0' \
--data-urlencode 'page_size=5'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "success",
"message": "success",
"data": {
"total_count": 21,
"items": [
{
"cover": "http://i0.hdslb.com/bfs/vc/344d175cf88f217ce8bd0f004a2c5e770eff2e03.png",
"title": "#月饼拟人#创作大赛!丰厚奖励等你来拿!",
"link": "https://www.bilibili.com/read/cv1102416",
"type": 1,
"biz": 1,
"tag": "",
"start_time": 1535817600,
"end_time": 1540915200,
"desc": "已结束",
"desc_type": 1
},
{
"cover": "http://i0.hdslb.com/bfs/vc/63d48fbc37f0142a9c72e06ebc950d4089f881d6.png",
"title": "「ISLAND」同人绘画大赛",
"link": "https://www.bilibili.com/blackboard/activity-rkOlNomMQ.html",
"type": 2,
"biz": 1,
"tag": "ISLAND同人绘画",
"start_time": 1530720000,
"end_time": 1534435200,
"desc": "已结束",
"desc_type": 1
},
{
"cover": "http://i0.hdslb.com/bfs/vc/08d20bc6c10e1e310946ebaaf56c2c90c921644d.jpg",
"title": "我家大师兄脑子有坑同人绘画大赛",
"link": "https://www.bilibili.com/blackboard/activity-S1lV0Ot6M.html",
"type": 2,
"biz": 1,
"tag": "兄坑同人绘画大赛",
"start_time": 1525449600,
"end_time": 1528473600,
"desc": "已结束",
"desc_type": 1
},
{
"cover": "http://i0.hdslb.com/bfs/vc/4eb48398ec0824e96fc878235536f2e0b4a8aef5.jpg",
"title": "国宝复“活”计划",
"link": "https://www.bilibili.com/blackboard/activity-SJ4hL_UFz.html",
"type": 2,
"biz": 1,
"tag": "国宝复“活”计划",
"start_time": 1521388800,
"end_time": 1525017600,
"desc": "已结束",
"desc_type": 1
},
{
"cover": "http://i0.hdslb.com/bfs/vc/9068f91f62ea5a36cbafff263d7e47af99cc9836.jpg",
"title": "画师专访——管郁生",
"link": "https://www.bilibili.com/blackboard/interview-guanyusheng.html",
"type": 1,
"biz": 1,
"tag": "",
"start_time": 1517414400,
"end_time": 0,
"desc": "进行中",
"desc_type": 2
}
]
}
}
```
</details>

249
album/info.md Normal file
View File

@ -0,0 +1,249 @@
# 相簿基本信息
- [获取相簿详细信息](#获取相簿详细信息)
---
## 获取相簿详细信息
>http://api.vc.bilibili.com/link_draw/v1/doc/detail
*请求方式GET*
认证方式CookieSESSDSTA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ---------- | ------ | ---- |
| doc_id | num | 目标相簿ID | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------------- |
| code | num | 返回值 | 0成功<br />110001找不到目标相簿 |
| msg | str | 错误信息 | 默认为success |
| message | str | 错误信息 | 默认为success |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ---- |
| user | obj | 作者信息 | |
| item | obj | 相簿信息 | |
`data`中的`user`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | ---------- | ---- |
| uid | num | 作者UID | |
| head_url | str | 头像url | |
| name | str | 昵称 | |
| vip | obj | 会员信息 | |
| upload_count | str | 相簿投稿数 | |
`user`中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | ------------------------------------------------- |
| vipType | num | 会员类型 | 0<br />1月度大会员<br />2年度及以上大会员 |
| vipDueDate | num | 会员到期时间 | 毫秒 时间戳 |
| dueRemark | str | 空 | 作用尚不明确 |
| accessStatus | num | 0 | 作用尚不明确 |
| vipStatus | num | 会员开通状态 | 0<br />1有 |
| vipStatusWarn | str | 空 | 作用尚不明确 |
| themeType | num | 0 | 作用尚不明确 |
| label | obj | | 作用尚不明确 |
`vip`中的`label`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ------------ |
| path | str | 空 | 作用尚不明确 |
`data`中的`item`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------------- | ----- | ------------------ | ------------------------------------------------------------ |
| biz | num | 相簿分区 | 1画友<br />2摄影<br />3日常 |
| doc_id | num | 相簿ID | |
| poster_uid | num | 作者UID | |
| category | str | 子分区标识 | coscosplay<br />daily日常<br />illustration插画<br />comic漫画<br />draw其他<br />sifu私服 |
| type | num | 相簿类型 | 0原创<br />1同人 |
| title | str | 标题 | |
| tags | array | 相簿TAG | |
| pictures | array | 相簿图片 | |
| source | null | | 作用尚不明确 |
| upload_time | str | 投稿时间(时间码) | YYYY-MM-DD hh:mm:ss |
| upload_timestamp | num | 投稿时间(时间戳) | |
| upload_time_text | str | 投稿时间(文本) | |
| description | str | 简介 | |
| role | null | | 作用尚不明确 |
| settings | obj | 权限配置 | |
| already_collected | num | 是否已收藏 | 需要登录Cookie<br />否则恒为0 |
| already_liked | num | 0 | 作用尚不明确 |
| user_status | num | 0 | 作用尚不明确 |
| at_control | str | 空 | 作用尚不明确 |
| view_count | num | 观看数 | |
| like_count | num | 0 | 作用尚不明确 |
| collect_count | num | 收藏数 | |
| verify_status | num | 1 | 作用尚不明确 |
| already_voted | num | 是否已点赞 | 需要登录Cookie<br />否则恒为0 |
| vote_count | num | 点赞数 | |
| comment_count | num | 评论数 | |
`item`中的`tags`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---- |
| 0 | obj | TAG 1 | |
| n | obj | TAG (n+1) | |
| …… | obj | …… | …… |
`item`中的`tags`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | --------------- | --------------- |
| tag | str | TAG名 | |
| type | num | 类型? | |
| category | str | TAG所属子分区名 | |
| link | str | 活动页面url | 是活动TAG有此项 |
| text | str | TAG名 | |
| name | str | TAG名 | |
`item`中的`pictures`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ---------- | ---- |
| 0 | obj | 图片 1 | |
| n | obj | 图片 (n+1) | |
| …… | obj | …… | …… |
`item`中的`pictures`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | -------- | ----------- |
| img_src | str | 图片url | |
| img_width | num | 图片宽度 | |
| img_height | num | 图片高度 | |
| img_size | num | 图片大小 | 单位为KByte |
`item`中的`settings`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | ------------ | ------------------------------------------------------------ |
| copy_forbidden | num | 禁止转载标志 | 0不设置转载权限<br />1开放授权-署名-非商用转载<br />2作者授权-署名-非商用转载<br />3禁止转载 |
**示例:**
查询相簿`ID=99184721`的详细信息
```shell
curl -G 'http://api.vc.bilibili.com/link_draw/v1/doc/detail' \
--data-urlencode 'doc_id=99184721' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "success",
"message": "success",
"data": {
"user": {
"uid": 813818,
"head_url": "https://i2.hdslb.com/bfs/face/26b12390399f3e82fb913922938f8a6662d28665.jpg",
"name": "QYS3",
"vip": {
"vipType": 2,
"vipDueDate": 1613750400000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 1,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
},
"upload_count": "171"
},
"item": {
"biz": 1,
"doc_id": 99184721,
"poster_uid": 813818,
"category": "illustration",
"type": 1,
"title": "旅行",
"tags": [
{
"tag": "魔女之旅",
"type": 4,
"category": "illustration",
"text": "魔女之旅",
"name": "魔女之旅"
},
{
"tag": "伊蕾娜",
"type": 3,
"category": "illustration",
"text": "伊蕾娜",
"name": "伊蕾娜"
},
{
"tag": "旅行",
"type": 3,
"category": "illustration",
"text": "旅行",
"name": "旅行"
},
{
"tag": "魔女",
"type": 3,
"category": "illustration",
"text": "魔女",
"name": "魔女"
}
],
"pictures": [
{
"img_src": "https://i0.hdslb.com/bfs/album/d531e3dae34ef65b44ecdb2914d4cc4f5a4da998.jpg",
"img_width": 1236,
"img_height": 1600,
"img_size": 508
}
],
"source": null,
"upload_time": "2020-11-23 23:03:12",
"upload_timestamp": 1606143792,
"upload_time_text": "3天前",
"description": "伊蕾娜世界第一~",
"role": null,
"settings": {
"copy_forbidden": 0
},
"already_collected": 0,
"already_liked": 0,
"user_status": 0,
"at_control": "",
"view_count": 143699,
"like_count": 0,
"collect_count": 54,
"verify_status": 1,
"already_voted": 0,
"vote_count": 2258,
"comment_count": 98
}
}
}
```
</details>

2442
album/list.md Normal file

File diff suppressed because it is too large Load Diff

171
album/recommend_author.md Normal file
View File

@ -0,0 +1,171 @@
# 相簿推荐作者
- [获取摄影推荐作者](#获取摄影推荐作者)
- [获取画友推荐作者](#获取画友推荐作者)
---
## 获取摄影推荐作者
> http://api.vc.bilibili.com/link_draw/v2/Photo/uper
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ------- |
| num | num | 请求数量 | 非必要 | 默认为6 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | ------------- |
| code | num | 返回值 | 0成功 |
| msg | str | 错误信息 | 默认为success |
| message | str | 错误信息 | 默认为success |
| data | array | 信息本体 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ---------- | ---- |
| 0 | obj | 作者 1 | |
| n | obj | 作者 (n+1) | |
| …… | obj | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------- | ------------ |
| uid | num | 作者UID | |
| head_url | str | 头像url | |
| name | str | 昵称 | |
| is_followed | num | 0 | 作用尚不明确 |
**示例:**
请求获取摄影推荐作者数量为5
```shell
curl -G 'http://api.vc.bilibili.com/link_draw/v2/Photo/uper' \
--data-urlencode 'num=5'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "success",
"message": "success",
"data": [
{
"uid": 36974706,
"head_url": "https://i2.hdslb.com/bfs/face/fa7ef3a5124e2ebfd2094e0bc2f42c752c1abd21.jpg",
"name": "幹物小幺",
"is_followed": 0
},
{
"uid": 3223860,
"head_url": "https://i0.hdslb.com/bfs/face/c5400d25eb7700cd41d88dff5b800bd55ec27cfe.jpg",
"name": "您算哪根葱",
"is_followed": 0
},
{
"uid": 941228,
"head_url": "https://i2.hdslb.com/bfs/face/f38f000d4df21e9bea96d3573efdf81ae02f4ddf.jpg",
"name": "碳酸熊卡",
"is_followed": 0
},
{
"uid": 2624541,
"head_url": "https://i0.hdslb.com/bfs/face/86ccd746af8b1e8bfcdd432de7f0ce1e2b2cb8b0.jpg",
"name": "_一之濑光",
"is_followed": 0
},
{
"uid": 29963706,
"head_url": "https://i1.hdslb.com/bfs/face/c054f097f1b882fc6ad8a67d0f0f88e3acd3bc88.jpg",
"name": "公子温温温如",
"is_followed": 0
}
]
}
```
</details>
## 获取画友推荐作者
> http://api.vc.bilibili.com/link_draw/v2/Doc/drawer
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ------- |
| num | num | 请求数量 | 非必要 | 默认为6 |
**json回复**
见[获取摄影推荐作者](#获取摄影推荐作者)中的响应内容
**示例:**
请求获取画友推荐作者数量为5
```shell
curl -G 'http://api.vc.bilibili.com/link_draw/v2/Doc/drawer' \
--data-urlencode 'num=5'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "success",
"message": "success",
"data": [
{
"uid": 7905675,
"head_url": "http://i1.hdslb.com/bfs/face/d4765fd020e8b96e331861cb4d6a3afde4e70d1d.jpg",
"name": "我真的是离城",
"is_followed": 0
},
{
"uid": 20356494,
"head_url": "http://i0.hdslb.com/bfs/face/0686141506894df969832d7dda91f2a0c4cdc24b.jpg",
"name": "ZM-PANDA",
"is_followed": 0
},
{
"uid": 4836885,
"head_url": "http://i1.hdslb.com/bfs/face/48822c5aa7aeae9d3dd2010388baa2b0e1c5cc0a.jpg",
"name": "六六子w",
"is_followed": 0
},
{
"uid": 2575079,
"head_url": "http://i1.hdslb.com/bfs/face/cb3d6f4fb2fbe5aa85ab8773a1a19cec6d8ff1e1.jpg",
"name": "念萦墨葵",
"is_followed": 0
},
{
"uid": 1904878,
"head_url": "http://i0.hdslb.com/bfs/face/f6de926b3905ec7bb9e36202d80eb931d12f70ac.jpg",
"name": "fedsnk",
"is_followed": 0
}
]
}
```
</details>

View File

@ -126,7 +126,7 @@ import requests
AVID = 810872
CID = 1176840
SEG = 1
url = 'http://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=' + str(CID) + '&pid=' + str(AVID) + '&segment_index=' + str(SEG)
url = f'http://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid={CID}&pid={AVID}&segment_index={SEG}'
data = requests.get(url)
target = bilidm_pb2.DmSegMobileReply()

View File

@ -222,7 +222,7 @@ curl -G 'http://api.bilibili.com/x/v2/dm/web/view' \
### 获取互动弹幕
获取视频`av797164471(CID=236871317)`的互动弹幕
获取并显示视频`av797164471(CID=236871317)`的所有互动弹幕
```python
import web_dmview_pb2
@ -230,50 +230,45 @@ import requests
AVID = 797164471
CID = 236871317
url = 'http://api.bilibili.com/x/v2/dm/web/view?type=1&oid=' + str(CID) + '&pid=' + str(AVID)
url = f'http://api.bilibili.com/x/v2/dm/web/view?type=1&oid={CID}&pid={AVID}'
data = requests.get(url)
target = web_dmview_pb2.DmWebViewReply()
target.ParseFromString(data.content)
commandDms_len=len(target.commandDms)
print('互动弹幕数=',commandDms_len)
for i in range(commandDms_len):
print('互动弹幕[',i,']:')
print('---弹幕ID=',target.commandDms[i].id)
print('---视频CID=',target.commandDms[i].oid)
print('---发送者UID=',target.commandDms[i].mid)
print('---弹幕指令=',target.commandDms[i].command)
print('---弹幕文字=',target.commandDms[i].content)
print('---弹幕出现时间=',target.commandDms[i].progress)
print('---ctime=',target.commandDms[i].ctime)
print('---mtime=',target.commandDms[i].mtime)
print('---弹幕负载数据=',target.commandDms[i].extra)
print('---弹幕ID字串=',target.commandDms[i].idStr)
print(f'互动弹幕数={len(target.commandDms)}')
for i in target.commandDms:
print(f'''\
---弹幕ID={i.id}
---视频CID={i.oid}
---发送者UID={i.mid}
---弹幕指令={i.command}
---弹幕文字={i.content}
---弹幕出现时间={i.progress}
---弹幕负载数据={i.extra}
---弹幕ID字串={i.idStr}'''
)
```
输出为:
```
互动弹幕数= 1
互动弹幕[ 0 ]:
---弹幕ID= 38469676112019463
---视频CID= 236871317
---发送者UID= 501183549
---弹幕指令= #UP#
---弹幕文字= 这个视频没有恰饭!别紧张!
---弹幕出现时间= 157818
---ctime=
---mtime=
---弹幕负载数据= {"icon":"http://i1.hdslb.com/bfs/face/559abe31f561f71f3106d8ee7b2065cac50c1235.jpg"}
---弹幕ID字串= 38469676112019463
互动弹幕数=1
---弹幕ID=38469676112019463
---视频CID=236871317
---发送者UID=501183549
---弹幕指令=#UP#
---弹幕文字=这个视频没有恰饭!别紧张!
---弹幕出现时间=157818
---弹幕负载数据={"icon":"http://i1.hdslb.com/bfs/face/559abe31f561f71f3106d8ee7b2065cac50c1235.jpg"}
---弹幕ID字串=38469676112019463
```
### 获取BAS代码弹幕专包
BAS弹幕`pool=2` `mode=9`)只能从此包获取,代码弹幕(`pool=2` `mode=8`)也能从此包获取
获取视频`av2(CID=62131)`的BAS代码弹幕专包
获取并显示视频`av2(CID=62131)`的所有BAS代码弹幕专包
```python
import web_dmview_pb2
@ -281,23 +276,22 @@ import requests
AVID = 2
CID = 62131
url = 'http://api.bilibili.com/x/v2/dm/web/view?type=1&oid=' + str(CID) + '&pid=' + str(AVID)
url = f'http://api.bilibili.com/x/v2/dm/web/view?type=1&oid={CID}&pid={AVID}'
data = requests.get(url)
target = web_dmview_pb2.DmWebViewReply()
target.ParseFromString(data.content)
specialDms_len=len(target.specialDms)
print('特殊弹幕包数=',specialDms_len)
for i in range(specialDms_len):
print('特殊弹幕包url[',i,']=',target.specialDms[i])
print(f'特殊弹幕包数={len(target.specialDms)}')
for i in target.specialDms:
print(f'特殊弹幕包url={i}')
```
输出为:
```
特殊弹幕包数= 1
特殊弹幕包url[ 0 ]= http://i0.hdslb.com/bfs/dm/b0d5f08c12be59292aa0d4e09b6dd8e54c2ba886.bin
特殊弹幕包数=1
特殊弹幕包url=http://i0.hdslb.com/bfs/dm/b0d5f08c12be59292aa0d4e09b6dd8e54c2ba886.bin
```
使用[普通分段包弹幕](danmaku_proto.md#获取实时弹幕)的proto结构体反序列化此bin数据

View File

@ -15,11 +15,11 @@
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ------------ |
| type | num | 1 | 必要 | 作用尚不明确 |
| oid | num | 视频CID | 必要 | |
| month | str | 查询月份 | 必要 | mm-dd |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------ | ------ | ------- |
| type | num | 1 | 必要 | |
| oid | num | 视频CID | 必要 | |
| month | str | 查询目标年月 | 必要 | YYYY-MM |
**json回复**
@ -36,8 +36,8 @@
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------- | ---------- |
| 0 | str | 存在弹幕的日期1 | yyyy-mm-dd |
| n | str | 存在弹幕的日期(n+1) | yyyy-mm-dd |
| 0 | str | 存在弹幕的日期1 | YYYY-MM-DD |
| n | str | 存在弹幕的日期(n+1) | YYYY-MM-DD |
| …… | str | …… | …… |
**示例:**
@ -114,11 +114,11 @@ curl -G 'http://api.bilibili.com/x/v2/dm/history/index' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ------------ |
| type | num | 1 | 必要 | 作用尚不明确 |
| oid | num | 视频CID | 必要 | |
| date | str | 弹幕日期 | 必要 | yyyy-mm-dd |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---------- |
| type | num | 1 | 必要 | |
| oid | num | 视频CID | 必要 | |
| date | str | 弹幕日期 | 必要 | YYYY-MM-DD |
**示例:**

View File

@ -31,34 +31,34 @@
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------------- | ---- | ---------------- | ----------------------------------------------- |
| isLogin | bool | 是否已登录 | false未登录<br />true已登录 |
| email_verified | num | 是否验证邮箱地址 | 0未验证<br />1已验证 |
| face | str | 用户头像url | |
| level_info | obj | 等级信息 | |
| mid | num | 用户UID | |
| mobile_verified | num | 是否验证手机号 | 0未验证<br />1已验证 |
| money | num | 拥有硬币数 | |
| moral | num | 当前节操值 | 上限为70 |
| official | obj | 认证信息 | |
| officialVerify | obj | 认证信息2 | |
| pendant | obj | 头像框信息 | |
| scores | num | 0 | 作用尚不明确 |
| uname | str | 用户昵称 | |
| vipDueDate | num | 会员到期时间 | 毫秒 时间戳 |
| vipStatus | num | 会员开通状态 | 0<br />1有 |
| vipType | num | 会员类型 | 0<br />1月度大会员<br />2年度以上大会员 |
| vip_pay_type | num | 会员开通状态 | 0<br />1有 |
| vip_theme_type | num | 0 | 作用尚不明确 |
| vip_label | obj | 会员标签 | |
| vip_avatar_subscript | num | 是否显示会员图标 | 0不显示<br />1显示 |
| vip_nickname_color | str | 会员昵称颜色 | 颜色码 |
| wallet | obj | B币钱包信息 | |
| has_shop | bool | 是否拥有推广商品 | false<br />true有 |
| shop_url | str | 商品推广页面url | |
| allowance_count | num | 0 | 作用尚不明确 |
| answer_status | num | 0 | 作用尚不明确 |
| 字段 | 类型 | 内容 | 备注 |
| -------------------- | ---- | ---------------- | ------------------------------------------------- |
| isLogin | bool | 是否已登录 | false未登录<br />true已登录 |
| email_verified | num | 是否验证邮箱地址 | 0未验证<br />1已验证 |
| face | str | 用户头像url | |
| level_info | obj | 等级信息 | |
| mid | num | 用户UID | |
| mobile_verified | num | 是否验证手机号 | 0未验证<br />1已验证 |
| money | num | 拥有硬币数 | |
| moral | num | 当前节操值 | 上限为70 |
| official | obj | 认证信息 | |
| officialVerify | obj | 认证信息2 | |
| pendant | obj | 头像框信息 | |
| scores | num | 0 | 作用尚不明确 |
| uname | str | 用户昵称 | |
| vipDueDate | num | 会员到期时间 | 毫秒 时间戳 |
| vipStatus | num | 会员开通状态 | 0<br />1 |
| vipType | num | 会员类型 | 0<br />1月度大会员<br />2年度以上大会员 |
| vip_pay_type | num | 会员开通状态 | 0<br />1 |
| vip_theme_type | num | 0 | 作用尚不明确 |
| vip_label | obj | 会员标签 | |
| vip_avatar_subscript | num | 是否显示会员图标 | 0不显示<br />1显示 |
| vip_nickname_color | str | 会员昵称颜色 | 颜色码 |
| wallet | obj | B币钱包信息 | |
| has_shop | bool | 是否拥有推广商品 | false<br />true |
| shop_url | str | 商品推广页面url | |
| allowance_count | num | 0 | 作用尚不明确 |
| answer_status | num | 0 | 作用尚不明确 |
`data`中的`level_info`对象:

View File

@ -109,7 +109,7 @@ curl 'http://api.bilibili.com/x/note/add' \
删除稿件`av457253380`下的笔记`4075968478576647`
```shell
curl 'http://api.bilibili.com/x/note/add' \
curl 'http://api.bilibili.com/x/note/del' \
--data-urlencode 'aid=457253380' \
--data-urlencode 'note_id=4075968478576647' \
--data-urlencode 'csrf=xxx'

View File

@ -71,14 +71,14 @@
`data`中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------------- | ---- | ---------------- | --------------------------------------------- |
| type | num | 会员类型 | 0<br />1月大会员<br />2年以上大会员 |
| status | num | 会员状态 | 0<br />1有 |
| theme_type | num | 0 | 作用尚不明确 |
| label | obj | 会员标签 | |
| avatar_subscript | num | 是否显示会员图标 | 0不显示<br />1显示 |
| nickname_color | str | 会员昵称颜色 | 颜色码 |
| 字段 | 类型 | 内容 | 备注 |
| ---------------- | ---- | ---------------- | ----------------------------------------------- |
| type | num | 会员类型 | 0<br />1月大会员<br />2度及以上大会员 |
| status | num | 会员状态 | 0<br />1 |
| theme_type | num | 0 | 作用尚不明确 |
| label | obj | 会员标签 | |
| avatar_subscript | num | 是否显示会员图标 | 0不显示<br />1显示 |
| nickname_color | str | 会员昵称颜色 | 颜色码 |
`vip`中的`label`对象:
@ -373,14 +373,14 @@ http://i2.hdslb.com/bfs/space/cb1c3ef50e22b6096fde67febe863494caefebad.png
`card`中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ---------- | ----------------------------------- |
| vipType | num | 大会员类型 | 0<br />1月会员<br />2年会员 |
| dueRemark | str | 空 | **作用尚不明确** |
| accessStatus | num | 0 | **作用尚不明确** |
| vipStatus | num | 大会员状态 | 0<br />1有 |
| vipStatusWarn | str | 空 | **作用尚不明确** |
| theme_type | num | 0 | **作用尚不明确** |
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ---------- | ------------------------------------------------- |
| vipType | num | 大会员类型 | 0<br />1度大会员<br />2度及以上大会员 |
| dueRemark | str | 空 | **作用尚不明确** |
| accessStatus | num | 0 | **作用尚不明确** |
| vipStatus | num | 大会员状态 | 0<br />1 |
| vipStatusWarn | str | 空 | **作用尚不明确** |
| theme_type | num | 0 | **作用尚不明确** |
`card`中的`space`对象:
@ -527,20 +527,22 @@ curl -G 'api.bilibili.com/x/web-interface/card' \
`data`中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | -------------- | ----------------------------------- |
| type | num | 会员类型 | 0<br />1月会员<br />2年会员 |
| status | num | 会员状态 | 0<br />1有 |
| due_date | num | 大会员到期时间 | 毫秒 时间戳 |
| vip_pay_type | num | 1 | **作用尚不明确** |
| theme_type | num | 0 | **作用尚不明确** |
| label | obj | | |
| 字段 | 类型 | 内容 | 备注 |
| ---------------- | ---- | ---------------- | ----------------------------------------------- |
| type | num | 会员类型 | 0<br />1会员<br />2度及以上大会员 |
| status | num | 会员状态 | 0<br />1 |
| theme_type | num | 0 | 作用尚不明确 |
| label | obj | 会员标签 | |
| avatar_subscript | num | 是否显示会员图标 | 0不显示<br />1显示 |
| nickname_color | str | 会员昵称颜色 | 颜色码 |
`vip`中的`label`对象:
`vip`中的`label`对象
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---------------- |
| path | str | 空 | **作用尚不明确** |
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | -------- | ------------------------------------------------------------ |
| path | str | 空 | 作用尚不明确 |
| text | str | 会员名称 | |
| label_theme | str | 会员标签 | vip大会员<br />annual_vip年度大会员<br />ten_annual_vip十年大会员<br />hundred_annual_vip百年大会员 |
`data`中的`pendant`对象:

View File

@ -98,11 +98,11 @@
| ---------------------------- | ----------------- | ---- | --------------------------------------------------------- | ------------------------------------------------------------ |
| 知识(主分区) | technology | 36 | | [/v/technology](https://www.bilibili.com/v/technology) |
| 科学科普 | science | 201 | 回答你的十万个为什么 | [/v/technology/science](https://www.bilibili.com/v/technology/science) |
| 社科人文(~~趣味科普人文~~ | fun | 124 | 聊聊财经/社会/法律,看看历史趣闻,品品人文艺术 | [/v/technology/fun](https://www.bilibili.com/v/technology/fun) |
| 社科人文(~~趣味科普人文~~ | fun | 124 | 聊聊互联网社会法律,看看历史趣闻艺术,品品文化心理人物 | [/v/technology/fun](https://www.bilibili.com/v/technology/fun) |
| 财经 | finance | 207 | 宏观经济分析,证券市场动态,商业帝国故事,知识与财富齐飞~ | [/v/technology/finance](https://www.bilibili.com/v/technology/finance) |
| 校园学习 | campus | 208 | 老师很有趣,同学多人才,我们都爱搞学习 | [/v/technology/campus](https://www.bilibili.com/v/technology/campus) |
| 职业职场 | career | 209 | 职场加油站,成为最有料的职场人 | [/v/technology/career](https://www.bilibili.com/v/technology/career) |
| 野生技术协会 | wild | 122 | 是时候展现真正的技术了 | [/v/technology/wild](https://www.bilibili.com/v/technology/wild) |
| 野生技术协会 | wild | 122 | 炫酷技能大集合,是时候展现真正的技术了 | [/v/technology/wild](https://www.bilibili.com/v/technology/wild) |
| ~~演讲·公开课~~(已下线) | ~~speech_course~~ | 39 | ~~涨知识的好地方,给爱学习的你~~ | ~~/v/technology/speech_course~~ |
| ~~星海~~(已下线) | ~~military~~ | 96 | ~~军事类内容的圣地~~ | ~~/v/technology/military~~ |
| ~~机械~~(已下线) | ~~mechanical~~ | 98 | ~~机械设备展示或制作视频~~ | ~~/v/technology/mechanical~~ |
@ -111,13 +111,13 @@
<img src="/imgs/zone/digital.svg" width="100" height="100"/>
| 名称 | 代号 | tID | 简介 | url路由 |
| -------------- | --------------- | ---- | ---------------------------- | ------------------------------------------------------------ |
| 数码(主分区) | digital | 188 | | [/v/digital](https://www.bilibili.com/v/digital) |
| 手机平板 | mobile | 95 | 手机平板设备相关视频 | [/v/digital/mobile](https://www.bilibili.com/v/digital/mobile) |
| 电脑装机 | pc | 189 | 电脑装机配件等相关视频 | [/v/digital/pc](https://www.bilibili.com/v/digital/pc) |
| 摄影摄像 | photography | 190 | 摄影摄像器材等相关视频 | [/v/digital/photography](https://www.bilibili.com/v/digital/photography) |
| 影音智能 | intelligence_av | 191 | 影音设备、智能产品等相关视频 | [/v/digital/intelligence_av](https://www.bilibili.com/v/digital/intelligence_av) |
| 名称 | 代号 | tID | 简介 | url路由 |
| -------------- | --------------- | ---- | -------------------------------------------------- | ------------------------------------------------------------ |
| 数码(主分区) | digital | 188 | | [/v/digital](https://www.bilibili.com/v/digital) |
| 手机平板 | mobile | 95 | 手机平板、app 和产品教程等相关视频 | [/v/digital/mobile](https://www.bilibili.com/v/digital/mobile) |
| 电脑装机 | pc | 189 | 电脑、笔记本、装机配件、外设和软件教程等相关视频 | [/v/digital/pc](https://www.bilibili.com/v/digital/pc) |
| 摄影摄像 | photography | 190 | 摄影摄像器材、拍摄剪辑技巧、拍摄作品分享等相关视频 | [/v/digital/photography](https://www.bilibili.com/v/digital/photography) |
| 影音智能 | intelligence_av | 191 | 影音设备、智能产品等相关视频 | [/v/digital/intelligence_av](https://www.bilibili.com/v/digital/intelligence_av) |
## 生活
@ -125,18 +125,18 @@
<img src="/imgs/zone/life.svg" width="100" height="100"/>
| 名称 | 代号 | tID | 简介 | url路由 |
| -------------------- | ---------- | ------ | ----------------------------------------------------- | ------------------------------------------------------------ |
| 生活(主分区) | life | 160 | | [/v/life](https://www.bilibili.com/v/life) |
| 搞笑 | funny | 138 | 搞笑的、轻松有趣的、具有独特笑点或娱乐精神的视频 | [/v/life/funny](https://www.bilibili.com/v/life/funny) |
| 日常 | daily | 21 | 漫展、cosplay、体育运动及其他一般日常向视频 | [/v/life/daily](https://www.bilibili.com/v/life/daily) |
| ~~美食圈~~(重定向) | ~~food~~ | ~~76~~ | ~~美食鉴赏&料理制作教程~~ | ~~/v/life/food~~ |
| 动物圈 | animal | 75 | 这里有各种萌萌哒动物哦 | [/v/life/animal](https://www.bilibili.com/v/life/animal) |
| 手工 | handmake | 161 | 简易手工艺品的diy制作视频例如折纸、手账、橡皮章等 | [/v/life/handmake](https://www.bilibili.com/v/life/handmake) |
| 绘画 | painting | 162 | 绘画爱好者们关于绘画技巧、绘图过程的分享交流场所 | [/v/life/painting](https://www.bilibili.com/v/life/painting) |
| 运动 | sports | 163 | 一般向运动项目以及惊险刺激的户外极限运动 | [/v/life/sports](https://www.bilibili.com/v/life/sports) |
| 汽车 | automobile | 176 | 专业汽车资讯,分享车生活 | [/v/life/automobile](https://www.bilibili.com/v/life/automobile) |
| 其他 | other | 174 | 对于分区归属不明的视频进行归纳整合的特定分区 | [/v/life/other](https://www.bilibili.com/v/life/other) |
| 名称 | 代号 | tID | 简介 | url路由 |
| -------------------- | ---------- | ------ | ------------------------------------------------ | ------------------------------------------------------------ |
| 生活(主分区) | life | 160 | | [/v/life](https://www.bilibili.com/v/life) |
| 搞笑 | funny | 138 | 各种沙雕有趣的搞笑剪辑,挑战,表演,配音等视频 | [/v/life/funny](https://www.bilibili.com/v/life/funny) |
| 日常 | daily | 21 | 记录日常生活,分享生活故事 | [/v/life/daily](https://www.bilibili.com/v/life/daily) |
| ~~美食圈~~(重定向) | ~~food~~ | ~~76~~ | ~~美食鉴赏&料理制作教程~~ | ~~/v/life/food~~ |
| 动物圈 | animal | 75 | 萌萌的动物都在这里哦 | [/v/life/animal](https://www.bilibili.com/v/life/animal) |
| 手工 | handmake | 161 | 手工制品的制作过程或成品展示、教程、测评类视频 | [/v/life/handmake](https://www.bilibili.com/v/life/handmake) |
| 绘画 | painting | 162 | 绘画过程或绘画教程,以及绘画相关的所有视频 | [/v/life/painting](https://www.bilibili.com/v/life/painting) |
| 运动 | sports | 163 | 运动相关的记录、教程、装备评测和精彩瞬间剪辑视频 | [/v/life/sports](https://www.bilibili.com/v/life/sports) |
| 汽车 | automobile | 176 | 专业汽车资讯,分享车生活 | [/v/life/automobile](https://www.bilibili.com/v/life/automobile) |
| 其他 | other | 174 | 对于分区归属不明的视频进行归纳整合的特定分区 | [/v/life/other](https://www.bilibili.com/v/life/other) |
## 美食
@ -163,6 +163,7 @@
| 鬼畜调教 | guide | 22 | 使用素材在音频、画面上做一定处理达到与BGM一定的同步感 | [/v/kichiku/guide](https://www.bilibili.com/v/kichiku/guide) |
| 音MAD | mad | 26 | 使用素材音频进行一定的二次创作来达到还原原曲的非商业性质稿件 | [/v/kichiku/mad/v/kichiku/mad](https://www.bilibili.com/v/kichiku/mad) |
| 人力VOCALOID | manual_vocaloid | 126 | 将人物或者角色的无伴奏素材进行人工调音使其就像VOCALOID一样歌唱的技术 | [/v/kichiku/manual_vocaloid](https://www.bilibili.com/v/kichiku/manual_vocaloid) |
| 鬼畜剧场 | theatre | 216 | 使用素材进行人工剪辑编排的有剧情的作品 | [/v/kichiku/theatre](https://www.bilibili.com/v/kichiku/theatre) |
| 教程演示 | course | 127 | 鬼畜相关的教程演示 | [/v/kichiku/course](https://www.bilibili.com/v/kichiku/course) |
## 时尚
@ -207,12 +208,12 @@
<img src="/imgs/zone/ent.svg" width="100" height="100"/>
| 名称 | 代号 | tID | 简介 | url路由 |
| -------------- | ------- | ---- | ---------------------------------- | -------------------------------------------------------- |
| 娱乐(主分区) | ent | 5 | | [/v/ent](https://www.bilibili.com/v/ent) |
| 综艺 | variety | 71 | 国内外有趣的综艺和综艺相关精彩剪辑 | [/v/ent/variety](https://www.bilibili.com/v/ent/variety) |
| 明星 | star | 137 | 娱乐圈动态、明星资讯相关 | [/v/ent/star](https://www.bilibili.com/v/ent/star) |
| Korea相关 | korea | 131 | Korea相关音乐、舞蹈、综艺等视频 | [/v/ent/korea](https://www.bilibili.com/v/ent/korea) |
| 名称 | 代号 | tID | 简介 | url路由 |
| ----------------------- | --------- | ---- | ----------------------------------- | -------------------------------------------------------- |
| 娱乐(主分区) | ent | 5 | | [/v/ent](https://www.bilibili.com/v/ent) |
| 综艺 | variety | 71 | 国内外有趣的综艺和综艺相关精彩剪辑 | [/v/ent/variety](https://www.bilibili.com/v/ent/variety) |
| 明星 | star | 137 | 娱乐圈动态、明星资讯相关 | [/v/ent/star](https://www.bilibili.com/v/ent/star) |
| ~~Korea相关~~(已下线) | ~~korea~~ | 131 | ~~Korea相关音乐、舞蹈、综艺等视频~~ | ~~/v/ent/korea~~ |
## 影视