🚀调整项目结构

This commit is contained in:
SocialSisterYi
2023-02-22 01:00:06 +08:00
parent b85e835ce7
commit 7d89ece2ac
201 changed files with 84964 additions and 0 deletions

315
docs/article/articles.md Normal file
View File

@@ -0,0 +1,315 @@
# 文集基本信息
- [获取文集基本信息](#获取文集基本信息)
---
## 获取文集基本信息
> https://api.bilibili.com/x/article/list/web/articles
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| id | num | 文集rlid | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误<br />-404无此信息 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ----- | ---------------- | ------------------------------------------------------------ |
| list | obj | 文集概览 | |
| articles | array | 文集内的文章列表 | |
| author | obj | 文集作者信息 | |
| last | obj | - | 作用尚不明确<br />结构与data.articles[]中相似 |
| attention | bool | 是否关注文集作者 | false未关注<br />true已关注<br />需要登录(Cookie) <br />未登录为false |
`data`中的`list`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | --------------- | ------------ |
| id | num | 文集rlid | |
| mid | num | 文集作者mid | |
| name | str | 文集名称 | |
| image_url | str | 文集封面图片url | |
| update_time | num | 文集更新时间 | 时间戳 |
| ctime | num | 文集创建时间 | 时间戳 |
| publish_time | num | 文集发布时间 | 时间戳 |
| summary | str | 文集简介 | |
| words | num | 文集字数 | |
| read | num | 文集阅读量 | |
| articles_count | num | 文集内文章数量 | |
| state | num | 1或3 | 作用尚不明确 |
| reason | str | 空 | 作用尚不明确 |
| apply_time | str | 空 | 作用尚不明确 |
| check_time | str | 空 | 作用尚不明确 |
`data`中的`articles`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------- | ---- |
| 0 | obj | 文集中第1篇文章 | |
| n | obj | 文集中第(n+1)篇文章 | |
`data`中的`articles`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ----- | -------------- | ------------------------------------------------------------ |
| id | num | 专栏cvid | |
| title | str | 文章标题 | |
| state | num | 0 | 作用尚不明确 |
| publish_time | num | 发布时间 | 秒时间戳 |
| words | num | 文章字数 | |
| image_urls | array | 文章封面 | |
| category | obj | 文章标签 | |
| categories | array | 文章标签列表 | |
| summary | str | 文章摘要 | |
| stats | obj | 文章状态数信息 | |
| like_state | num | 是否点赞 | 0未点赞<br />1已点赞<br />需要登录(Cookie) <br />未登录为0 |
`articles`数组中的对象中的`stats`
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ---------- | ---- |
| view | num | 阅读数 | |
| favorite | num | 收藏数 | |
| like | num | 点赞数 | |
| dislike | num | 点踩数 | |
| reply | num | 评论数 | |
| share | num | 分享数 | |
| coin | num | 投币数 | |
| dynamic | num | 动态转发数 | |
`articles`数组中的对象中的`author`
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | -------------- | ---- |
| mid | num | 作者mid | |
| name | str | 作者昵称 | |
| face | str | 作者头像url | |
| official_verify | obj | 作者认证信息 | |
| nameplate | obj | 作者勋章 | |
| vip | obj | 作者大会员状态 | |
**示例:**
查询文集`rl207146`的基本信息
```shell
curl -G 'https://api.bilibili.com/x/article/list/web/articles' \
--data-urlencode 'id=207146' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": {
"id": 207146,
"mid": 293793435,
"name": "B站api研究笔记",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1585036952,
"ctime": 1582718126,
"publish_time": 1585045493,
"summary": "",
"words": 8697,
"read": 1654,
"articles_count": 3,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
"articles": [
{
"id": 4815593,
"title": "【B站API】api研究笔记ep1-视频基本信息",
"state": 0,
"publish_time": 1582643908,
"words": 2906,
"image_urls": [
"https://i0.hdslb.com/bfs/article/00497c8df7130f22e5b953694b8931a22d32f133.jpg"
],
"category": {
"id": 26,
"parent_id": 17,
"name": "数码"
},
"categories": [
{
"id": 17,
"parent_id": 0,
"name": "科技"
},
{
"id": 26,
"parent_id": 17,
"name": "数码"
}
],
"summary": "各位小可爱们大家好啊,终于可以结束我长达一年的咕咕了.........在这蝠想联翩的日子里也闲的没事除了上课就是睡觉还不如搞点事情哪个猿不想拥有自己的B站爬虫呢当然自制一个B站的综合信息台也是可以的比如显示粉丝数 获赞数掉粉警告于是就萌生了这个研究B站api的想法以后也会继续不定期分享我的主体思路是利用Chrome中的F12工具进行分析再用curl进行验证先从视频下手吧qwq我们以av2075941为例network检测下有各种图片、视频、网页、js。。。。。的传输记录",
"stats": {
"view": 578,
"favorite": 19,
"like": 26,
"dislike": 0,
"reply": 19,
"share": 6,
"coin": 10,
"dynamic": 0
},
"like_state": 0
},
{
"id": 4820548,
"title": "【B站API】api研究笔记ep2-视频其他信息",
"state": 0,
"publish_time": 1582688189,
"words": 4319,
"image_urls": [
"https://i0.hdslb.com/bfs/article/2416ee72759a5c2c8bba0f10d42e789fc0c0ae2b.jpg"
],
"category": {
"id": 26,
"parent_id": 17,
"name": "数码"
},
"categories": [
{
"id": 17,
"parent_id": 0,
"name": "科技"
},
{
"id": 26,
"parent_id": 17,
"name": "数码"
}
],
"summary": "大家中午好鸭昨天我们研究了B站api的获取方法和使用方法 这一期我们继续分享另一个从网页中寻找api的方法以及研究视频的其他api接口以av170001为例首先打开视频在F12的network下的监控中加载页面筛选XHR对象用搜索法的效率较低不如我们直接进行筛选&观察通过对资源路径的观察可以猜到某些有关的项比如playurl有可能是播放的地址pagelist可能是分P列表view不就是昨天研究的『视频基本信息』吗通过继续分析我总结出了以下api这个可以在只想获取简介时应用而不用处理多余",
"stats": {
"view": 737,
"favorite": 14,
"like": 18,
"dislike": 0,
"reply": 14,
"share": 1,
"coin": 1,
"dynamic": 0
},
"like_state": 0
},
{
"id": 5263184,
"title": "【B站API】api研究笔记Special-AV与BV互转",
"state": 0,
"publish_time": 1585045493,
"words": 1472,
"image_urls": [
"https://i0.hdslb.com/bfs/article/b520939046899303cfcac1511308eb87ede760d7.jpg"
],
"category": {
"id": 26,
"parent_id": 17,
"name": "数码"
},
"categories": [
{
"id": 17,
"parent_id": 0,
"name": "科技"
},
{
"id": 26,
"parent_id": 17,
"name": "数码"
}
],
"summary": "昨天视频新编号BV上线了所有视频的编号默认都变成了BVxxx不再是avxxx兼容在链接和搜索中输入av号评论区和动态av和bv都可以一键传送显然日益增长的投稿量对于编号是个问题int是有上限的但一串“乱码”缺少了灵魂还会让我们想到磁力链接或者熊掌盘的链接手动狗头看到av170001我会想到“法克儿~~”但看到BV17x411w7KC其实av号并没有消失只不过它已经隐藏于大众的视野里了av和bv本质上是可以双向转换的方法一电脑版推荐打开一个视频会发现",
"stats": {
"view": 343,
"favorite": 9,
"like": 13,
"dislike": 0,
"reply": 9,
"share": 0,
"coin": 2,
"dynamic": 0
},
"like_state": 0
}
],
"author": {
"mid": 293793435,
"name": "社会易姐QwQ",
"face": "http://i1.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg",
"pendant": {
"pid": 0,
"name": "",
"image": "",
"expire": 0
},
"official_verify": {
"type": -1,
"desc": ""
},
"nameplate": {
"nid": 4,
"name": "青铜殿堂",
"image": "http://i1.hdslb.com/bfs/face/2879cd5fb8518f7c6da75887994c1b2a7fe670bd.png",
"image_small": "http://i1.hdslb.com/bfs/face/6707c120e00a3445933308fd9b7bd9fad99e9ec4.png",
"level": "普通勋章",
"condition": "单个自制视频总播放数>=1万"
},
"vip": {
"type": 2,
"status": 1,
"due_date": 0,
"vip_pay_type": 0,
"theme_type": 0,
"label": null
}
},
"last": {
"id": 0,
"title": "",
"state": 0,
"publish_time": 0,
"words": 0,
"image_urls": [ ],
"category": {
"id": 0,
"parent_id": 0,
"name": ""
},
"categories": [ ],
"summary": ""
},
"attention": true
}
}
```
</details>

81
docs/article/category.md Normal file
View File

@@ -0,0 +1,81 @@
# 专栏分类
## 游戏
| id | parent_id | name |
|-----|-----------|------|
| 1 | 0 | 游戏 |
| 6 | 1 | 单机游戏 |
| 7 | 1 | 电子竞技 |
| 8 | 1 | 手机游戏 |
| 9 | 1 | 网络游戏 |
| 10 | 1 | 桌游棋牌 |
## 动画
| id | parent_id | name |
|-----|-----------|------|
| 2 | 0 | 动画 |
| 4 | 2 | 动漫杂谈 |
| 5 | 2 | 动漫资讯 |
| 31 | 2 | 动画技术 |
## 生活
| id | parent_id | name |
|-----|-----------|------|
| 3 | 0 | 生活 |
| 13 | 3 | 美食 |
| 14 | 3 | 时尚 |
| 15 | 3 | 日常 |
| 21 | 3 | 萌宠 |
| 22 | 3 | 运动 |
## 轻小说
| id | parent_id | name |
|-----|-----------|------|
| 16 | 0 | 轻小说 |
| 18 | 16 | 原创连载 |
| 19 | 16 | 同人连载 |
| 20 | 16 | 小说杂谈 |
| 32 | 16 | 短篇小说 |
## 科技
| id | parent_id | name |
|-----|-----------|------|
| 17 | 0 | 科技 |
| 25 | 17 | 人文历史 |
| 26 | 17 | 数码 |
| 27 | 17 | 汽车 |
| 33 | 17 | 自然 |
| 34 | 17 | 学习 |
## 影视
| id | parent_id | name |
|-----|-----------|------|
| 28 | 0 | 影视 |
| 12 | 28 | 电影 |
| 35 | 28 | 电视剧 |
| 36 | 28 | 纪录片 |
| 37 | 28 | 综艺 |
## 兴趣
| id | parent_id | name |
|-----|-----------|------|
| 29 | 0 | 兴趣 |
| 11 | 29 | 模型手办 |
| 23 | 29 | 绘画 |
| 24 | 29 | 手工 |
| 38 | 29 | 摄影 |
| 39 | 29 | 音乐舞蹈 |
## 笔记
| id | parent_id | name |
|-----|-----------|------|
| 41 | 0 | 笔记 |
| 42 | 41 | 全部笔记 |

186
docs/article/info.md Normal file
View File

@@ -0,0 +1,186 @@
# 专栏基本信息
- [获取专栏文章基本信息](#获取专栏文章基本信息)
---
## 获取专栏文章基本信息
> https://api.bilibili.com/x/article/viewinfo
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| id | num | 专栏cvid | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误<br />-404无此信息 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------------- | ------ | ---------------- | ------------------------------------------------------------ |
| like | num | 是否点赞 | 0未点赞<br />1已点赞<br />需要登录(Cookie) <br />未登录为0 |
| attention | bool | 是否关注文章作者 | false未关注<br />true已关注<br />需要登录(Cookie) <br />未登录为false |
| favorite | bool | 是否收藏 | false未收藏<br />true已收藏<br />需要登录(Cookie) <br />未登录为false |
| coin | num | 为文章投币数 | |
| stats | obj | 状态数信息 | |
| title | str | 文章标题 | |
| banner_url | str | 文章头图url | |
| mid | num | 文章作者mid | |
| author_name | str | 文章作者昵称 | |
| is_author | bool | true | 作用尚不明确 |
| image_urls | array | 动态封面 | |
| origin_image_urls | array | 封面图片 | |
| shareable | bool | true | 作用尚不明确 |
| show_later_watch | bool | true | 作用尚不明确 |
| show_small_window | bool | true | 作用尚不明确 |
| in_list | bool | 是否收于文集 | false<br />true是 |
| pre | num | 上一篇文章cvid | 无为0 |
| next | num | 下一篇文章cvid | 无为0 |
| share_channels | array | 分享方式列表 | |
| type | num | 文章类别 | 0文章<br />2笔记 |
`stats`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ---------- | ---- |
| view | num | 阅读数 | |
| favorite | num | 收藏数 | |
| like | num | 点赞数 | |
| dislike | num | 点踩数 | |
| reply | num | 评论数 | |
| share | num | 分享数 | |
| coin | num | 投币数 | |
| dynamic | num | 动态转发数 | |
`data`中的`image_urls`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | ---- |
| 0 | str | 动态封面图片url | |
`data`中的`origin_image_urls`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | ---- |
| 0 | str | 文章封面图片url | |
`data`中的`share_channels`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | -------------- | ---- |
| 0 | obj | 分享项qq | |
| 1 | obj | 分享项qq空间 | |
| 2 | obj | 分享项:微信 | |
| 3 | obj | 分享项:朋友圈 | |
| 4 | obj | 分享项:微博 | |
`data`中的`share_channels`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ----------- | ---- |
| name | str | 分享名称 | |
| picture | str | 分享图片url | |
| share_channel | str | 分享代号 | |
**示例:**
查询文章`cv2`的基本信息
```shell
curl -G 'https://api.bilibili.com/x/article/viewinfo' \
--data-urlencode 'id=2' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"like": 0,
"attention": false,
"favorite": false,
"coin": 0,
"stats": {
"view": 1072619,
"favorite": 5481,
"like": 16465,
"dislike": 0,
"reply": 1865,
"share": 351,
"coin": 3436,
"dynamic": 37
},
"title": "专栏行为准则 ",
"banner_url": "https://i0.hdslb.com/bfs/article/131b1d41b857d5308f5bff36591d117bddc48d96.jpg@90p.webp",
"mid": 144900660,
"author_name": "专栏小天使",
"is_author": true,
"image_urls": [
"https://i0.hdslb.com/bfs/article/0a72422ce8e77d8512f010d93b1b7f9bc4e64e52.jpg"
],
"origin_image_urls": [
"https://i0.hdslb.com/bfs/article/131b1d41b857d5308f5bff36591d117bddc48d96.jpg"
],
"shareable": true,
"show_later_watch": true,
"show_small_window": true,
"in_list": false,
"pre": 115914,
"next": 38575,
"share_channels": [
{
"name": "QQ",
"picture": "https://i0.hdslb.com/bfs/album/114ccfb3a999df9c4d11f274c8c61a804c8f8803.png",
"share_channel": "QQ"
},
{
"name": "QQ空间",
"picture": "https://i0.hdslb.com/bfs/album/30e9608bbce725bca45b5910866f60ab4d5e18b3.png",
"share_channel": "QZONE"
},
{
"name": "微信",
"picture": "https://i0.hdslb.com/bfs/album/658af3c22431cd78bb7c50be3394f7c032eba12c.png",
"share_channel": "WEIXIN"
},
{
"name": "朋友圈",
"picture": "https://i0.hdslb.com/bfs/album/c1ebcec8c5302f29f792d15f04e0d6dcef53ec27.png",
"share_channel": "WEIXIN_MONMENT"
},
{
"name": "微博",
"picture": "https://i0.hdslb.com/bfs/album/3707fc23f7d3e24022712320284b0de9aa78c87d.png",
"share_channel": "SINA"
}
],
"type": 0,
"video_url": "",
"location": "",
"disable_share": false
}
}
```
</details>

View File

@@ -0,0 +1,178 @@
# 专栏投币&点赞&收藏
- [点赞文章](#点赞文章)
- [投币文章](#投币文章)
- [收藏文章](#收藏文章)
---
## 点赞文章
<img src="../../assets/img/like.svg" width="100" height="100"/>
> https://api.bilibili.com/x/article/like
*请求方式POST*
认证方式CookieSESSDATA
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------- | ------ | ---------------------- |
| id | num | 文章cvid | 必要 | |
| type | num | 操作方式 | 必要 | 1点赞<br />2取消赞 |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功 <br />-101账号未登录<br />-111csrf校验失败<br />-400请求错误<br />10003不存在该稿件<br />65006已赞过<br />65004取消点赞失败 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
**示例:**
为文章`cv5806746`点赞
```shell
curl 'https://api.bilibili.com/x/article/like' \
--data-urlencode 'id=5806746' \
--data-urlencode 'type=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>
## 投币文章
<img src="../../assets/img/coin.svg" width="100" height="100"/>
> https://api.bilibili.com/x/web-interface/coin/add
*请求方式POST*
认证方式CookieSESSDATA
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ------------------- | ------ | ------- |
| aid | num | 文章cvid | 必要 | |
| upid | num | 文章作者mid | 必要 | |
| multiply | num | 投币数量 | 必要 | 上限为2 |
| avtype | num | 2 | 必要 | 必须为2 |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-102账号被封停<br />-104硬币不足<br />-111csrf校验失败<br />-400请求错误<br />10003不存在该稿件<br />34002不能给自己投币<br />34003非法的投币数量<br />34005超过投币上限 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ----------------------------------------------------- |
| like | bool | 是否点赞成功 | true成功<br />false失败<br />已赞过则附加点赞失败 |
**示例:**
为文章`cv5806746`投币1枚
```shell
curl 'https://api.bilibili.com/x/web-interface/coin/add' \
--data-urlencode 'aid=5806746' \
--data-urlencode 'upid=486980924' \
--data-urlencode 'multiply=1' \
--data-urlencode 'avtype=2' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"like": false
}
}
```
</details>
## 收藏文章
<img src="../../assets/img/fav.svg" width="100" height="100"/>
>https://api.bilibili.com/x/article/favorites/add
*请求方式POST*
认证方式CookieSESSDATA
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------- | ------ | ---- |
| id | num | 文章cvid | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-111csrf校验失败<br />-400请求错误<br />-404无此项 |
| message | str | 错误信息 | 正确为success |
| data | obj | 信息本体 | |
**示例:**
收藏文章`cv5806746`
```shell
curl 'https://api.bilibili.com/x/article/favorites/add' \
--data-urlencode 'id=5806746' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>

677
docs/article/list.md Normal file
View File

@@ -0,0 +1,677 @@
# 获取用户专栏信息
- [获取用户专栏文章列表](#获取用户专栏文章列表)
- [获取用户专栏文集列表](#获取用户专栏文集列表)
---
## 获取用户专栏文章列表
> https://api.bilibili.com/x/space/article
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|------|-----|-------|--------------------------------------------------------------------------|-----|
| mid | num | 用户uid | | √ |
| pn | num | | 默认1 | |
| ps | num | | 默认30<br/>范围:[1,30] | |
| sort | str | | `publish_time`:最新发布<br/>`view`:最多阅读<br/>`fav`:最多收藏<br/>默认:`publish_time` | |
**json回复**
根对象
| 字段 | 类型 | 内容 | 备注 |
|---------|-----|------|--------------------|
| code | num | 返回值 | 0成功<br/>-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象
| 字段名 | 类型 | 内容 | 备注 |
|----------|-------|----------|-----|
| articles | array | 专栏文章信息列表 | |
| pn | num | 本次请求分页页数 | |
| ps | num | 本次请求分页大小 | |
| count | num | 专栏文章总数 | |
`data`对象 -> `articles`数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|-------------------|-------|----------|------|
| id | num | 专栏文章id | |
| category | obj | 分类 | |
| categories | array | 分类 | |
| title | str | 标题 | |
| summary | str | 摘要 | |
| banner_url | str | 封面图 | |
| template_id | num | | |
| state | num | | |
| author | obj | UP主信息 | |
| reprint | num | | |
| image_urls | array | | |
| publish_time | num | 发布时间戳 | 单位:秒 |
| ctime | num | 提交时间戳 | 单位:秒 |
| stats | obj | 专栏文章数据统计 | |
| tags | array | 标签 | |
| words | num | | |
| dynamic | str | 粉丝动态文案 | |
| origin_image_urls | array | | |
| list | | `null` | |
| is_like | bool | | |
| media | obj | | |
| apply_time | str | `空串` | |
| check_time | str | `空串` | |
| original | num | | |
| act_id | num | | |
| dispute | | `null` | |
| authenMark | | `null` | |
| cover_avid | num | | |
| top_video_info | | `null` | |
| type | num | | |
`data`对象 -> `articles`数组中的对象 -> `category`对象
| 字段名 | 类型 | 内容 | 备注 |
|-----------|-----|--------|-----|
| id | num | 分类id | |
| parent_id | num | 父级分类id | |
| name | str | 分类名称 | |
`data`对象 -> `articles`数组中的对象 -> `categories`数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|-----------|-----|--------|-----|
| id | num | 分类id | |
| parent_id | num | 父级分类id | |
| name | str | 分类名称 | |
`data`对象 -> `articles`数组中的对象 -> `author`对象
| 字段名 | 类型 | 内容 | 备注 |
|-----------------|-----|--------|-----|
| mid | num | 用户uid | |
| name | str | 用户名 | |
| face | str | 头像 | |
| pendant | obj | 头像框信息 | |
| official_verify | obj | 账号认证信息 | |
| nameplate | obj | 成就勋章信息 | |
| vip | obj | 大会员信息 | |
`data`对象 -> `articles`数组中的对象 -> `author`对象 -> `pendant`对象
| 字段名 | 类型 | 内容 | 备注 |
|--------|-----|----------|-----|
| pid | num | 头像框id | |
| name | str | 头像框名称 | |
| image | str | 头像框图片url | |
| expire | num | 过期时间 | |
`data`对象 -> `articles`数组中的对象 -> `author`对象 -> `official_verify`对象
| 字段名 | 类型 | 内容 | 备注 |
|------|-----|------|------------------------------|
| type | num | 是否认证 | -1<br />0个人认证<br />1机构认证 |
| desc | str | 认证备注 | |
`data`对象 -> `articles`数组中的对象 -> `author`对象 -> `nameplate`对象
| 字段名 | 类型 | 内容 | 备注 |
|-------------|-----|---------|-----|
| nid | num | 勋章id | |
| name | str | 勋章名称 | |
| image | str | 勋章图标 | |
| image_small | str | 勋章图标(小) | |
| level | str | 勋章等级 | |
| condition | str | 获取条件 | |
`data`对象 -> `articles`数组中的对象 -> `author`对象 -> `vip`对象
| 字段名 | 类型 | 内容 | 备注 |
|------------------|-----|------------|---------------------------------|
| type | num | 大会员类型 | 0<br />1月大会员<br />2年度及以上大会员 |
| status | num | 大会员状态 | 0<br />1有 |
| due_date | num | 大会员过期时间时间戳 | 单位:毫秒 |
| vip_pay_type | num | 支付类型 | |
| theme_type | num | `0` | |
| label | obj | 大会员标签 | |
| avatar_subscript | num | 是否显示大会员图标 | 0不显示<br />1显示 |
| nickname_color | str | 大会员昵称颜色 | |
`data`对象 -> `articles`数组中的对象 -> `author`对象 -> `vip`对象 -> `label`对象
| 字段名 | 类型 | 内容 | 备注 |
|-------------|-----|--------|------------------------------------------------------------------------------------------------------------------------------|
| path | str | `空串` | |
| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` |
| label_theme | str | 会员标签 | vip大会员<br />annual_vip年度大会员<br />ten_annual_vip十年大会员<br />hundred_annual_vip百年大会员<br/>fools_day_hundred_annual_vip最强绿鲤鱼 |
`data`对象 -> `articles`数组中的对象 -> `stats`对象
| 字段名 | 类型 | 内容 | 备注 |
|----------|-----|-----|-------|
| view | num | 浏览数 | |
| favorite | num | 收藏数 | |
| like | num | 点赞数 | |
| dislike | num | 点踩数 | 恒为`0` |
| reply | num | 回复数 | |
| share | num | 转发数 | |
| coin | num | 投币数 | |
| dynamic | num | | |
`data`对象 -> `articles`数组中的对象 -> `tags`数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|------|-----|------|-----|
| tid | num | 标签id | |
| name | str | 标签名称 | |
`data`对象 -> `articles`数组中的对象 -> `media`对象
| 字段名 | 类型 | 内容 | 备注 |
|-----------|-----|------|-----|
| score | num | `0` | |
| media_id | num | `0` | |
| title | str | `空串` | |
| cover | str | `空串` | |
| area | str | `空串` | |
| type_id | num | `0` | |
| type_name | str | `空串` | |
| spoiler | num | `0` | |
**示例:**
```shell
curl -L -X GET 'https://api.bilibili.com/x/space/article?mid=300021061&pn=1&ps=2&sort=publish_time'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"articles": [
{
"id": 18989884,
"category": {
"id": 15,
"parent_id": 3,
"name": "日常"
},
"categories": [
{
"id": 3,
"parent_id": 0,
"name": "生活"
},
{
"id": 15,
"parent_id": 3,
"name": "日常"
}
],
"title": "B站UP主日报2022年10月08日23点v1.1",
"summary": "冠:罗翔说刑法(2485.45万粉,+7204) 涨:肯德基(+18.37万粉) 掉Overidea_China(-186850粉) 播:开心锤锤(+927.56万) 赞:荒草音乐(+31.02万) 赞:飞翔的丘丘人(+22.08万) 充冰糖IO(+210)",
"banner_url": "https://i0.hdslb.com/bfs/article/5e53260f58f77fff0b8ba6b20179db85b8741b76.jpg",
"template_id": 4,
"state": 0,
"author": {
"mid": 300021061,
"name": "狸工智能",
"face": "https://i1.hdslb.com/bfs/face/4cba9bc9d6cf6935a37ec156dedb8f8d26c1df95.jpg",
"pendant": {
"pid": 0,
"name": "",
"image": "",
"expire": 0
},
"official_verify": {
"type": -1,
"desc": ""
},
"nameplate": {
"nid": 3,
"name": "白银殿堂",
"image": "https://i2.hdslb.com/bfs/face/f6a31275029365ae5dc710006585ddcf1139bde1.png",
"image_small": "https://i2.hdslb.com/bfs/face/b09cdb4c119c467cf2d15db5263b4f539fa6e30b.png",
"level": "高级勋章",
"condition": "单个自制视频总播放数>=10万"
},
"vip": {
"type": 0,
"status": 0,
"due_date": 0,
"vip_pay_type": 0,
"theme_type": 0,
"label": {
"path": "",
"text": "",
"label_theme": ""
},
"avatar_subscript": 0,
"nickname_color": ""
}
},
"reprint": 0,
"image_urls": [
"https://i0.hdslb.com/bfs/article/8e5497f7854e7df3468fbc29b0dd10fcf17d1223.png"
],
"publish_time": 1665278884,
"ctime": 1665278884,
"stats": {
"view": 689,
"favorite": 2,
"like": 61,
"dislike": 0,
"reply": 18,
"share": 0,
"coin": 1,
"dynamic": 0
},
"words": 0,
"dynamic": "狸子的UP主日报📰v1.1,每天稳定更新如果咕咕咕了请艾特狸子LePtC检查狐务器 [tv_微笑] #排行榜##大数据##狸工智能#",
"origin_image_urls": [
"https://i0.hdslb.com/bfs/article/5e53260f58f77fff0b8ba6b20179db85b8741b76.jpg"
],
"list": null,
"is_like": false,
"media": {
"score": 0,
"media_id": 0,
"title": "",
"cover": "",
"area": "",
"type_id": 0,
"type_name": "",
"spoiler": 0
},
"apply_time": "",
"check_time": "",
"original": 1,
"act_id": 0,
"dispute": null,
"authenMark": null,
"cover_avid": 0,
"top_video_info": null,
"type": 0
},
{
"id": 18972446,
"category": {
"id": 15,
"parent_id": 3,
"name": "日常"
},
"categories": [
{
"id": 3,
"parent_id": 0,
"name": "生活"
},
{
"id": 15,
"parent_id": 3,
"name": "日常"
}
],
"title": "B站UP主日报2022年10月07日23点v1.1",
"summary": "冠:罗翔说刑法(2484.73万粉,+8020) 涨:靖菌命(+3.61万粉) 掉Overidea_China(-8593粉) 播:开心锤锤(+971.44万) 赞:荒草音乐(+53.14万) 赞:南方都市报(+18.05万) 充:内德维德(+190)",
"banner_url": "https://i0.hdslb.com/bfs/article/5e53260f58f77fff0b8ba6b20179db85b8741b76.jpg",
"template_id": 4,
"state": 0,
"author": {
"mid": 300021061,
"name": "狸工智能",
"face": "https://i1.hdslb.com/bfs/face/4cba9bc9d6cf6935a37ec156dedb8f8d26c1df95.jpg",
"pendant": {
"pid": 0,
"name": "",
"image": "",
"expire": 0
},
"official_verify": {
"type": -1,
"desc": ""
},
"nameplate": {
"nid": 3,
"name": "白银殿堂",
"image": "https://i2.hdslb.com/bfs/face/f6a31275029365ae5dc710006585ddcf1139bde1.png",
"image_small": "https://i2.hdslb.com/bfs/face/b09cdb4c119c467cf2d15db5263b4f539fa6e30b.png",
"level": "高级勋章",
"condition": "单个自制视频总播放数>=10万"
},
"vip": {
"type": 0,
"status": 0,
"due_date": 0,
"vip_pay_type": 0,
"theme_type": 0,
"label": {
"path": "",
"text": "",
"label_theme": ""
},
"avatar_subscript": 0,
"nickname_color": ""
}
},
"reprint": 0,
"image_urls": [
"https://i0.hdslb.com/bfs/article/8e5497f7854e7df3468fbc29b0dd10fcf17d1223.png"
],
"publish_time": 1665189149,
"ctime": 1665189149,
"stats": {
"view": 1021,
"favorite": 1,
"like": 66,
"dislike": 0,
"reply": 21,
"share": 2,
"coin": 2,
"dynamic": 0
},
"tags": [
{
"tid": 1598,
"name": "粉丝"
},
{
"tid": 422982,
"name": "狸子"
},
{
"tid": 526616,
"name": "大数据"
},
{
"tid": 14082112,
"name": "狸工智能"
},
{
"tid": 438,
"name": "排行榜"
}
],
"words": 0,
"dynamic": "狸子的UP主日报📰v1.1,每天稳定更新如果咕咕咕了请艾特狸子LePtC检查狐务器 [tv_微笑] #排行榜##大数据##狸工智能#",
"origin_image_urls": [
"https://i0.hdslb.com/bfs/article/5e53260f58f77fff0b8ba6b20179db85b8741b76.jpg"
],
"list": null,
"is_like": false,
"media": {
"score": 0,
"media_id": 0,
"title": "",
"cover": "",
"area": "",
"type_id": 0,
"type_name": "",
"spoiler": 0
},
"apply_time": "",
"check_time": "",
"original": 1,
"act_id": 0,
"dispute": null,
"authenMark": null,
"cover_avid": 0,
"top_video_info": null,
"type": 0
}
],
"pn": 1,
"ps": 2,
"count": 1563
}
}
```
</details>
## 获取用户专栏文集列表
> https://api.bilibili.com/x/article/up/lists
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|----------|-----|-------|-----|-------------------|
| mid | num | 用户uid | √ | |
| sort | num | 排序方式 | | 0最近更新<br/>1最多阅读 |
| jsonp | str | | | |
| callback | str | | | |
**json回复**
根对象
| 字段名 | 类型 | 内容 | 备注 |
|---------|-----|------|--------------------|
| code | num | 响应码 | 0成功<br/>-400请求错误 |
| message | str | 0 | |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象
| 字段名 | 类型 | 内容 | 备注 |
|-------|-------|--------|-----|
| lists | array | 文集信息列表 | |
| total | num | 文集总数 | |
`data`对象 -> `lists`数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|----------------|-----|---------|------|
| id | num | 文集id | |
| mid | num | 作者uid | |
| name | str | 文集名称 | |
| image_url | str | 封面 | |
| update_time | num | 最后更新时间戳 | 单位:秒 |
| ctime | num | 创建时间戳 | 单位:秒 |
| publish_time | num | | 单位:秒 |
| summary | str | `空串` | |
| words | num | 总字数 | |
| read | num | 阅读量 | |
| articles_count | num | 包含文章数 | |
| state | num | `1` | |
| reason | str | `空串` | |
| apply_time | str | `空串` | |
| check_time | str | `空串` | |
**示例:**
```shell
curl -X GET 'https://api.bilibili.com/x/article/up/lists' \
--data-urlencode 'mid=2859372' \
--data-urlencode 'sort=0'
```
<details>
<summary>点击查看</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"lists": [
{
"id": 77163,
"mid": 2859372,
"name": "碟报",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1664854854,
"ctime": 1554785697,
"publish_time": 1664863200,
"summary": "",
"words": 71532,
"read": 478726,
"articles_count": 113,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 26407,
"mid": 2859372,
"name": "周榜",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1664721205,
"ctime": 1537942450,
"publish_time": 1664721307,
"summary": "",
"words": 102099,
"read": 1366280,
"articles_count": 206,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 107952,
"mid": 2859372,
"name": "制作委员会",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1646663919,
"ctime": 1563107348,
"publish_time": 1646910000,
"summary": "",
"words": 47564,
"read": 72911,
"articles_count": 10,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 26457,
"mid": 2859372,
"name": "实时榜",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1603115712,
"ctime": 1537955117,
"publish_time": 1603115719,
"summary": "",
"words": 206741,
"read": 1136352,
"articles_count": 76,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 49769,
"mid": 2859372,
"name": "预测",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1593933314,
"ctime": 1546153226,
"publish_time": 1593933314,
"summary": "",
"words": 2518,
"read": 55123,
"articles_count": 6,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 96916,
"mid": 2859372,
"name": "书籍周榜",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1559815260,
"ctime": 1559815159,
"publish_time": 1559815577,
"summary": "",
"words": 272,
"read": 2955,
"articles_count": 1,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 96610,
"mid": 2859372,
"name": "原始周榜存档",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1559721231,
"ctime": 1559720762,
"publish_time": 1559721271,
"summary": "",
"words": 290,
"read": 1498,
"articles_count": 1,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 26453,
"mid": 2859372,
"name": "杂谈",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1557303117,
"ctime": 1537954625,
"publish_time": 1557303168,
"summary": "",
"words": 10673,
"read": 38363,
"articles_count": 4,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
},
{
"id": 59028,
"mid": 2859372,
"name": "新春访谈",
"image_url": "https://i0.hdslb.com/bfs/article/96d2b3d2a72e6497a011c885ab9245c51507ce18.png",
"update_time": 1549878596,
"ctime": 1549343048,
"publish_time": 1549884125,
"summary": "",
"words": 33472,
"read": 34597,
"articles_count": 13,
"state": 1,
"reason": "",
"apply_time": "",
"check_time": ""
}
],
"total": 9
}
}
```
</details>