bangumi-data-helper
v0.2.11
Published
Helper for Bangumi Data
Downloads
68
Readme
Bangumi Data Helper
Bangumi Data Helper 是一个命令行辅助工具,用于简化 Bangumi Data 的数据维护工作。bdh 可以完成大多数的重复性工作,但由于各个站点各个信息的不确定因素较多,爬取到的结果还需人工审核一遍。
Installation
npm i -g bangumi-data-helper
Usage
需要在 bangumi-data 项目目录下运行。
# 查看帮助
bdh --help
# 生成某季度的初始数据
bdh create 2016q4
# 更新某月的番组数据
bdh update 201610
# 交互式地手动增加某月的放送站点
bdh edit 201610
# 补完某站的所有番剧
bdh hokan iqiyi
# 补充所有 end 字段为空的番剧
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 | ✔️ | ✔️ |