Bangumi Data Helper
![License](https://badgen.net/npm/license/bangumi-data-helper?icon=https://api.iconify.design/octicon:law.svg?color=white)
Bangumi Data Helper 是一个命令行辅助工具,用于简化 Bangumi Data 的数据维护工作。bdh 可以完成大多数的重复性工作,但由于各个站点各个信息的不确定因素较多,爬取到的结果还需人工审核一遍。
Installation
npm i -g bangumi-data-helper
适用于 ![Bangumi Data version](https://badgen.net/badge/bangumi-data/0.3.x)
Usage
需要在 bangumi-data 项目目录下运行。
bdh --help
bdh create 2016q4
bdh update 201610
bdh edit 201610
bdh hokan iqiyi
bdh end
HTTP_PROXY=http://127.0.0.1:1087 bdh hokan nicovideo
bdh create <season>
该命令会根据 cal.syoboi.jp 的数据,创建指定季度的初始数据,包括日文标题、英文标题、官网、放送开始时间、番剧类型、Bangumi.tv 对应条目。有些番组不包含放送开始时间,这些数据会被放入 data/items/0000/00.json
待人工处理。
bdh update <month>
在添加维护放送站点信息时,可以在 sites
数组中添加番剧页面链接或包含 site
和 id
信息的对象,例如:
{
"sites": [
"http://www.iqiyi.com/a_19rrh9uqb5.html",
{
"site": "iqiyi",
"id": "a_19rrh9uqb5"
}
]
}
在当前文件修改完后,可以运行该指令把当前文件所有番剧的 sites
数组处理成符合规范的格式,非模型定义的字段会被自动去除。注意,由于部分站点放送开始时间为无规律的中文,难以用程序解析,需要手动转换。
bdh edit <month>
交互式地手动添加番剧放送站点信息。
bdh hokan <site>
hokan 即为补完(番組補完計画),其工作模式为:爬取到某站所有的番剧数据,然后自动过滤掉已存在于 bangumi-data 的番剧和排除列表里的番剧,剩下的就是待添加或待排除的番剧。
执行该指令后,会在 data/items/0000/<site>.json
下输出待补完数据。复制番剧对象到 sites
数组中按 bdh update <month>
继续后续流程。对于非正常番剧(如乱入的站方自制节目、特典、广播剧、舞台剧、特摄、真人版等),请 PR 添加到排除列表。
bdh end
运行该指令将寻找所有 end 字段为空的番剧并尝试补充。只会补充放送结束时间在本月之前的番剧,也就是说,某番剧本月 1 日完结,在本月 30 日运行该指令是无效的。
Status
下表列举了当前自动化情况,✔️表示可以自动获取,✖️表示不能,⭕表示需要手动修改。
site | begin | 补完 |
---|
acfun | ✔️ | ✔️ |
bilibili | ✔️ | ✔️ |
iqiyi | ✔️ | ✔️ |
letv | ✖️ | ✔️ |
mgtv | ✔️ | ✔️ |
netflix | ✔️ | ✔️❓ |
nicovideo | ✔️ | ✔️ |
pptv | ⭕ | ✔️ |
qq | ⭕ | ✔️ |
sohu | ⭕ | ✔️ |
youku | ✔️ | ✔️ |