diff --git a/README.md b/README.md index 9489f90..10ad3b8 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [x] [直播间禁言相关](docs/live/silent_user_manage.md) - [ ] [关注UP直播情况](docs/live/follow_up_live.md) - [ ] [直播心跳上报](docs/live/report.md) + - [ ] [直播间弹幕](docs/live/danmaku.md) - [ ] [活动](docs/activity) - [ ] [活动列表](docs/activity/list.md) - [ ] [活动主题信息](docs/activity/info.md) diff --git a/docs/live/danmaku.md b/docs/live/danmaku.md new file mode 100644 index 0000000..68b8309 --- /dev/null +++ b/docs/live/danmaku.md @@ -0,0 +1,507 @@ +# 直播间弹幕 + +## 获取当前用户对应直播间可发弹幕配置 + +> https://api.live.bilibili.com/xlive/web-room/v1/dM/GetDMConfigByGroup + +*请求方式: GET* + +认证方式: Cookie (SESSDATA) + +未登录也可以获取,但颜色只有白色可用,模式只有滚动。 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---- | --- | --- | ---- | --- | +| room_id | num | 直播间id | 必要 | | +| web_location | str | (?) | 非必要 | 作用尚不明确 | +| w_rid | str | wbi签名 | 非必要 | 不强制需要 | +| wts | num | 秒时间戳 | 非必要 | 不强制需要 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0: 成功
-400: 参数错误 | +| data | obj | 信息本体 | | +| message | str | 错误信息 | | +| msg | str | 信息 | 成功时存在,为`""`(空字符串) | +| ttl | num | `1` | 成功时不存在 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| group | arr | 弹幕颜色组 | | +| mode | arr | 弹幕显示模式 | | + +`data.group` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| name | str | 显示名称 | | +| sort | num | 用于排序 | | +| color | arr | 该组颜色列表 | | + +`data.group[i].color` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| name | str | 颜色名 | | +| color | str | 十进制颜色值 | 发送弹幕用 | +| color\_hex | str | 十六进制颜色值 | 发送弹幕用 | +| status | num | 可用状态 | 0: 不可用
1: 可用 | +| weight | num | (?) | 作用尚不明确 | +| color\_id | num | 颜色id? | | +| origin | num | (?) | | + +`data.mode` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| name | str | 模式名称 | | +| mode | num | 模式值 | 发送弹幕用 | +| type | str | 模式类型 | | +| status | num | 可用状态 | 0: 不可用
1: 可用 | + +**示例:** + +获取未登录用户在直播间 `1` 的弹幕配置可用情况 + +```shell +curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/GetDMConfigByGroup?room_id=1' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "data": { + "group": [ + { + "name": "普", + "sort": 0, + "color": [ + { + "name": "白色", + "color": "16777215", + "color_hex": "ffffff", + "status": 1, + "weight": -9999, + "color_id": -9999, + "origin": 0 + } + ] + }, + { + "name": "航", + "sort": 100, + "color": [ + { + "name": "紫色", + "color": "14893055", + "color_hex": "e33fff", + "status": 0, + "weight": 0, + "color_id": 6, + "origin": 1 + } + ] + }, + { + "name": "粉", + "sort": 200, + "color": [ + { + "name": "松石绿", + "color": "5566168", + "color_hex": "54eed8", + "status": 0, + "weight": 99, + "color_id": 66, + "origin": 2 + }, + { + "name": "雨后蓝", + "color": "5816798", + "color_hex": "58c1de", + "status": 0, + "weight": 98, + "color_id": 67, + "origin": 2 + }, + { + "name": "星空蓝", + "color": "4546550", + "color_hex": "455ff6", + "status": 0, + "weight": 97, + "color_id": 68, + "origin": 2 + }, + { + "name": "紫罗兰", + "color": "9920249", + "color_hex": "975ef9", + "status": 0, + "weight": 96, + "color_id": 69, + "origin": 2 + }, + { + "name": "梦境红", + "color": "12802438", + "color_hex": "c35986", + "status": 0, + "weight": 95, + "color_id": 70, + "origin": 2 + }, + { + "name": "热力橙", + "color": "16747553", + "color_hex": "ff8c21", + "status": 0, + "weight": 94, + "color_id": 71, + "origin": 2 + }, + { + "name": "香槟金", + "color": "16774434", + "color_hex": "fff522", + "status": 0, + "weight": 93, + "color_id": 72, + "origin": 2 + } + ] + }, + { + "name": "爷", + "sort": 300, + "color": [ + { + "name": "红色", + "color": "16738408", + "color_hex": "ff6868", + "status": 0, + "weight": 0, + "color_id": 8, + "origin": 3 + }, + { + "name": "蓝色", + "color": "6737151", + "color_hex": "66ccff", + "status": 0, + "weight": 0, + "color_id": 7, + "origin": 3 + } + ] + }, + { + "name": "活", + "sort": 400, + "color": [ + { + "name": "盛典金", + "color": "16766720", + "color_hex": "ffd700", + "status": 0, + "weight": 100, + "color_id": 44, + "origin": 4 + }, + { + "name": "升腾蓝", + "color": "4286945", + "color_hex": "4169e1", + "status": 0, + "weight": 100, + "color_id": 43, + "origin": 4 + }, + { + "name": "青色", + "color": "65532", + "color_hex": "fffc", + "status": 0, + "weight": 0, + "color_id": 5, + "origin": 4 + }, + { + "name": "绿色", + "color": "8322816", + "color_hex": "7eff00", + "status": 0, + "weight": 0, + "color_id": 4, + "origin": 4 + }, + { + "name": "黄色弹幕", + "color": "16772431", + "color_hex": "ffed4f", + "status": 0, + "weight": 0, + "color_id": 3, + "origin": 4 + }, + { + "name": "橙色", + "color": "16750592", + "color_hex": "ff9800", + "status": 0, + "weight": 0, + "color_id": 2, + "origin": 4 + }, + { + "name": "粉色", + "color": "16741274", + "color_hex": "ff739a", + "status": 0, + "weight": 0, + "color_id": 1, + "origin": 4 + } + ] + } + ], + "mode": [ + { + "name": "滚动", + "mode": 1, + "type": "scroll", + "status": 1 + }, + { + "name": "底部", + "mode": 4, + "type": "bottom", + "status": 0 + }, + { + "name": "顶部", + "mode": 5, + "type": "top", + "status": 0 + } + ] + }, + "message": "", + "msg": "" +} +``` + +
+ +## 设置弹幕样式 + +> https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig + +*请求方式: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数 (application/x-www-form-urlencoded):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---- | --- | --- | ---- | --- | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| csrf\_token | str | 同csrf | 非必要 | | +| room\_id | num | 直播间id | 必要 | | +| color | str | 颜色值 | 必要(可选) | color和mode任选一个 | +| mode | num | 弹幕模式 | 必要(可选) | color和mode任选一个 | + +注1: 抓取到的color格式是`"0x"+六位十六进制小写颜色值`,实际不需要`0x`,且不区分大小写。 + +注2: 若color和mode同时存在将只处理color,mode将被忽略。(见[#1236(comment)](https://github.com/SocialSisterYi/bilibili-API-collect/issues/1236#issuecomment-2849019923)) + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0: 成功
-101: 账号未登录
-500: 未达到使用条件
10064002: 参数错误
10065107: 颜色不存在 | +| message | str | 错误信息 | | +| ttl | num | `1` | | +| data | obj | 信息本体 | 部分情况不存在,10064002时为`null` | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| status | num | 同code | | +| msg | str | 提示信息 | 成功时有内容 | +| roomid | num | 直播间id | | + +**示例:** + +更改直播间 `1017` 的弹幕颜色为白色 + +```shell +curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig' \ + --data-urlencode 'room_id=1017' \ + --data-urlencode 'color=0xffffff' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code":0, + "message":"0", + "ttl":1, + "data":{ + "status":0, + "msg":"设置成功~", + "roomid":1017 + } +} +``` + +
+ +## 发送直播弹幕 + +> https://api.live.bilibili.com/msg/send + +*请求方式: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | ---- | --- | ----- | --- | +| w_rid | str | wbi签名 | 非必要 | 不强制需要 | +| wts | num | Unix 秒时间戳 | 非必要 | 不强制需要 | + +**正文参数 (`application/x-www-form-urlencoded`或`multipart/form-data`):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---- | --- | --- | ---- | --- | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| roomid | num | 直播间id | 必要 | | +| msg | str | 弹幕内容 | 必要 | | +| rnd | num | 当前 Unix 秒时间戳 | 必要 | | +| fontsize | num | 字体大小 | 必要 | 默认为`25` | +| color | num | 十进制颜色值 | 必要 | 实际无效果 | +| mode | num | 展示模式 | 非必要 | 默认为`1` | +| bubble | num | (?) | 非必要 | 值为`0` | +| room\_type | num | (?) | 非必要 | `0` | +| jumpfrom | num | (?) | 非必要 | `0` | +| reply\_mid | num | (?) | 非必要 | `0` | +| reply\_attr | num | (?) | 非必要 | `0` | +| reply\_uname | str | (?) | 非必要 | `""` | +| replay\_dmid | str | (?) | 非必要 | `""` | +| statistics | str | (?) | 非必要 | `{"appId":100,"platform":5}` | +| csrf_token | str | 同csrf | 非必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | `-101`:账号未登录
`-111`:csrf 校验失败
`-400`:请求错误,带有必须参数的信息
`1003212`:超出限制长度
`10031`:发送频率过快 | +| message | str | 错误信息 | | +| msg | str | 同`message` | | +| data | obj | 信息本体 | | +| ttl | num | `1` | 在小于0的code中存在 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| mode_info | obj | 弹幕信息 | | +| dm_v2 | null | v2弹幕 | | + +`data.mode_info` 对象: + +基本上与[直播间信息流#弹幕 (DANMU_MSG)](message_stream.md#弹幕-danmu_msg)的`info[0][15]`对象相同。 + +**示例:** + +给直播间 `1899237171` 发送内容为 `QwQ` 的弹幕 + +```shell +curl 'https://api.live.bilibili.com/msg/send' \ + --data-urlencode 'roomid=1899237171' \ + --data-urlencode 'msg=QwQ' \ + --data-urlencode 'rnd=1744956003' \ + --data-urlencode 'fontsize=25' + --data-urlencode 'color=16777215' + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code":0, + "data":{ + "mode_info":{ + "mode":0, + "show_player_type":0, + "extra":"{\"send_from_me\":true,\"master_player_hidden\":false,\"mode\":0,\"color\":16777215,\"dm_type\":0,\"font_size\":25,\"player_mode\":1,\"show_player_type\":0,\"content\":\"QwQ\",\"user_hash\":\"2402762465\",\"emoticon_unique\":\"\",\"bulge_display\":0,\"recommend_score\":7,\"main_state_dm_color\":\"\",\"objective_state_dm_color\":\"\",\"direction\":0,\"pk_direction\":0,\"quartet_direction\":0,\"anniversary_crowd\":0,\"yeah_space_type\":\"\",\"yeah_space_url\":\"\",\"jump_to_url\":\"\",\"space_type\":\"\",\"space_url\":\"\",\"animation\":{},\"emots\":null,\"is_audited\":false,\"id_str\":\"4e3ed8ede9409b234b5e1d64c06801ea3119\",\"icon\":null,\"show_reply\":true,\"reply_mid\":0,\"reply_uname\":\"\",\"reply_uname_color\":\"\",\"reply_is_mystery\":false,\"reply_type_enum\":0,\"hit_combo\":0,\"esports_jump_url\":\"\"}", + "user":{ + "uid":438160221, + "base":{ + "name":"weatfe", + "face":"https://i0.hdslb.com/bfs/face/member/noface.jpg", + "name_color":0, + "is_mystery":false, + "risk_ctrl_info":null, + "origin_info":{ + "name":"weatfe", + "face":"https://i0.hdslb.com/bfs/face/member/noface.jpg" + }, + "official_info":{ + "role":0, + "title":"", + "desc":"", + "type":-1 + }, + "name_color_str":"" + }, + "medal":null, + "wealth":null, + "title":{ + "old_title_css_id":"", + "title_css_id":"" + }, + "guard":null, + "uhead_frame":null, + "guard_leader":{ + "is_guard_leader":false + } + } + }, + "dm_v2":null + }, + "message":"", + "msg":"" +} +``` + +
diff --git a/docs/user/space.md b/docs/user/space.md index 58c0a6b..36142af 100644 --- a/docs/user/space.md +++ b/docs/user/space.md @@ -2598,6 +2598,7 @@ curl -G 'https://app.bilibili.com/x/v2/space/likearc' \ | 字段 | 类型 | 内容 | 备注 | | ----- | ------ | ---------------- | ---- | +| slist | array | 空数组 | | | tlist | obj | 投稿视频分区索引 | | | vlist | array | 投稿视频列表 | | @@ -2626,30 +2627,76 @@ curl -G 'https://app.bilibili.com/x/v2/space/likearc' \ `list`中的`vlist`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| -------------- | ---- | -------------- | ---------------------------- | -| aid | num | 稿件avid | | -| attribute | num | | | -| author | str | 视频UP主 | 不一定为目标用户(合作视频) | -| bvid | str | 稿件bvid | | -| comment | num | 视频评论数 | | -| copyright | str | 视频版权类型 | | -| created | num | 投稿时间 | 时间戳 | -| description | str | 视频简介 | | -| enable_vt | num | | | -| hide_click | bool | false | 作用尚不明确 | -| is_pay | num | 0 | 作用尚不明确 | -| is_union_video | num | 是否为合作视频 | 0:否
1:是 | -| length | str | 视频长度 | MM:SS | -| mid | num | 视频UP主mid | 不一定为目标用户(合作视频) | -| meta | obj | | 无数据时为 null | -| pic | str | 视频封面 | | -| play | num | 视频播放次数 | | -| review | num | 0 | 作用尚不明确 | -| subtitle | str | 空 | 作用尚不明确 | -| title | str | 视频标题 | | -| typeid | num | 视频分区tid | | -| video_review | num | 视频弹幕数 | | +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | -------------- | ---------------------------- | +| aid | num | 稿件avid | | +| attribute | num | | | +| author | str | 视频UP主 | 不一定为目标用户(合作视频) | +| bvid | str | 稿件bvid | | +| comment | num | 视频评论数 | | +| copyright | str | 视频版权类型 | | +| created | num | 投稿时间 | 时间戳 | +| description | str | 视频简介 | | +| elec_arc_type | num | 充电为1,否则0 | 可能还有其他情况 | +| enable_vt | num | 0 | 作用尚不明确 | +| hide_click | bool | false | 作用尚不明确 | +| is_avoided | num | 0 | 作用尚不明确 | +| is_charging_arc | bool | 是否为充电视频 | | +| is_lesson_video | num | 是否为课堂视频 | 0:否
1:是 | +| is_lesson_finished | num | 课堂是否已完结 | 0:否
1:是 | +| is_live_playback | num | 是否为直播回放 | 0:否
1:是 | +| is_pay | num | 0 | 作用尚不明确 | +| is_self_view | bool | false | 作用尚不明确 | +| is_steins_gate | num | 是否为互动视频 | 0:否
1:是 | +| is_union_video | num | 是否为合作视频 | 0:否
1:是 | +| jump_url | str | 跳转链接 | 跳转到课堂的链接,否则为"" | +| length | str | 视频长度 | MM:SS | +| mid | num | 视频UP主mid | 不一定为目标用户(合作视频) | +| meta | obj | 所属合集或课堂 | 无数据时为 null | +| pic | str | 视频封面 | | +| play | num | 视频播放次数 | | +| playback_position | num | 百分比播放进度 | 封面下方显示的粉色条 | +| review | num | 0 | 作用尚不明确 | +| season_id | num | 合集或课堂编号 | 都不属于时为0 | +| subtitle | str | 空 | 作用尚不明确 | +| title | str | 视频标题 | | +| typeid | num | 视频分区tid | | +| video_review | num | 视频弹幕数 | | +| vt | num | 0 | 作用尚不明确 | +| vt_display | str | 空 | 作用尚不明确 | + +`list`中的`vlist`数组中的对象中的`meta`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | ------------ | ---------------- | +| attribute | num | 0 | 作用尚不明确 | +| cover | str | 合集封面URL | | +| ep_count | num | 合集视频数量 | | +| ep_num | num | 合集视频数量 | | +| first_aid | num | 首个视频av号 | | +| id | num | 合集id | | +| intro | str | 合集介绍 | | +| mid | num | UP主uid | 若为课堂,则为0 | +| ptime | num | unix时间(s) | 最后更新时间 | +| sign_state | num | 0 | 作用尚不明确 | +| stat | obj | 合集统计数据 | | +| title | str | 合集名称 | | + +`list`中的`vlist`数组中的对象中的`meta`对象中的`stat`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | ------------ | -------------------- | +| coin | num | 合集总投币数 | | +| danmaku | num | 合集总弹幕数 | | +| favorite | num | 合集总收藏数 | | +| like | num | 合集总点赞数 | | +| mtime | num | unix时间(s) | 其他统计数据更新时间 | +| reply | num | 合集总评论数 | | +| season_id | num | 合集id | | +| share | num | 合集总分享数 | | +| view | num | 合集总播放量 | | +| vt | num | 0 | 作用尚不明确 | +| vv | num | 0 | 作用尚不明确 | `data`中的`page`对象: @@ -2684,95 +2731,187 @@ curl -G 'https://api.bilibili.com/x/space/arc/search' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "list": { - "tlist": { - "1": { - "tid": 1, - "count": 26, - "name": "动画" - }, - "160": { - "tid": 160, - "count": 42, - "name": "生活" - }, - "211": { - "tid": 211, - "count": 3, - "name": "美食" - }, - "3": { - "tid": 3, - "count": 33, - "name": "音乐" - }, - "4": { - "tid": 4, - "count": 72, - "name": "游戏" - } - }, - "vlist": [ - { - "comment": 3558, - "typeid": 47, - "play": 1275661, - "pic": "//i2.hdslb.com/bfs/archive/90157806a34646ac2d4c6af3e8b6156cb3460d14.jpg", - "subtitle": "", - "description": "第一期:BV1ak4y1B7aG\n第二期:BV1eA411Y7FN\n脚本/绘画/配音/动画/片尾曲:warma\n第三期终于做完啦!这是一个以我平时发呆的时候想到的一些灵感组成的冷笑话合集,名字叫《沃玛的生活》,可以当作日常搞笑单元小动画来看。\n如果你喜欢这个系列的话请点赞投币收藏一键三连给我一些继续制作的动力吧,我真的非常非常需要更多的动力!\n祝看得开心~\n我的微博:@_warma_", - "copyright": "", - "title": "【warma】沃玛的新番更新!从现在开始放飞自我【沃玛的生活/第三期】", - "review": 0, - "author": "Warma", - "mid": 53456, - "created": 1605844817, - "length": "05:16", - "video_review": 7470, - "aid": 585275804, - "bvid": "BV1sz4y1y7KJ", - "hide_click": false, - "is_pay": 0, - "is_union_video": 0, - "is_steins_gate": 0 - }, - { - "comment": 2979, - "typeid": 21, - "play": 840676, - "pic": "//i2.hdslb.com/bfs/archive/b43f88c6ebae8fdc7dfb663f6f6f2931b924c763.jpg", - "subtitle": "", - "description": "前一阵子过生日,大家的礼物经过几番转寄终于收到了~于是录了这期礼物开箱视频。\n现在也在感慨,大家的礼物真的都太强了,居然这些全都是手工做的,真的好厉害!\n这些手工礼物背后得花多少时间和心力啊……这些对我来说都是无价的礼物,制作礼物的大家真的有心了,谢谢!!\n收到这些礼物真的很开心,视频的封面也是在这样激动的情况下画出来的,祝你看得开心~\n我的微博:@_warma_", - "copyright": "", - "title": "【warma】来开箱!大家寄来的生日礼物", - "review": 0, - "author": "Warma", - "mid": 53456, - "created": 1604635221, - "length": "24:28", - "video_review": 10476, - "aid": 287744380, - "bvid": "BV1xf4y1q7XN", - "hide_click": false, - "is_pay": 0, - "is_union_video": 0, - "is_steins_gate": 0 - } - ] - }, - "page": { - "pn": 1, - "ps": 2, - "count": 176 - }, - "episodic_button": { - "text": "播放全部", - "uri": "//www.bilibili.com/medialist/play/53456?from=space" - } - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": { + "slist": [], + "tlist": { + "1": { + "tid": 1, + "count": 3, + "name": "动画" + }, + "129": { + "tid": 129, + "count": 1, + "name": "舞蹈" + }, + "160": { + "tid": 160, + "count": 96, + "name": "生活" + }, + "177": { + "tid": 177, + "count": 4, + "name": "纪录片" + }, + "181": { + "tid": 181, + "count": 50, + "name": "影视" + }, + "188": { + "tid": 188, + "count": 444, + "name": "科技" + }, + "196": { + "tid": 196, + "count": 2, + "name": "课堂" + } + }, + "vlist": [{ + "comment": 985, + "typeid": 250, + "play": 224185, + "pic": "http://i0.hdslb.com/bfs/archive/5e56c10a9bd67f2fcac46fdd0fc2caa8769700c8.jpg", + "subtitle": "", + "description": "这一次,我们的样片日记首次来到了西藏,在桃花季开启了藏东样片之旅!这趟“开荒”之旅我们跋山涉水,一路硬刚,多亏有路虎卫士这样的神队友撑全场!这次的素材我们也上传到了官网(ysjf.com/material),欢迎大家去看看~如果你喜欢这期视频,请多多支持我们,并把视频分享给你的朋友们一起看看!", + "copyright": "1", + "title": "和朋友去西藏拍样片日记……", + "review": 0, + "author": "影视飓风", + "mid": 946974, + "created": 1745290800, + "length": "22:11", + "video_review": 2365, + "aid": 114375683741573, + "bvid": "BV1ac5yzhE94", + "hide_click": false, + "is_pay": 0, + "is_union_video": 1, + "is_steins_gate": 0, + "is_live_playback": 0, + "is_lesson_video": 0, + "is_lesson_finished": 0, + "lesson_update_info": "", + "jump_url": "", + "meta": { + "id": 2046621, + "title": "样片日记", + "cover": "https://archive.biliimg.com/bfs/archive/e2ca3e5a6672cf35c9e61ac02e8d739cc0aafa8b.jpg", + "mid": 946974, + "intro": "", + "sign_state": 0, + "attribute": 140, + "stat": { + "season_id": 2046621, + "view": 31755096, + "danmaku": 171253, + "reply": 33685, + "favorite": 409505, + "coin": 935105, + "share": 199467, + "like": 1791607, + "mtime": 1745309513, + "vt": 0, + "vv": 0 + }, + "ep_count": 13, + "first_aid": 238588630, + "ptime": 1745290800, + "ep_num": 13 + }, + "is_avoided": 0, + "season_id": 2046621, + "attribute": 16793984, + "is_charging_arc": false, + "elec_arc_type": 0, + "vt": 0, + "enable_vt": 0, + "vt_display": "", + "playback_position": 0, + "is_self_view": false + }, { + "comment": 0, + "typeid": 197, + "play": 8506, + "pic": "https://archive.biliimg.com/bfs/archive/489f3df26a190a152ad479bfe50a73f1cd4c43c5.jpg", + "subtitle": "", + "description": "8节课,Tim和青青带你用iPhone拍出电影感", + "copyright": "1", + "title": "【影视飓风】只看8节课,用iPhone拍出电影感", + "review": 0, + "author": "影视飓风", + "mid": 946974, + "created": 1744865737, + "length": "00:00", + "video_review": 9, + "aid": 114351440726681, + "bvid": "BV1WB5ezxEnz", + "hide_click": false, + "is_pay": 0, + "is_union_video": 0, + "is_steins_gate": 0, + "is_live_playback": 0, + "is_lesson_video": 1, + "is_lesson_finished": 1, + "lesson_update_info": "8", + "jump_url": "https://www.bilibili.com/cheese/play/ss190402215", + "meta": { + "id": 190402215, + "title": "【影视飓风】只看8节课,用iPhone拍出电影感", + "cover": "https://archive.biliimg.com/bfs/archive/489f3df26a190a152ad479bfe50a73f1cd4c43c5.jpg", + "mid": 0, + "intro": "", + "sign_state": 0, + "attribute": 0, + "stat": { + "season_id": 190402215, + "view": 1111222, + "danmaku": 1853, + "reply": 0, + "favorite": 0, + "coin": 0, + "share": 0, + "like": 0, + "mtime": 0, + "vt": 0, + "vv": 0 + }, + "ep_count": 0, + "ptime": 1744865737, + "ep_num": 0 + }, + "is_avoided": 0, + "season_id": 190402215, + "attribute": 1073758592, + "is_charging_arc": false, + "elec_arc_type": 0, + "vt": 0, + "enable_vt": 0, + "vt_display": "", + "playback_position": 0, + "is_self_view": false + }] + }, + "page": { + "pn": 1, + "ps": 42, + "count": 786 + }, + "episodic_button": { + "text": "播放全部", + "uri": "//www.bilibili.com/medialist/play/946974?from=space" + }, + "is_risk": false, + "gaia_res_type": 0, + "gaia_data": null + } } ```