diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 8d6d4b5..b5cfe71 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
-custom: https://afdian.net/@ShakaiAneE
+custom: https://afdian.com/@ShakaiAneE
diff --git a/.github/ISSUE_TEMPLATE/1-update-request.yml b/.github/ISSUE_TEMPLATE/1-add-request.yml
similarity index 60%
rename from .github/ISSUE_TEMPLATE/1-update-request.yml
rename to .github/ISSUE_TEMPLATE/1-add-request.yml
index 9693f2f..5661753 100644
--- a/.github/ISSUE_TEMPLATE/1-update-request.yml
+++ b/.github/ISSUE_TEMPLATE/1-add-request.yml
@@ -1,25 +1,27 @@
-name: "新增/更新请求"
-description: "请求添加/补充/更新文档中的 API 定义"
-title: "[新增/更新请求]
"
+name: "新增请求"
+description: "请求添加文档中未收录的 API 定义"
+title: "[新增请求] "
+labels: ["新增/Add"]
body:
- type: checkboxes
id: reminders
attributes:
label: "提交前请确认"
options:
- - label: "我已检索仓库中文档,不包含所提及内容,或所提及内容在本仓库中存在错误,且 Issues、Pull Requests 中无相关提交"
+ - label: "我已检索仓库中文档,确认不包含所提及内容,且 Issues、Pull Requests 中无相关提交"
required: true
- type: dropdown
id: source
attributes:
label: "API 来源"
description: "该 API 在何平台中使用"
+ multiple: true
options:
- "Web 端(含 h5)"
- "PC 客户端(Electron)"
- "Android 客户端(含粉版、平板版、蓝版、概念版、国际版等)"
- - "TV 客户端(含云试听小电视、车机、物联网版等)"
- - "IOS 客户端(含粉版、平板版、概念版等)"
+ - "TV 客户端(含云视听小电视、车机、物联网版等)"
+ - "iOS 客户端(含粉版、平板版、概念版等)"
- "必剪客户端"
- "漫画客户端"
- "其他(请在详情中备注)"
@@ -38,17 +40,17 @@ body:
validations:
required: true
- type: input
- id: adderss
+ id: address
attributes:
label: "API 地址"
- description: "REST 的 url,或 gRPC 的包名+服务名,更新时可为原文档链接"
+ description: "REST 的 url,或 gRPC 的包名+服务名"
placeholder: "eg: https://api.bilibili.com/2333333"
validations:
- required: false
+ required: true
- type: textarea
id: details
attributes:
label: "详情描述"
- description: "新增时请描述该 API 的使用场景、请求及响应字段等,可附上原始抓包记录;更新时请指出原文档中与最新 API 行为不符之处,并附上已知的最新改动"
+ description: "请描述该 API 的使用场景、请求及响应字段等,可附上原始抓包记录"
validations:
- required: true
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/2-update-request.yml b/.github/ISSUE_TEMPLATE/2-update-request.yml
new file mode 100644
index 0000000..4b62189
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/2-update-request.yml
@@ -0,0 +1,29 @@
+name: "更新请求"
+description: "请求补充或更新文档中已有的 API 定义"
+title: "[更新请求] "
+labels: ["更新/Update"]
+body:
+ - type: checkboxes
+ id: reminders
+ attributes:
+ label: "提交前请确认"
+ options:
+ - label: "我已确认文档中相关内容存在错误或不足,且 Issues、Pull Requests 中无相关提交"
+ required: true
+ - type: input
+ id: document_link
+ attributes:
+ label: "原文档链接"
+ description: |
+ 需要更新的文档链接,指定到具体 API
+ eg: https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/bangumi/info.md#获取剧集明细web端ssidepid方式
+ https://socialsisteryi.github.io/bilibili-API-collect/docs/bangumi/info.html#获取剧集明细-web端-ssid-epid方式
+ validations:
+ required: true
+ - type: textarea
+ id: details
+ attributes:
+ label: "更新内容"
+ description: "请指出原文档中与最新 API 行为不符之处,并附上已知的最新改动和验证信息"
+ validations:
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/3-mistake-report.yml b/.github/ISSUE_TEMPLATE/3-mistake-report.yml
new file mode 100644
index 0000000..dc119aa
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/3-mistake-report.yml
@@ -0,0 +1,64 @@
+name: "错误修正"
+description: "发现文档内容有误并提交修正请求"
+title: "[错误修正] "
+labels: ["错误/Mistakes"]
+body:
+ - type: checkboxes
+ id: confirmations
+ attributes:
+ label: "提交前请确认"
+ options:
+ - label: "我已确认文档中的错误存在,且 Issues、Pull Requests 中无相同修正"
+ required: true
+ - label: "我已验证修正内容的正确性"
+ required: false
+
+ - type: input
+ id: document_link
+ attributes:
+ label: "错误所在文档链接"
+ description: |
+ 需要修正的文档链接,指定到具体 API
+ eg: https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/bangumi/info.md#获取剧集明细web端ssidepid方式
+ https://socialsisteryi.github.io/bilibili-API-collect/docs/bangumi/info.html#获取剧集明细-web端-ssid-epid方式
+ validations:
+ required: true
+
+ - type: dropdown
+ id: error_type
+ attributes:
+ label: "错误类型"
+ multiple: true
+ options:
+ - "API 地址/鉴权方式错误"
+ - "参数错误"
+ - "响应数据结构或响应示例错误"
+ - "描述性内容错误(如拼写/流程说明)"
+ - "接口已弃用下线"
+ - "其他(请在下文说明)"
+ validations:
+ required: true
+
+ - type: textarea
+ id: error_description
+ attributes:
+ label: "错误描述"
+ description: "请详细说明具体错误所在,如有多个错误请编号列出"
+ validations:
+ required: true
+
+ - type: textarea
+ id: evidence
+ attributes:
+ label: "纠错依据"
+ description: "如果有,请提供抓包记录等佐证,方便确认。如果有多个错误,请将依据对应错误描述的编号列出"
+ validations:
+ required: false
+
+ - type: textarea
+ id: correction
+ attributes:
+ label: "修正方案"
+ description: "如果可以,请提供修正后的内容,如有多个修正点请编号列出"
+ validations:
+ required: false
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index f8c09a0..d55cc68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-mkdocs/html/
/.vuepress/.cache/
/.vuepress/.temp/
/.vuepress/dist/
@@ -6,3 +5,4 @@ mkdocs/html/
.idea/
.vscode/
.DS_Store
+*.swp
diff --git a/.vuepress/theme/layouts/Layout.vue b/.vuepress/theme/layouts/Layout.vue
index 42ed824..78a07a0 100644
--- a/.vuepress/theme/layouts/Layout.vue
+++ b/.vuepress/theme/layouts/Layout.vue
@@ -2,7 +2,7 @@
- Copyright © 2020-2024
+ Copyright © 2020-2025
SocialSisterYi |
` 要替换为标题主要内容而不是保留不动,切勿仅填写 `补充`、`修复`,形式良好的标题可以是 `[新增请求] 新增 xx 接口`、`[更新请求] xx 接口地址已失效`、`[更新请求] xx 接口的参数有变化`
2. 正文请按照 Issue 模板进行填写,标明 API 来源(Web、Android、iOS、TV 等)、API 类型(REST、gRPC、WebSocket 等)、API 地址
-3. 详情描述需要提供该 API 的使用场景、请求及响应字段等,可附上原始抓包记录;在更新时还需指出原文档中与最新 API 行为不符之处,并附上已知的最新改动。例如:“在前端页面某地址 / APP 某界面访问某 API(标明地址),它的某参数与文档中不符(标明文档地址)”
+3. 详情描述需要提供该 API 的使用场景、请求及响应字段等,可附上原始抓包记录 (文本格式优先);在更新时还需指出原文档中与最新 API 行为不符之处,并附上已知的最新改动。例如:“在前端页面某地址 / APP 某界面访问某 API(标明地址),它的某参数与文档中不符(标明文档地址)”
发起 Discussion 请遵守以下原则:
@@ -69,27 +69,27 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi
### 路径
-路径层级应当与文档目录一致,以文件夹的形式存放在项目中的 `/docs` 路径下,命名统一使用英文小写,如 `video`、`danmaku`、`comment`
+路径层级应当与文档目录一致,以文件夹的形式存放在项目中的 `/docs` 路径下,命名统一使用英文小写,如 `video`、`danmaku`、`comment`, 不建议出现 `&` 等特殊字符
二级、三级路径应当存在二级三级目录,可选添加 `README.md` 以描述该子目录
### 文件
-各个子接口集整理为 MarkDown(md)文件,命名统一使用英文小写,如 `info.md`、`action.md`、`list.md`
+各个子接口集整理为 Markdown (.md) 文件,命名统一使用英文小写,如 `info.md`、`action.md`、`list.md`
文档文件中用于存放相关的接口的说明,如 `video/` 下的 `info.md`,存在 `查询视频基本信息`、`查询视频简介`、`查询视频分P列表` 等内容
## Markdown 文档内容格式
-文档使用 [Vuepress](https://vuepress.vuejs.org/) 生成,可以使用 [Vuepress md 扩展语法](https://vuepress.vuejs.org/guide/markdown.html)编写
+文档使用 [VuePress](https://vuepress.vuejs.org/) 生成,可以使用 [VuePress Markdown 扩展语法](https://vuepress.vuejs.org/guide/markdown.html)编写
-注:以下文档范式可根据**实际情况**进行调整
+注:以下文档范式主要针对接口类文档, 可根据**实际情况**进行调整, 你也可以使用 [`json-apidoc-gen`](https://github.com/SessionHu/json-apidoc-gen) 工具直接生成模板自行填充内容. 非接口类文档, 如算法等, 可以参考已有的内容
### 头部
文档首行为**一级标签**格式标题,如 `# 用户基本信息`
-**文档头部不再需要手写索引**,索引由 Vuepress 自动生成
+**文档头部不需要手写索引**,索引由 VuePress 自动生成
### 接口说明
@@ -121,7 +121,7 @@ e.g.:
**请求参数**应在**接口说明**的下方,应注明参数类型 url 参数或正文参数(正文参数应注明 content-type,如 `application/x-www-form-urlencoded` 或 `multipart/form-data`),使用**加粗**语法
-对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名`、`类型`、`内容`、`必要性`、`备注`,类型为 `num`、`str`、`bool`、`nums`、`strs`、`file` 等,必要性为 `必要`、`非必要`、`必要 (可选)` 等,表格内每个字段为一行
+对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名`、`类型`、`内容`、`必要性`、`备注`,类型为 `num`、`str`、`bool`、`nums`、`strs`、`file` 等 (未来可能会统一改为基于 TypeScript 的类型系统),必要性为 `必要`、`非必要`、`必要 (可选)` 等,表格内每个字段为一行
e.g.:
@@ -132,13 +132,13 @@ e.g.:
**响应正文**应在**请求参数**的下方,接口响应的数据格式应标注,如 `JSON 回复`、`XML 回复`、`ProtoBuf 回复`,使用**加粗**语法
-JSON Object 或 ProtoBuf Message 应以对象的**表格**形式书写,表头为 `根对象` 或 `xx 中的 yy 对象`,若对象位于数组中则为 `xx 数组中的对象`
+JSON Object 或 ProtoBuf Message 应以对象的**表格**形式书写,表头为 `根对象` 或 `xx 中的 yy 对象` 或 `xx.yy.zz 对象`,若对象位于数组中则为 `xx 数组中的对象` 或 `xx[] 中的对象`
表头统一依次为 `字段`、`类型`、`内容`、`备注`,类型为 JSON / Protobuf 的标准类型,如 `num`、`str`、`bool`、`obj`、`array`、`null` 等
不明确定义的字段说明在内容的末尾添加问号,如 `播放数?`;定义尚未明确的字段使用 `(?)` 在内容中占位,并在备注中填写 `作用尚不明确`
-多个对象及数组,使用**遍历树**的顺序进行排列
+多个对象及数组,使用**遍历树**的顺序进行排列, 若数组中的每一项结构均相同也可以直接省略为像 `xxx 数组中的对象` 这样的格式
e.g.:
@@ -168,13 +168,13 @@ e.g.:
**示例**部分位于所有**响应正文**部分下方,需要**加粗**格式,分为请求命令示例与响应体示例两部分
-请求命令示例为一段可测试该接口的 curl 命令或 Python 脚本,使用**代码块**语法书写,命令应当尽可能简短、便于使人阅读
+请求命令示例为一段可测试该接口的 cURL 命令或某种编程语言的代码,使用**代码块**语法书写,命令应当尽可能简短、便于使人阅读, 代码缩进为 **2** 个 **空格 (U+0020)**
示例命令中的认证信息应做**脱敏处理**,如 Cookie、Token、access_key 等,可替换为 `xxx` 占位
示例命令前后可以适当添加一些文字说明
-响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写,并使用 `` 标签进行折叠
+响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写,并使用 `` 标签进行折叠, 仍一律使用 **2** 个 **空格** 进行缩进
e.g.:
@@ -258,6 +258,26 @@ message Author {
## 文档提交
-使用 Pull Request 将修改后的文档提交到 `master` 分支,标题需写明提交的内容
+### 拉取 (Pull) 与 提交 (Commit)
-(TODO)
+本项目仓库仅托管于 GitHub, 使用 Git 作为版本控制系统, 你需要对两者有基础的了解
+
+请先 fork, 然后在自己的 fork 上进行修改
+
+提交的标题不要使用默认的 `Update xxx`, 建议遵循 [Conventional Commits (约定式提交) 规范](https://www.conventionalcommits.org/zh-hans/v1.0.0/), 标题语言可根据个人习惯
+
+当发现远程与本地仓库不一致时, 若你操作的 fork 的 branch 无打开的 PR, 建议使用变基拉取, 而不是生成一个额外的合并提交的合并拉取, 反之则相反
+
+移动文件请使用 `git mv`, 而不是删除并添加同一个文件于不同位置 (该问题在 VSCode 的 GUI 版 Git 中存在)
+
+### 拉取请求 (Pull Request)
+
+使用 拉取请求 (Pull Request, PR) 将修改后的文档提交到 `master` 分支,标题需写明修改或新增的内容, `gh_pages` 分支将在 PR 合并后自动更新
+
+如果你还没有完成计划的全部修改, 请创建 Draft Pull Request 表示你还没有做好被合并的准备 ~~(抢占先机, 精神可嘉, 值得鼓励)~~
+
+PR 正文使用 **无序列表** 写明更改的每一项内容, 可以使用复选框表明进度, 需要关闭的 Issue 请使用 `close #xxxx` 这样的格式一并包含在内
+
+如果内容包含代码, 请一并提供测试的输入与输出的文本或截图, 最好可以附上完整的测试环境及相关可执行文件等
+
+PR 合并后, 请及时删除或更新分支. 特别是在使用压缩合并或变基合并后, 请 `Discard changes` 或直接删除分支, 以免在下一次 PR 后出现重复相同提交的问题
diff --git a/README.md b/README.md
index 25ba648..5a90b64 100644
--- a/README.md
+++ b/README.md
@@ -44,6 +44,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
3. 利用本项目提供的接口、文档等造成不良影响及后果与本人无关
4. 由于本项目的特殊性,可能随时停止开发或删档
5. 本项目为开源项目,不接受任何形式的催单和索取行为,更不容许存在付费内容
+6. **上传任何信息时请注意脱敏,删去账户密码、敏感 cookies 等可能泄漏个人信息的数据(例如 `SESSDATA`、`bili_jct` 之类的 cookies)**
:::
@@ -55,7 +56,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
1. 文档二级目录尚未完成
2. 部分文档较旧,修改与更新没有跟进
-3. 目前文档使用 markdown 语法编写,不易生成编程语言的 SDK,详见 [#604](https://github.com/SocialSisterYi/bilibili-API-collect/issues/604)
+3. 目前文档使用 Markdown 语法编写,不易生成编程语言的 SDK,详见 [#604](https://github.com/SocialSisterYi/bilibili-API-collect/issues/604)
更多信息请浏览 [贡献指南](CONTRIBUTING.md)
@@ -91,15 +92,15 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [x] [Web 端 Cookie 刷新](docs/login/cookie_refresh.md)
- [ ] [消息中心](docs/message)
- [ ] [通知类消息](docs/message/msg.md)
- - [ ] [私信](docs/message/private_msg.md)
- - [ ] [私信消息类型、内容说明](docs/message/private_msg_content.md)
- - [ ] 设置
+ - [x] [私信](docs/message/private_msg.md)
+ - [x] [私信消息类型、内容说明](docs/message/private_msg_content.md)
+ - [x] [设置](docs/message/settings.md)
- [ ] [用户](docs/user)
- [x] [基本信息](docs/user/info.md)
- [x] [状态数](docs/user/status_number.md)
- [x] [关系](docs/user/relation.md)
- [ ] [个人空间](docs/user/space.md)
- - [x] [检查昵称是否可注册](docs/user/check_nickname.md)
+ - [x] ~~[检查昵称是否可注册](docs/user/check_nickname.md)~~ (已失效)
- [x] [用户注册](docs/user/register.md)
- [x] [用户认证类型一览](docs/user/official_role.md)
- [ ] [加入老粉计划](docs/user/contract.md)
@@ -111,8 +112,9 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [ ] [大会员操作](docs/vip/action.md)
- [ ] [视频](docs/video)
- [x] [视频分区一览 (分区代码)](docs/video/video_zone.md)
+ - [ ] [视频分区一览 (分区代码) (v2)](docs/video/video_zone_v2.md)
- [x] [基本信息](docs/video/info.md)
- - [x] [状态数](docs/video/status_number.md) (已失效)
+ - [x] ~~[状态数](docs/video/status_number.md)~~ (已失效)
- [x] [快照](docs/video/snapshot.md)
- [x] [点赞 & 投币 & 收藏 & 分享](docs/video/action.md)
- [ ] [TAG](docs/video/tags.md)
@@ -125,7 +127,6 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [x] [视频在线人数](docs/video/online.md)
- [x] [视频 AI 摘要](docs/video/summary.md)
- [ ] [稿件投诉](docs/video/appeal.md)
- - [ ] [视频状态数](docs/video/status_number.md)
- [ ] [视频合集](docs/video/collection.md)
- [ ] [播放器](docs/video/player.md)
- [ ] [剧集 (番剧、影视)](docs/bangumi)
@@ -154,10 +155,10 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [x] [笔记操作](docs/note/action.md)
- [ ] [专栏](docs/article)
- [ ] [专栏分类](docs/article/category.md)
- - [X] [基本信息](docs/article/info.md)
- - [X] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md)
- - [X] [文集基本信息](docs/article/articles.md)
- - [X] [获取用户专栏文章列表](docs/article/list.md)
+ - [x] [基本信息](docs/article/info.md)
+ - [x] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md)
+ - [x] [文集基本信息](docs/article/articles.md)
+ - [x] [删除](docs/article/delete.md)
- [ ] [音频](docs/audio)
- [x] [歌曲基本信息](docs/audio/info.md)
- [ ] [歌单 & 音频收藏夹详细信息](docs/audio/music_list.md)
@@ -203,7 +204,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [x] [B 币方式充电](docs/electric/Bcoin.md)
- [x] [微信 & 支付宝方式充电](docs/electric/WeChat&Alipay.md)
- [x] [充电留言](docs/electric/charge_msg.md)
- - [x] [充电列表](docs/electric/charge_list.md)
+ - [x] [充电列表](docs/electric/charge_list.md)
- [ ] [动态](docs/dynamic)
- [ ] [获取动态列表](docs/dynamic/all.md)
- [ ] [获取用户空间动态](docs/dynamic/space.md)
@@ -220,16 +221,16 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [x] [特定话题动态列表](docs/dynamic/tag_dynamics.md)
- [ ] [动态内容](docs/dynamic/get_dynamic_detail.md)
- [ ] [导航栏动态](docs/dynamic/nav.md)
-- [ ] [相簿](docs/album) (已下线)
- - [x] [基本信息](docs/album/info.md)
- - [x] [相簿列表](docs/album/list.md)
- - [x] [推荐作者](docs/album/recommend_author.md)
- - [x] [活动列表](docs/album/activity_list.md)
- - [x] [操作](docs/album/action.md)
- - [ ] 投稿
-- [ ] [历史记录 & 稍后再看](docs/history&toview)
- - [x] [历史记录](docs/history&toview/history.md)
- - [x] [稍后再看](docs/history&toview/toview.md)
+- [ ] ~~[相簿](docs/album)~~ (已下线)
+ - [x] ~~[基本信息](docs/album/info.md)~~
+ - [x] ~~[相簿列表](docs/album/list.md)~~
+ - [x] ~~[推荐作者](docs/album/recommend_author.md)~~
+ - [x] ~~[活动列表](docs/album/activity_list.md)~~
+ - [x] ~~[操作](docs/album/action.md)~~
+ - [ ] ~~投稿~~
+- [ ] [历史记录 & 稍后再看](docs/historytoview)
+ - [x] [历史记录](docs/historytoview/history.md)
+ - [x] [稍后再看](docs/historytoview/toview.md)
- [ ] [收藏夹](docs/fav)
- [x] [基本信息](docs/fav/info.md)
- [x] [收藏夹内容](docs/fav/list.md)
@@ -242,16 +243,20 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
- [x] [播放 & 下载地址(视频流)](docs/cheese/videostream_url.md)
- [ ] [直播](docs/live)
- [ ] [直播间基本信息](docs/live/info.md)
+ - [ ] [直播推荐](docs/live/recommend.md)
- [ ] [直播分区](docs/live/live_area.md)
- [ ] [直播间管理](docs/live/manage.md)
- [ ] 直播间操作
- [ ] [直播视频流](docs/live/live_stream.md)
- [ ] [直播信息流](docs/live/message_stream.md)
- [ ] [直播红包](docs/live/redpocket.md)
+ - [ ] [直播间表情包](docs/live/emoticons.md)
- [ ] [直播间用户实用 API](docs/live/user.md)
- [x] [直播间禁言相关](docs/live/silent_user_manage.md)
- [ ] [关注UP直播情况](docs/live/follow_up_live.md)
- [ ] [直播心跳上报](docs/live/report.md)
+ - [ ] [直播间弹幕](docs/live/danmaku.md)
+ - [ ] [直播流水](docs/live/live_bill.md)
- [ ] [活动](docs/activity)
- [ ] [活动列表](docs/activity/list.md)
- [ ] [活动主题信息](docs/activity/info.md)
@@ -330,7 +335,7 @@ WeChat & Alipay:
-OR Aifadian:[https://afdian.net/@ShakaiAneE](https://afdian.net/@ShakaiAneE)
+OR Aifadian:[https://afdian.com/@ShakaiAneE](https://afdian.com/@ShakaiAneE)
## 🔗相关项目推荐
@@ -376,6 +381,7 @@ OR Aifadian:[https://afdian.net/@ShakaiAneE](https://afdian.net/@ShakaiAneE)
- [CzJam/Bili_Realtime_Data](https://github.com/CzJam/Bili_Realtime_Data): Bilibili粉丝与视频实时数据统计
- [kingwingfly/fav](https://github.com/kingwingfly/fav): 自动同步bili收藏夹、合集视频到本地的CLI工具(Rust实现,并提供一个文档测试完善的Rust风格的用于构建有状态爬虫的核心库)
- [linyuye/Bilibili_crawler](https://github.com/linyuye/Bilibili_crawler): 基于bilibili懒加载api爬取b站动态,视频等评论区
+- [ouzexi/bilibili-hot-tags](https://github.com/ouzexi/bilibili-hot-tags): 一个B站热门视频标签检索统计小工具
### 其他
@@ -383,6 +389,7 @@ OR Aifadian:[https://afdian.net/@ShakaiAneE](https://afdian.net/@ShakaiAneE)
- [bloomrpc/bloomrpc](https://github.com/bloomrpc/bloomrpc): GUI Client for GRPC Services
- [grpc/grpc](https://github.com/grpc/grpc): The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
- [glideapps/quicktype](https://github.com/glideapps/quicktype): quicktype generates strongly-typed models and serializers from JSON, JSON Schema, TypeScript, and GraphQL queries, making it a breeze to work with JSON type-safely in many programming languages. 一键生成多种语言的JSON反序列化所需类,以便于快速反序列化,有网页版
+- [SessionHu/json-apidoc-gen](https://github.com/SessionHu/json-apidoc-gen): Simple CLI tool for generating BAC document template