From 9dc6ad4dc1697fde023149a5df0ae8e481f68dab Mon Sep 17 00:00:00 2001 From: little_fish12345 <18819303050@163.com> Date: Sun, 11 Oct 2020 19:53:22 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E4=B8=BA=E7=95=AA=E5=89=A7info=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=80=E4=B8=AAapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bangumi/info.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/bangumi/info.md b/bangumi/info.md index b984fdd..4bcbbff 100644 --- a/bangumi/info.md +++ b/bangumi/info.md @@ -276,4 +276,73 @@ | uname | str | UP主昵称 | | | verify_type | num | | | | vip_status | num | | | -| vip_type | num | | | \ No newline at end of file +| vip_type | num | | | + +> http://api.bilibili.com/pgc/review/user + +*请求方式:GET* + +**参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------- | ------ | ---- | +| media_id | url | 番剧mID | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------- | +| code | num | 返回值 | 0:成功
-404:错误 | +| message | str | 错误信息 | 默认为success | +| result | obj | 信息本体 | | + +`result`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | -------- | ---- | +| media | obj | 番剧信息 | | + +`result`中的`media`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ------ | ---------- | ------------------------- | +| areas | array | 地区 | | +| cover | url | 封面 | | +| media_id | int | 番剧mID | | +| new_ep | obj | 最新一话 | | +| rating | obj | 评分 | | +| season_id | int | 番剧ssID | | +| share_url | url | 分享链接 | | +| title | str | 标题 | | +| type_name | str | "番剧" | 还有其他什么用这个api吗? | + +`media`中的`areas`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---------------------- | +| 0 | obj | 地区信息 | | +| …… | obj | | 暂时没有看到有第二项的 | + +`areas`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ------------ | +| id | int | 2 | 作用暂不明确 | +| name | str | 番剧地区 | | + +`media`中的`new_ep`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | -------------------------- | ---------------------- | +| id | int | 最新一话的epID | | +| index | str | 这一话是第几话 | | +| index_show | str | 该怎么显示最新一话的字符串 | e.g. "第1话"、"全12话" | + +`media`中的`rating`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ----- | -------- | ---- | +| count | int | 评分总数 | | +| score | float | 评分 | | \ No newline at end of file From c0d3a401ae02cc6be5914ff4b5c3088f6199c5f3 Mon Sep 17 00:00:00 2001 From: ProgramRipper <2892771624@qq.com> Date: Sun, 18 Oct 2020 10:38:58 +0800 Subject: [PATCH 2/9] Update pbp.md --- video/pbp.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/video/pbp.md b/video/pbp.md index 498aca9..26a0ecd 100644 --- a/video/pbp.md +++ b/video/pbp.md @@ -6,15 +6,17 @@ ## 获取弹幕趋势顶点列表 -> http://api.bilibili.com/pbp/data +> http://bvc.bilivideo.com/pbp/data *请求方式:GET* **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------- | ------ | ---- | -| vid | num | 视频CID | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | ---- | +| cid | num | 视频CID | 必要 | | +| aid | num | 稿件avID | 非必要 | | +| bvid | num | 稿件bvID | 非必要 | | **json回复:** From 9ba5b2c5f71da128633a02aab39eba021a1c1c21 Mon Sep 17 00:00:00 2001 From: Junzhou Liu Date: Wed, 21 Oct 2020 09:40:18 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=BF=AE=E6=AD=A3log=5Finfo=E4=B8=ADlevel?= =?UTF-8?q?=5Finfo=E5=AF=B9=E8=B1=A1next=5Fexp=E5=80=BC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户等级为Lv6时,`next_exp`返回类型为str,值为`--`。`--`应该代表无穷大的意思。 [问题报告以及引用Actions日志记录](https://github.com/JunzhouLiu/BILIBILI-HELPER/issues/27#issuecomment-713223832) --- login/login_info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/login/login_info.md b/login/login_info.md index 529e18d..e7c006f 100644 --- a/login/login_info.md +++ b/login/login_info.md @@ -61,7 +61,7 @@ | current_level | num | 当前等级 | | | current_min | num | 当前等级经验最低值 | | | current_exp | num | 当前经验 | | -| next_exp | num | 升级下一等级需达到的经验 | | +| next_exp | num | 升级下一等级需达到的经验 |用户等级为Lv6时,返回类型为str,值为`--` | `data`中的`official`对象: From 9760d7221c6cc11fcd56e21c01fcb9d59a8a29a3 Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Fri, 23 Oct 2020 18:53:01 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=A4=A7=E9=87=8F=E5=8B=98=E8=AF=AF=20=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9bv=E5=8F=B7=E7=AE=97=E6=B3=95=E4=B8=8Edemo?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=20=20=E6=B7=BB=E5=8A=A0=E3=80=90=E6=AF=8F?= =?UTF-8?q?=E6=97=A5=E6=8A=95=E5=B8=81=E7=BB=8F=E9=AA=8C=E3=80=91=E3=80=90?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=A1=AC=E5=B8=81=E6=95=B0=E3=80=91=E4=B8=93?= =?UTF-8?q?=E9=97=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++ login/login_info.md | 51 +++++++++++++++++- login/member_center.md | 115 ++++++++++++++++++++++++++++++++++------- other/bvID.md | 75 +++++++++++++-------------- user/status_number.md | 37 ++++++++----- video/info.md | 112 +++++++++++++++++++-------------------- 6 files changed, 265 insertions(+), 129 deletions(-) diff --git a/README.md b/README.md index 4d86edf..2983b0d 100644 --- a/README.md +++ b/README.md @@ -241,6 +241,10 @@ https://github.com/dd-center/DDatElectron https://github.com/dd-center/vtbs.moe +https://github.com/JunzhouLiu/BILIBILI-HELPER + +https://github.com/the1812/Bilibili-Evolved + 其他: https://github.com/kuresaru/geetest-validator diff --git a/login/login_info.md b/login/login_info.md index 529e18d..50e14e5 100644 --- a/login/login_info.md +++ b/login/login_info.md @@ -308,7 +308,7 @@ curl 'http://account.bilibili.com/home/userInfo' \ | coins | num | 拥有硬币数 | | | birthday | str | 用户生日 | YYYY-MM-DD | | face | str | 用户头像url | | -| sex | num | 用户性别 | 1:男
2:女
3:私密 | +| sex | num | 用户性别 | 0:私密
1:男
2:女 | | level | num | 用户等级 | 0-6 | | rank | num | 1000 | **作用尚不明确** | | silence | num | 用户是否被封禁 | 0:正常
1:封禁 | @@ -507,3 +507,52 @@ curl -G 'http://api.bilibili.com/x/web-interface/nav/stat' \ ``` + +## 获取硬币数 + +> http://account.bilibili.com/site/getCoin + +*请求方式:GET* + +认证方式:仅可Cookie(SESSDATA) + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------ | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| status | bool | true | 作用尚不明确 | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ---------- | ---- | +| money | num | 当前硬币数 | | + +**示例:** + +```shell +curl 'http://account.bilibili.com/site/getCoin' \ +-b 'SESSDATA=xxx' +``` + +
+查看响应示例: + + +```json +{ + "code": 0, + "status": true, + "data": { + "money": 42.4 + } +} +``` + +
+ +## \ No newline at end of file diff --git a/login/member_center.md b/login/member_center.md index 6e0c567..fa8e03d 100644 --- a/login/member_center.md +++ b/login/member_center.md @@ -1,14 +1,18 @@ # 个人中心 -**本页所有操作均需登录(SESSDATA)** - ## 获取我的信息 > http://api.bilibili.com/x/member/web/account *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -70,7 +74,13 @@ curl 'http://api.bilibili.com/x/member/web/account' \ *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -89,7 +99,7 @@ curl 'http://api.bilibili.com/x/member/web/account' \ | ------------- | ---- | -------------------- | ------------------------------------------------------------ | | login | bool | 每日登录 | false:未完成
true:已完成
完成奖励5经验 | | watch | bool | 每日观看 | false:未完成
true:已完成
完成奖励5经验 | -| coins | num | 每日投币所奖励的经验 | 上限为50 | +| coins | num | 每日投币所奖励的经验 | 上限为50
注:该值更新存在延迟
[另外一个专门API](#查询每日投币获得经验数) | | share | bool | 每日分享 | false:未完成
true:已完成
完成奖励5经验 | | email | bool | 绑定邮箱 | false:未完成
true:已完成 | | tel | bool | 绑定手机号 | false:未完成
true:已完成
首次完成完成奖励100经验 | @@ -126,13 +136,55 @@ curl 'http://api.bilibili.com/x/member/web/exp/reward' \ +## 查询每日投币获得经验数 + +>http://www.bilibili.com/plus/account/exp.php + +*请求方式:GET* + +认证方式:仅可Cookie(SESSDATA) + +鉴权方式:Cookie中`DedeUserID`存在且不为0 + +该接口实时更新,未发现延迟 + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------------------- | ----------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | 默认为0 | +| number | num | 每日投币所奖励的经验 | 上限为50
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "number": 20 +} +``` + + + ## 查询大会员状态 > http://api.bilibili.com/x/vip/web/user/info *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:仅可Cookie(SESSDATA) **json回复:** @@ -190,9 +242,15 @@ curl 'http://api.bilibili.com/x/vip/web/user/info' \ *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP -鉴权方式:Cookie中`DedeUserID`存在且不为0 +鉴权方式:如用Cookie方式认证时Cookie中`DedeUserID`存在且不为0 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -294,7 +352,13 @@ curl 'http://passport.bilibili.com/web/site/user/info' \ *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -344,7 +408,13 @@ curl 'http://api.bilibili.com/x/member/realname/status' \ *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -363,7 +433,7 @@ curl 'http://api.bilibili.com/x/member/realname/status' \ | --------- | ---- | ------------ | ------------------------------------------------------------ | | status | num | 认证状态 | 1:已认证
3:未认证 | | remark | str | 驳回信息 | 默认为空 | -| realname | str | 实名姓名 | 星号隐藏部分信息 | +| realname | str | 实名姓名 | 星号隐藏完全信息 | | card | str | 证件号码 | 星号隐藏部分信息 | | card_type | num | 证件类型代码 | 0:身份证
2:港澳居民来往内地通行证
3:台湾居民来往大陆通行证
4:护照(中国签发)
5:外国人永久居留证
6:其他国家或地区身份证明 | @@ -383,8 +453,8 @@ curl 'http://api.bilibili.com/x/member/realname/apply/status' \ "data": { "status": 1, "remark": "", - "realname": "*唯恺", - "card": "6***************17", + "realname": "***", + "card": "6****************7", "card_type": 0 } } @@ -398,10 +468,16 @@ curl 'http://api.bilibili.com/x/member/realname/apply/status' \ *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 仅能查询最近一周的情况 +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | + **json回复:** 根对象: @@ -532,16 +608,17 @@ curl 'http://api.bilibili.com/x/member/web/coin/log' \ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 修改签名不会立即生效,会等待审核队列稍后生效 **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| --------- | ---- | ------------------------ | ------ | -------------------------------------------- | -| user_sign | str | 要设置的签名内容 | 非必要 | 删除签名留空或省去即可
最多支持70个字符 | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | -------------- | -------------------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| user_sign | str | 要设置的签名内容 | 非必要 | 删除签名留空或省去即可
最多支持70个字符 | +| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | **json回复:** diff --git a/other/bvID.md b/other/bvID.md index ed3ac2c..8213c99 100644 --- a/other/bvID.md +++ b/other/bvID.md @@ -23,41 +23,35 @@ ## av->bv算法: -1. a=(avID⊕177451812)+100618342136696320 -2. 以i为循环变量循环10次b[i]=(a/58^i)%58 +注:本算法及示例程序仅能编码及解码avID<` 29460791296 `,无法验证avID>=` 29460791296 `的正确性 + +1. a=(avID⊕177451812)+8728348608 +2. 以i为循环变量循环6次b[i]=(a/58^i)%58 3. 将b[i]中各个数字转换为以下码表中的字符 码表: > fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF -4. 按照以下字符顺序编码表编码b[i] +4. 初始化字符串b[i]=`BV1 4 1 7 ` -字符编码表: +5. 按照以下字符顺序编码表编码并填充至b[i] -> 0->11 -> -> 1->10 -> -> 2->3 -> -> 3->8 -> -> 4->4 -> -> 5->6 -> -> 6->2 -> -> 7->9 -> -> 8->5 -> -> 9->7 +字符顺序编码表: -5. 最后在b[i]前面添加字符`BV` +> 0 -> 11 +> +> 1 -> 10 +> +> 2 -> 3 +> +> 3 -> 8 +> +> 4 -> 4 +> +> 5 -> 6 -[援引知乎@mcfx的回答](https://www.zhihu.com/question/381784377/answer/1099438784) +算法以及程序主要参考[知乎@mcfx的回答](https://www.zhihu.com/question/381784377/answer/1099438784) ## bv->av算法: @@ -65,29 +59,30 @@ ## 转换程序: -目前使用python与c作为示例 +目前使用**Python**与**C**作为示例 ### python ```python -table = 'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF' //码表 -tr = {} //反查码表 +table = 'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF' #码表 +tr = {} #反查码表 +#初始化反查码表 for i in range(58): tr[table[i]] = i -s = [11, 10, 3, 8, 4, 6, 2, 9, 5, 7] //位置编码表 -xor = 177451812 //固定异或值 -add = 100618342136696320 //固定加法值 +s = [11, 10, 3, 8, 4, 6] #位置编码表 +xor = 177451812 #固定异或值 +add = 8728348608 #固定加法值 def bv2av(x): r = 0 - for i in range(10): + for i in range(6): r += tr[x[s[i]]] * 58 ** i return (r - add) ^ xor def av2bv(x): x = (x ^ xor) + add - r = list('BV ') - for i in range(10): + r = list('BV1 4 1 7 ') + for i in range(6): r[s[i]] = table[x // 58 ** i % 58] return ''. join(r) @@ -112,10 +107,11 @@ BV17x411w7KC const char table[] = "fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF"; //码表 char tr[124]; //反查码表 const unsigned long long Xor = 177451812; //固定异或值 -const unsigned long long add = 100618342136696320; //固定加法值 -const int s[] = {11, 10, 3, 8, 4, 6, 2, 9, 5, 7}; //位置编码表 +const unsigned long long add = 8728348608; //固定加法值 +const int s[] = {11, 10, 3, 8, 4, 6}; //位置编码表 char result[13]; //编码结果 +//初始化反查码表 void tr_init() { for (int i = 0; i < 58; i++) @@ -126,7 +122,7 @@ unsigned long long bv2av(char bv[]) { unsigned long long r = 0; unsigned long long av; - for (int i = 0; i < 10; i++) + for (int i = 0; i < 6; i++) r += tr[bv[s[i]]] * (unsigned long long)pow(58, i); av = (r - add) ^ Xor; return av; @@ -134,11 +130,10 @@ unsigned long long bv2av(char bv[]) char* av2bv(unsigned long long av) { - strcpy(result,"BV "); + strcpy(result,"BV1 4 1 7 "); av = (av ^ Xor) + add; - for (int i = 0; i < 10; i++) + for (int i = 0; i < 6; i++) result[s[i]] = table[(unsigned long long)(av / (unsigned long long)pow(58, i)) % 58]; - result[10] = ' \0';//添加休止符 char *bv=result; return bv; } diff --git a/user/status_number.md b/user/status_number.md index b05384e..edc06a1 100644 --- a/user/status_number.md +++ b/user/status_number.md @@ -5,11 +5,14 @@ *请求方式:GET* +认证方式:Cookie(SESSDATA)或APP + **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | ---- | -| vmid | num | 目标用户UID | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | +| vmid | num | 目标用户UID | 必要 | | **json回复:** @@ -24,13 +27,13 @@ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------- | ---- | ----------- | ---------------------------------------------------- | -| mid | num | 目标用户UID | | -| following | num | 关注数 | | -| whisper | num | 悄悄关注数 | 需要登录(SESSDATA)
只能查看自己的
默认为0 | -| black | num | 黑名单数 | 需要登录(SESSDATA)
只能查看自己的
默认为0 | -| follower | num | 粉丝数 | | +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ----------- | ------------------------------------------------ | +| mid | num | 目标用户UID | | +| following | num | 关注数 | | +| whisper | num | 悄悄关注数 | 需要登录(Cooklie或APP)
未登录或非自己恒为0 | +| black | num | 黑名单数 | 需要登录(Cooklie或APP)
未登录或非自己恒为0 | +| follower | num | 粉丝数 | | **示例:** @@ -68,11 +71,16 @@ curl -G 'http://api.bilibili.com/x/relation/stat' \ *请求方式:GET* +认证方式:Cookie(SESSDATA)或APP + +注:该接口需要**任意用户**登录,否则**不会返回任何数据** + **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | ---- | -| mid | num | 目标用户UID | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | +| mid | num | 目标用户UID | 必要 | | **json回复:** @@ -111,7 +119,8 @@ curl -G 'http://api.bilibili.com/x/relation/stat' \ ```shell curl -G 'http://api.bilibili.com/x/space/upstat' \ ---data-urlencode 'mid=456664753' +--data-urlencode 'mid=456664753' \ +-b 'SESSDATA=xxx' ```
diff --git a/video/info.md b/video/info.md index 07fc873..ca357c4 100644 --- a/video/info.md +++ b/video/info.md @@ -23,12 +23,12 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | --------------------------------------------- | -| code | num | 返回值 | 0:成功
-400:请求错误
-404:无视频 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------ | +| code | num | 返回值 | 0:成功
-400:请求错误
-403:权限不足
-404:无视频 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -65,55 +65,55 @@ (PS:以下部分内容来源不明,有待验证) -| 位 | 内容 | 备注 | -| ---- | ------------------ | --------------------------------------------- | -| 0 | 禁止排行 | | -| 1 | 动态禁止 | 禁止APP推送动态 | -| 2 | 禁止网页输出 | | -| 3 | 禁止客户端列表 | | -| 4 | 搜索禁止 | | -| 5 | 海外禁止 | | -| 6 | 禁止推荐 | 禁止被APP端天马列表推荐 | -| 7 | 禁止转载 | 显示“禁止转载”标志 | -| 8 | 是否高清 | 视频清晰度>=1080P | -| 9 | 是否PGC稿件 | 番剧&影视 | -| 10 | 允许承包 | | -| 11 | 是否番剧 | | -| 12 | 是否私单 | | -| 13 | 是否限制地区 | 大多数番剧&影视 | -| 14 | 禁止其他人添加TAG | | -| 15 | ? | | -| 16 | 跳转 | 番剧及影视av/bv->ep跳转 | -| 17 | 是否影视 | | -| 18 | 是否付费 | | -| 19 | 推送动态 | | -| 20 | 家长模式 | | -| 21 | 是否限制游客和外链 | 部分视频未登录无法观看,且网页限制referer跳转 | -| 22 | ? | | -| 23 | ? | | -| 24 | 是否合作视频 | | -| 25 | ? | | -| 26 | ? | | -| 27 | ? | | -| 28 | ? | | -| 29 | 是否为互动视频 | | +| 位 | 内容 | 备注 | +| ---- | ---------------------- | --------------------------------------------- | +| 0 | 禁止排行 | | +| 1 | 动态禁止 | 禁止APP推送动态 | +| 2 | 禁止网页输出 | | +| 3 | 禁止客户端列表 | | +| 4 | 搜索禁止 | | +| 5 | 海外禁止 | | +| 6 | 禁止推荐 | 禁止被APP端天马列表推荐 | +| 7 | 是否显示“禁止转载“标志 | **注:此位并非限制分享** | +| 8 | 是否高清 | 视频清晰度>=1080P | +| 9 | 是否PGC稿件 | 番剧&影视 | +| 10 | 允许承包 | | +| 11 | 是否番剧 | | +| 12 | 是否私单 | | +| 13 | 是否限制地区 | 大多数番剧&影视 | +| 14 | 禁止其他人添加TAG | | +| 15 | ? | | +| 16 | 跳转 | 番剧及影视av/bv->ep跳转 | +| 17 | 是否影视 | | +| 18 | 是否付费 | | +| 19 | 推送动态 | | +| 20 | 家长模式 | | +| 21 | 是否限制游客和外链 | 部分视频未登录无法观看,且网页限制referer跳转 | +| 22 | ? | | +| 23 | ? | | +| 24 | 是否为联合投稿 | | +| 25 | ? | | +| 26 | ? | | +| 27 | ? | | +| 28 | ? | | +| 29 | 是否为互动视频 | | `data`中的`rights`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | ---------------- | ------------ | -| bp | num | 0 | 作用尚不明确 | -| elec | num | 是否支持充电 | | -| download | num | 是否允许下载 | | -| movie | num | 是否电影 | | -| pay | num | 是否PGC付费 | | -| hd5 | num | 是否有高码率 | | -| no_reprint | num | 是否禁止转载 | | -| autoplay | num | 是否可以自动播放 | | -| ugc_pay | num | 是否UGC付费 | | -| is_cooperation | num | 是否联合投稿 | | -| ugc_pay_preview | num | 0 | 作用尚不明确 | -| no_background | num | 0 | 作用尚不明确 | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ---------------------- | ------------ | +| bp | num | 0 | 作用尚不明确 | +| elec | num | 是否支持充电 | | +| download | num | 是否允许下载 | | +| movie | num | 是否电影 | | +| pay | num | 是否PGC付费 | | +| hd5 | num | 是否有高码率 | | +| no_reprint | num | 是否显示“禁止转载“标志 | | +| autoplay | num | 是否自动播放 | | +| ugc_pay | num | 是否UGC付费 | | +| is_cooperation | num | 是否为联合投稿 | | +| ugc_pay_preview | num | 0 | 作用尚不明确 | +| no_background | num | 0 | 作用尚不明确 | `data`中的`owner`对象: @@ -157,9 +157,9 @@ | from | str | 视频来源 | vupload:普通上传(B站)
hunan:芒果TV
qq:腾讯 | | part | str | 当前分P标题 | | | duration | num | 当前分P持续时间 | 单位为秒 | -| vid | str | 站外视频vid | | -| weblink | str | 站外视频跳转url | | -| dimension | obj | 当前分P分辨率 | 有部分视频无法获取分辨率 | +| vid | str | 站外视频vid | 仅站外视频有效 | +| weblink | str | 站外视频跳转url | 仅站外视频有效 | +| dimension | obj | 当前分P分辨率 | 部分较老视频无分辨率值 | `pages`数组中的对象中的`dimension`对象(同`data`中的`dimension`对象): @@ -415,6 +415,8 @@ curl -G 'http://api.bilibili.com/x/web-interface/view' \ 视频状态为:`0(开放浏览)` +视频属性为: `显示“禁止转载“标志`、`高清`、`禁止其他人添加TAG`、`联合投稿视频` + 视频封面为: http://i1.hdslb.com/bfs/archive/ea0dd34bf41e23a68175680a00e3358cd249105f.jpg From fa2dbadb93b993388846cb60cea40ccf07f37715 Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Fri, 23 Oct 2020 19:21:35 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=87=E6=B3=A8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- login/login_info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/login/login_info.md b/login/login_info.md index e7c006f..e64df01 100644 --- a/login/login_info.md +++ b/login/login_info.md @@ -61,7 +61,7 @@ | current_level | num | 当前等级 | | | current_min | num | 当前等级经验最低值 | | | current_exp | num | 当前经验 | | -| next_exp | num | 升级下一等级需达到的经验 |用户等级为Lv6时,返回类型为str,值为`--` | +| next_exp | 小于6级时:num
6级时:str | 升级下一等级需达到的经验 |当用户等级为Lv6时,值为`--`,代表无穷大 | `data`中的`official`对象: From f44fd54317e252a92e3065a8d306761f75dcbf68 Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Fri, 23 Oct 2020 20:12:15 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=89=A7=E9=9B=86?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bangumi/info.md | 217 +++++++++++++++++++++++++++++++----------------- 1 file changed, 143 insertions(+), 74 deletions(-) diff --git a/bangumi/info.md b/bangumi/info.md index 4bcbbff..05ec62c 100644 --- a/bangumi/info.md +++ b/bangumi/info.md @@ -1,15 +1,151 @@ -# 番剧基本信息 +# 剧集基本信息 + +## 剧集基本信息(mdID方式) + + +> http://api.bilibili.com/pgc/review/user + +*请求方式:GET* + +鉴权方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | -------- | ------ | ---- | +| media_id | str | 剧集mdID | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------- | +| code | num | 返回值 | 0:成功
-400:请求错误
-404:错误 | +| message | str | 错误信息 | 默认为success | +| result | obj | 信息本体 | | + +`result`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------ | ---- | ------------ | ---------------- | +| media | obj | 剧集信息 | | +| review | obj | 用户操作信息 | 仅登录时存在此项 | + +`result`中的`media`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ----- | -------------- | -------------------------- | +| areas | array | 地区 | | +| cover | str | 封面图片url | | +| media_id | num | 剧集mdID | | +| new_ep | obj | 最新一话信息 | | +| rating | obj | 评分信息 | | +| season_id | int | 剧集ssID | | +| share_url | url | 剧集详情页连接 | | +| title | str | 标题 | | +| type_name | str | 剧集类型 | `番剧`、`国创`、`电影`等等 | + +`media`中的`areas`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | --------------- | ---- | +| 0 | obj | 地区信息1 | | +| n | obj | 地区信息(n+1) | | +| …… | obj | …… | | + +`areas`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ------------------------------------------------------------ | +| id | num | 所属地区编号 | 1:中国大陆
2:日本
3:美国
4:英国
6:中国香港
8:韩国
9:法国
10:泰国
13:西班牙
15:德国
35:意大利
39:新西兰
43:澳大利亚 | +| name | str | 所属地区名称 | | + +`media`中的`new_ep`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | ---------------- | -------------------------- | +| id | int | 最新一话的epID | | +| index | str | 最新一话名称 | | +| index_show | str | 最新一话显示名称 | eg. `第1话`、`更新至第4话` | + +`media`中的`rating`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------ | ---- | +| count | num | 总计评分人数 | | +| score | num | 评分 | | + +`result`中的`review`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | ---- | ------------ | +| is_coin | num | 0 | 作用尚不明确 | +| is_open | num | 1 | 作用尚不明确 | + +**示例:** + +查询剧集`md28220978`的基本信息 + +```shell +curl -G 'http://api.bilibili.com/pgc/review/user' \ +--data-urlencode 'media_id=28220978' \ +-b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "success", + "result": { + "media": { + "areas": [ + { + "id": 2, + "name": "日本" + } + ], + "cover": "http://i0.hdslb.com/bfs/bangumi/8aa0bfce050c72c6626b63d3093a88527c251026.jpg", + "media_id": 28220978, + "new_ep": { + "id": 21278, + "index": "14", + "index_show": "全14话" + }, + "rating": { + "count": 53376, + "score": 9.9 + }, + "season_id": 1172, + "share_url": "https://www.bilibili.com/bangumi/media/md28220978", + "title": "轻音少女 第一季", + "type_name": "番剧" + }, + "review": { + "is_coin": 0, + "is_open": 1 + } + } +} +``` + +
+ +## 获取剧集明细(web端)(ssID/epID方式) > http://api.bilibili.com/pgc/view/web/season *请求方式:GET* -**参数:** +**url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| --------- | ---- | -------- | ------ | ------------------------ | -| season_id | url | 番剧ssID | 非必要 | season_id与ep_id任选其一 | -| ep_id | url | 剧集epID | 非必要 | season_id与ep_id任选其一 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------- | ------------ | ------------------------ | +| season_id | num | 番剧ssID | 必要(可选) | season_id与ep_id任选其一 | +| ep_id | num | 剧集epID | 必要(可选) | season_id与ep_id任选其一 | **json回复:** @@ -278,71 +414,4 @@ | vip_status | num | | | | vip_type | num | | | -> http://api.bilibili.com/pgc/review/user - -*请求方式:GET* - -**参数:** - -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| --------- | ---- | -------- | ------ | ---- | -| media_id | url | 番剧mID | 必要 | | - -**json回复:** - -根对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ----------------------- | -| code | num | 返回值 | 0:成功
-404:错误 | -| message | str | 错误信息 | 默认为success | -| result | obj | 信息本体 | | - -`result`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | -------- | ---- | -| media | obj | 番剧信息 | | - -`result`中的`media`对象: - -| 字段 | 类型 | 内容 | 备注 | -| --------- | ------ | ---------- | ------------------------- | -| areas | array | 地区 | | -| cover | url | 封面 | | -| media_id | int | 番剧mID | | -| new_ep | obj | 最新一话 | | -| rating | obj | 评分 | | -| season_id | int | 番剧ssID | | -| share_url | url | 分享链接 | | -| title | str | 标题 | | -| type_name | str | "番剧" | 还有其他什么用这个api吗? | - -`media`中的`areas`数组: - -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | -------- | ---------------------- | -| 0 | obj | 地区信息 | | -| …… | obj | | 暂时没有看到有第二项的 | - -`areas`数组中的对象: - -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | -------- | ------------ | -| id | int | 2 | 作用暂不明确 | -| name | str | 番剧地区 | | - -`media`中的`new_ep`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ---- | -------------------------- | ---------------------- | -| id | int | 最新一话的epID | | -| index | str | 这一话是第几话 | | -| index_show | str | 该怎么显示最新一话的字符串 | e.g. "第1话"、"全12话" | - -`media`中的`rating`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----- | ----- | -------- | ---- | -| count | int | 评分总数 | | -| score | float | 评分 | | \ No newline at end of file +## \ No newline at end of file From 989121033075acbf8ac7a799d1f6c322dac00a24 Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Fri, 23 Oct 2020 20:14:41 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2983b0d..dbf1dd1 100644 --- a/README.md +++ b/README.md @@ -68,8 +68,8 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http` - [互动视频](video/interact_video.md)× - [高能进度条](video/pbp.md)√ - [信息上报(心跳及记录历史)](video/report.md)× -- 番剧(影视) - - 基本信息 +- [剧集(番剧、影视)](bangumi) + - [基本信息](bangumi/info.md)× - 状态数 - 操作 - [视频弹幕](danmaku) From f140541c0aed8971fa750a3954e884e3545b322f Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Fri, 23 Oct 2020 20:15:53 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=90=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=A1=AC=E5=B8=81=E6=95=B0=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- login/login_info.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/login/login_info.md b/login/login_info.md index 8425352..7df4a18 100644 --- a/login/login_info.md +++ b/login/login_info.md @@ -528,9 +528,9 @@ curl -G 'http://api.bilibili.com/x/web-interface/nav/stat' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ---------- | ---- | -| money | num | 当前硬币数 | | +| 字段 | 类型 | 内容 | 备注 | +| ----- | -------------------------------------- | ---------- | ---- | +| money | 硬币为正数时:num
硬币为0时:null | 当前硬币数 | | **示例:** @@ -553,6 +553,4 @@ curl 'http://account.bilibili.com/site/getCoin' \ } ``` -
- -## \ No newline at end of file + \ No newline at end of file From 184ae5587b527c98edcb84c1279e7582a9a52a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=AF=E7=94=9C=E9=A3=9F=E5=93=87?= <54750485+shitianshiwa@users.noreply.github.com> Date: Fri, 23 Oct 2020 21:30:19 +0900 Subject: [PATCH 9/9] Update info.md --- video/info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/info.md b/video/info.md index ca357c4..d58cf64 100644 --- a/video/info.md +++ b/video/info.md @@ -25,7 +25,7 @@ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功
-400:请求错误
-403:权限不足
-404:无视频 | +| code | num | 返回值 | 0:成功
-400:请求错误
-403:权限不足
-404:无视频
62002:稿件不可见 | | message | str | 错误信息 | 默认为0 | | ttl | num | 1 | | | data | obj | 信息本体 | |