#1 - 2022-5-23 04:13
ykozxy (El Psy Congroo)
个人虽然已经习惯了在 Bangumi 上点格子,但也挺喜欢 Anilist 上更清爽的 UI 以及个人主页里丰富的动画统计数据功能。所以最近开发了个自动从 Bangumi 同步动画收视纪录到 Anilist 的脚本。

项目地址

脚本基于 node+typescript 开发,目前已经实现了手动运行和后台常驻两种模式。条目匹配方式采用了标题模糊匹配+信息精确匹配,所以应该能保持较高的匹配率和精确率。

经测试我收藏中的 250+ 个动画条目仅有 22 个匹配失败。去除欧美动画以及 Bangumi 本身信息不完善的条目,仅有 9 个因为数据库信息不匹配而导致失败。总成功率约为 95%。

目前的一个限制是由于使用的 global 动画数据库文件 (30+ MB) 超过了 jsdelivr 的文件大小限制,所以会直接从 github 下载文件。因此国内用户可能访问速度可能会受限(bgm30)

后续打算继续开发从 Anilist 到 Bangumi 的反向同步,来达到真正的双平台自动同步。同时有精力的话也会尝试用 react+express 开发个简单的网页前端。(但具体完成时间就没有保证了(bgm93)

由于这是本人第一次用 typescript,所以代码会比较屎(bgm104)。欢迎各位来试用~

========== 2022/5/23 ==========
更新了短评同步。
#2 - 2022-5-23 04:48
(chanceyan)
mark
#2-1 - 2022-5-23 15:42
#2-2 - 2022-5-23 16:36
#3 - 2022-5-23 04:53
(横剑听风雨浸溪,无上清凉花满席。)
Mark!
另外,LZ知道Mal-Sync吗?那玩意儿功能挺有趣~
希望对你的后续开发有所帮助~
#3-1 - 2022-5-23 05:03
ykozxy
感谢提及~ 我以前用过mal-sync在MAL和Anilist间同步数据,但苦于它长久以来不支持bangumi的数据同步,有人open了issue也一直没有进展,所以就想干脆自己搞一个脚本了哈哈哈。
#3-2 - 2022-5-23 15:28
東雲閑
ykozxy 说: 感谢提及~ 我以前用过mal-sync在MAL和Anilist间同步数据,但苦于它长久以来不支持bangumi的数据同步,有人open了issue也一直没有进展,所以就想干脆自己搞一个脚本了哈哈哈。
好!支持!
#3-3 - 2022-5-23 20:29
liurui39660
ykozxy 说: 感谢提及~ 我以前用过mal-sync在MAL和Anilist间同步数据,但苦于它长久以来不支持bangumi的数据同步,有人open了issue也一直没有进展,所以就想干脆自己搞一个脚本了哈哈哈。
没有办法,bangumi的条目没有malid字段,其他API也远不够完善。
#3-4 - 2022-6-28 16:13
OH_toothache
liurui39660 说: 没有办法,bangumi的条目没有malid字段,其他API也远不够完善。
用数据结构好的当源往其他同步就解决了吧
[来自Bangumi for android] 获取
#3-5 - 2022-6-28 16:44
ykozxy
OH_toothache 说: 用数据结构好的当源往其他同步就解决了吧
[来自Bangumi for android] 获取
理论上应该确实可行,但目前貌似所有基于bangumi和基于mal的数据源都多多少少存在元数据差异。

比如标题名:
bangumi: 劇場版 魔法少女まどか☆マギカ [新編] 叛逆の物語
mal/anilist: 劇場版 魔法少女まどか☆マギカ 叛逆の物語

或者air date(以バブル为例):
bangumi: 2022/5/13
mal/anilist: 2022/4/28

所以感觉目前还是没有一个简单方法的。
#4 - 2022-5-23 05:11
(『一言以蔽之,就是「爱」!』)
我超,牛的。
蹲一手BGM→MAL。
#4-1 - 2022-5-23 05:20
ykozxy
有一个workaround是先同步到Anilist后再用mal-sync同步到MAL哈哈哈
#5 - 2022-5-23 05:54
(你将遇到的不幸,是你所蹉跎时间的报应 ...)
gj
#6 - 2022-5-23 08:03
mark
#7 - 2022-5-23 16:01
mark
#8 - 2022-5-23 20:17
(天の光は全て星だ)
试了一下,740个失败了4个

话说不顺便支持一下短评一键搬迁吗,我看anilist里也有个notes(bgm38)
#8-1 - 2022-5-23 23:33
ykozxy
更新了,现在支持了~
#9 - 2022-6-28 14:19
为什么我跑了会一堆Error然后手动自动都不行(bgm38)
#9-1 - 2022-6-28 15:32
ykozxy
破案了,原因是使用的数据库今天刚更新了格式导致数据读取失败。刚刚更新了一下,应该没有问题了。
#9-2 - 2022-6-28 15:32
ykozxy
内容已被用户删除
#9-3 - 2022-6-28 23:01
Konico
ykozxy 说: 破案了,原因是使用的数据库今天刚更新了格式导致数据读取失败。刚刚更新了一下,应该没有问题了。
可以了!谢谢大佬!
#10 - 2022-6-28 15:46
tql(bgm38) 想要好久了