mirror of
https://github.com/SocialSisterYi/bilibili-API-collect.git
synced 2025-01-30 05:40:08 +08:00
Merge pull request #1 from SocialSisterYi/master
fetch SocialSisterYi/bilibili-API-collect
This commit is contained in:
commit
39c4a8be29
@ -68,8 +68,8 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
|
||||
- [互动视频](video/interact_video.md)×
|
||||
- [高能进度条](video/pbp.md)√
|
||||
- [信息上报(心跳及记录历史)](video/report.md)×
|
||||
- 番剧(影视)
|
||||
- 基本信息
|
||||
- [剧集(番剧、影视)](bangumi)
|
||||
- [基本信息](bangumi/info.md)×
|
||||
- 状态数
|
||||
- 操作
|
||||
- [视频弹幕](danmaku)
|
||||
@ -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
|
||||
|
152
bangumi/info.md
152
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:成功<br />-400:请求错误<br />-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:中国大陆<br />2:日本<br />3:美国<br />4:英国<br />6:中国香港<br />8:韩国<br />9:法国<br />10:泰国<br />13:西班牙<br />15:德国<br />35:意大利<br />39:新西兰<br />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'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 获取剧集明细(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回复:**
|
||||
|
||||
@ -276,4 +412,6 @@
|
||||
| uname | str | UP主昵称 | |
|
||||
| verify_type | num | | |
|
||||
| vip_status | num | | |
|
||||
| vip_type | num | | |
|
||||
| vip_type | num | | |
|
||||
|
||||
##
|
@ -61,7 +61,7 @@
|
||||
| current_level | num | 当前等级 | |
|
||||
| current_min | num | 当前等级经验最低值 | |
|
||||
| current_exp | num | 当前经验 | |
|
||||
| next_exp | num | 升级下一等级需达到的经验 | |
|
||||
| next_exp | 小于6级时:num<br />6级时:str | 升级下一等级需达到的经验 |当用户等级为Lv6时,值为`--`,代表无穷大 |
|
||||
|
||||
`data`中的`official`对象:
|
||||
|
||||
@ -308,7 +308,7 @@ curl 'http://account.bilibili.com/home/userInfo' \
|
||||
| coins | num | 拥有硬币数 | |
|
||||
| birthday | str | 用户生日 | YYYY-MM-DD |
|
||||
| face | str | 用户头像url | |
|
||||
| sex | num | 用户性别 | 1:男<br />2:女<br />3:私密 |
|
||||
| sex | num | 用户性别 | 0:私密<br />1:男<br />2:女 |
|
||||
| level | num | 用户等级 | 0-6 |
|
||||
| rank | num | 1000 | **作用尚不明确** |
|
||||
| silence | num | 用户是否被封禁 | 0:正常<br />1:封禁 |
|
||||
@ -507,3 +507,50 @@ curl -G 'http://api.bilibili.com/x/web-interface/nav/stat' \
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 获取硬币数
|
||||
|
||||
> http://account.bilibili.com/site/getCoin
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:仅可Cookie(SESSDATA)
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------ | ---- | -------- | ----------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录 |
|
||||
| status | bool | true | 作用尚不明确 |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | -------------------------------------- | ---------- | ---- |
|
||||
| money | 硬币为正数时:num<br />硬币为0时:null | 当前硬币数 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'http://account.bilibili.com/site/getCoin' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"status": true,
|
||||
"data": {
|
||||
"money": 42.4
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
@ -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:未完成<br />true:已完成<br />完成奖励5经验 |
|
||||
| watch | bool | 每日观看 | false:未完成<br />true:已完成<br />完成奖励5经验 |
|
||||
| coins | num | 每日投币所奖励的经验 | 上限为50 |
|
||||
| coins | num | 每日投币所奖励的经验 | 上限为50<br />注:该值更新存在延迟<br />[另外一个专门API](#查询每日投币获得经验数) |
|
||||
| share | bool | 每日分享 | false:未完成<br />true:已完成<br />完成奖励5经验 |
|
||||
| email | bool | 绑定邮箱 | false:未完成<br />true:已完成 |
|
||||
| tel | bool | 绑定手机号 | false:未完成<br />true:已完成<br />首次完成完成奖励100经验 |
|
||||
@ -126,13 +136,55 @@ curl 'http://api.bilibili.com/x/member/web/exp/reward' \
|
||||
|
||||
</details>
|
||||
|
||||
## 查询每日投币获得经验数
|
||||
|
||||
>http://www.bilibili.com/plus/account/exp.php
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:仅可Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`DedeUserID`存在且不为0
|
||||
|
||||
该接口实时更新,未发现延迟
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------------------- | ----------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| number | num | 每日投币所奖励的经验 | 上限为50<br |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'http://www.bilibili.com/plus/account/exp.php' \
|
||||
-b 'SESSDATA=xxx;DedeUserID=1'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"number": 20
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 查询大会员状态
|
||||
|
||||
> 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:已认证<br />3:未认证 |
|
||||
| remark | str | 驳回信息 | 默认为空 |
|
||||
| realname | str | 实名姓名 | 星号隐藏部分信息 |
|
||||
| realname | str | 实名姓名 | 星号隐藏完全信息 |
|
||||
| card | str | 证件号码 | 星号隐藏部分信息 |
|
||||
| card_type | num | 证件类型代码 | 0:身份证<br />2:港澳居民来往内地通行证<br />3:台湾居民来往大陆通行证<br />4:护照(中国签发)<br />5:外国人永久居留证<br />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 | 要设置的签名内容 | 非必要 | 删除签名留空或省去即可<br />最多支持70个字符 |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------ | -------------- | -------------------------------------------- |
|
||||
| access_key | str | APP登录Token | APP方式必要 | |
|
||||
| user_sign | str | 要设置的签名内容 | 非必要 | 删除签名留空或省去即可<br />最多支持70个字符 |
|
||||
| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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) <br />只能查看自己的<br />默认为0 |
|
||||
| black | num | 黑名单数 | 需要登录(SESSDATA) <br />只能查看自己的<br />默认为0 |
|
||||
| follower | num | 粉丝数 | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | ----------- | ------------------------------------------------ |
|
||||
| mid | num | 目标用户UID | |
|
||||
| following | num | 关注数 | |
|
||||
| whisper | num | 悄悄关注数 | 需要登录(Cooklie或APP) <br />未登录或非自己恒为0 |
|
||||
| black | num | 黑名单数 | 需要登录(Cooklie或APP) <br />未登录或非自己恒为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'
|
||||
```
|
||||
|
||||
<details>
|
||||
|
112
video/info.md
112
video/info.md
@ -23,12 +23,12 @@
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | --------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-400:请求错误<br />-404:无视频 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-400:请求错误<br />-403:权限不足<br />-404:无视频<br />62002:稿件不可见 |
|
||||
| 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站)<br />hunan:芒果TV<br />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
|
||||
|
10
video/pbp.md
10
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回复:**
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user