Giter Club home page Giter Club logo

bangumi-data's Introduction

Bangumi Data Awesome

Build Status NPM Version File size jsDelivr License Slack Welcome PRs Welcome

动画番组及其放送、资讯站点数据集合

使用方法

npm install bangumi-data
const bangumiData = require('bangumi-data');

也可通过 CDN https://unpkg.com/[email protected]/dist/data.json 获取 v0.3.x 的最新数据

哪些项目在使用

https://github.com/bangumi-data/awesome

帮助我们改进

CONTRIBUTING.md

License

The data in this repo is available for use under a CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/). For attribution just mention somewhere that the source is bangumi-data. If you have any questions about using the data for your project please contact us.

bangumi-data's People

Contributors

9yu avatar alanoy avatar arition avatar dependabot[bot] avatar fisherming avatar george-miao avatar github-actions[bot] avatar gyakkun avatar kennyfong19931 avatar lhyzf avatar lintmx avatar no1xsyzy avatar outloudvi avatar semantic-release-bot avatar steve-mr avatar trim21 avatar upsuper avatar weizhenye avatar wxt2005 avatar xingoxu avatar xinoassassin avatar yjl9903 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bangumi-data's Issues

发布原始数据

能把 data 目录里的也发布到 npm 吗,直接 require 整个 dist/data.json 会很慢 😅

可以把部分国产动画加入番组计划吗?

可以把部分国产动画加入番组计划吗?
比如:我的天劫女友、一人之下第二季 ……这2个(这些B站|腾讯|爱奇艺--可能都有)

即将完结或已完结的随便可有可无--妖怪名单 第二季'/黑白无双 第二季

关于“どるふろ -狂乱篇-”这串数据

在使用bangumi-data的时候发现就这一串数据是没有bangumi的id的。

{ title: 'どるふろ -狂乱篇-',
  titleTranslate: { 'zh-Hans': [ '少女前线狂乱篇' ] },
  type: 'tv',
  lang: 'ja',
  officialSite:
   'https://www.jvcmusic.co.jp/dollsfrontline/minianime/kyouran/',
  begin: '2019-12-27T16:00:00.000Z',
  end: '',
  comment: '',
  sites: [] }

然后我上去bangumi查了一下。只有“少女前线 人型小剧场”这一部番。没看到狂乱篇。
点进去后看到bangumi是把两个少女前线的篇章归纳到“少女前线 人型小剧场”下了。
[Bangumi页面]
image

B站也是一样。
这部番的治愈篇+狂乱篇都在属于“少女前线 人型小剧场”。

而治愈篇的这串数据里面官方地址打开后是两个篇章都在那里的。niconico也是。

{ title: 'どるふろ -癒し編-',
  titleTranslate: { 'zh-Hans': [ '少女前线治愈篇' ] },
  type: 'tv',
  lang: 'ja',
  officialSite: 'https://www.jvcmusic.co.jp/dollsfrontline/minianime/',
  begin: '2019-10-04T16:00:00.000Z',
  end: '2019-12-20T16:00:00.000Z',
  comment: '',
  sites:
   [ { site: 'bangumi', id: '217405' },
     { site: 'nicovideo',
       id: 'dollsfrontline_minianime',
       begin: '2019-12-07T12:00:00.000Z' } ] }

image

建议这两串数据数据是否可以集成为一串数据呢?还可以补上B站的番剧id到sites里面。

关于同视频站多版本的的数据问题

在整理七月番放送数据时发现有些番会同时提供两个版本

eg:
动画疯 - 女神宿舍的管理員。
Snipaste_2021-07-04_13-27-24

木棉花香港 - 叫我對大哥
Snipaste_2021-07-04_13-29-13

关于这种情况应该如何填写放送站点信息,目前 sites 有唯一性要求
Snipaste_2021-07-04_13-32-29

再顺带问一个周期性问题,叫我對大哥(WEB版) 怎么又是你 放送是每周一和周三,这样如何填写 broadcast 字段?
Snipaste_2021-07-04_13-35-32

通过视频时长判断是否被和谐

一般的番组都会有标准的时长。现在许多视频站直接有片段被剪掉了,导致时长不一致。是否可以通过这个标志来标识censored属性?

能不能加个选项来选择是否关闭修仙模式?

比如《鲁邦三世 PART6》这种的。
名义上写的是周六播出,但实际上播出时间那里写的是周六25:30 (网络)。这个实际上已经完全是周日了。
希望能加个选项把这种每天24点及以后播出的番组的播出日期算在之后的一天里。

是否考虑给site(onair)增加区域属性?

部分播放站点(B站、Netflix、YouTube)已经开始出现同站点针对不同地区有不同番组的情况了,感觉是时候加个字段来标明区域了。我现在的想法是,把这个字段加在site里,不同区域的同一个站点用不同名字分开。同时最好能支持includeexclude。例如:

  "bilibili": {
    "title": "哔哩哔哩",
    "urlTemplate": "https://www.bilibili.com/bangumi/media/md{{id}}/",
    "region": {
      "include": ["CN"]
    }
  },
  "bilibili_hk_tw": {
    "title": "哔哩哔哩港澳",
    "urlTemplate": "https://www.bilibili.com/bangumi/media/md{{id}}/",
    "region": {
      "include": ["CN"]
    }
  },
   "imaginary": {
    "title": "栗子",
    "urlTemplate": "https://www.xxx.jp/{{id}}",
    "region": {
      "exclude": ["CN"]
    }
  },

地区代码可以参考:ISO 3166-1

东京复仇者 腾讯源

id = m/mzc00200rrtzb8h
V2 上听人说了才发现有,偷懒了没有其他信息,发个 Issue 算了(

讨论下一版本 v0.3

v0.2 发布已经有一年了,期间不少站点有了变化,我个人在维护中也有些想法。

  1. 是否考虑删除所有土豆的数据?
  2. 是否考虑删除所有看看的数据?
  3. 是否考虑删除所有 AcFun 的旧数据,urlTemplate 更换为新的专辑页?
    urlTemplate 从 http://www.acfun.cn/v/ab{{id}} 变更为 http://www.acfun.cn/bangumi/aa{{id}}
  4. 是否考虑把 Bilibili 的 urlTemplate 更换为新的专辑页?
    urlTemplate 从 https://bangumi.bilibili.com/anime/{{id}} 变更为 https://www.bilibili.com/bangumi/media/md{{id}}/
  5. 是否考虑删除站点信息里的 official、premuiumOnly、censored、exist、comment 字段?

我去 弄个TG或者Q群啊 大家一起反馈情报 不然这样数据更新太慢了

我去 弄个TG或者Q群啊 大家一起反馈情报 不然这样数据更新太慢了
刚刚还在老的项目反馈……2017年07月的番的时候我就不知道去哪里反馈 别人说来github反馈
我找了没找到 今天算是看到了 这边似乎是最新的?
我之前反馈的地方可以帮我删掉wxt2005/bangumi-list#51
主要反馈内容:
2017年10月的
つうかあ已经翻译为侧车搭档 由A站独家
黑色五叶草也少了片叶子更名为黑色四叶草...

番组补完计划

bangumi-data 原先的数据维护模式,是每一季度手动添加各站新番,虽然工作量人工维护还算能承受,但仍显疲惫,况且对旧番组就力不从心了。

两个月前我翻看了各站动画列表才意识到,像乐视总共就 470 部,搜狐、AcFun、腾讯视频、芒果tv 等也就几百上下,优酷土豆有三四千,B 站番剧 id 接近 6000,可能算是最多的了。实际上,把各站动画爬一边全部添加是可能的。

于是就诞生了番组补完计划。首先是要有每季度番组的 meta 信息,这部分已经做好了自动化,由 Bangumi Data Helper 爬取 http://cal.syoboi.jp/quarter/ 的数据,目前已经添加到 1990 年;其次是获取各站所有的番剧列表,这部分不难,在各站的列表页遍历一遍拿到 id 和标题;最后是将爬到的列表添加到对应的 JSON 里,这个是比较麻烦的。对于标题一模一样的,可以直接添加,只要注意少部分特例就好,这样差不多可以自动添加 50% 的番组。剩下 50%,我想不到什么好的方法来自动处理,模糊匹配不知道怎么做,另爬放送日期也只能作为辅助判断,所以都是人工判断添加的。

等各站数据都添加完后,番组补完计划可以进入第二阶段。对于数据的更新,就把该站全爬一遍,filter 掉已经存在的,剩下的不符合的番组(如 xx 合集版)存到 exclude 列表,也 filter 掉,再剩下的就是该站新添加的番组,这样维护的话会比较便捷。

目前,我已经补完了不少站点,还剩 pptv、优酷、土豆、B 站未添加。之后还考虑添加 nico、crunchyroll、Amazon Anime Strike、Netflix 等海外站点。

在补完过程中,发现了一些问题以及待讨论的事项:

  • 在爬取全站添加的时候,除了标题完全匹配,有无其他匹配方案?
  • 腾讯视频的专辑页面,如 https://v.qq.com/detail/o/oesitw7dajrcifs.html,目前是使用 o/oesitw7dajrcifs 作为 id。实际上,把前面的 o 换成 [a-zA-Z0-9] 不影响链接的正确性,比如 https://v.qq.com/detail/x/oesitw7dajrcifs.html 也能到达专辑页面。而且腾讯视频相关的 API 中也是 oesitw7dajrcifs 作为 id 的,是否更换?(我是倾向于更换的
  • 各站的剧场版、OVA 还是不少的,可能要重新考虑一下 #1,目前未做区分直接当做普通番组放进去了。不过剧场版缺少一个获取 meta 信息的方案,cal.syoboi.jp 没有剧场版数据。
  • 像 B 站和优酷专辑页面,没有实际的各集视频,PPTV 有些也只有 PV 和 CM,有些仅列出其他站点的播放源。考虑到现在各站也在购买旧番,说不定哪天就买了,那这些是否应该添加?该如何区分?

希望能加入API接口

我希望能加入API接口
对于博客等等这类网站可以对接!
希望能加入这种功能!我直接吹爆!
感谢~

讨论制定下一版本(v0.2.0)的数据结构

以下列表作为讨论项(可留言添加):

  1. 支持剧场版、OVA/OAD、Web 动画等类型(详见 #1
    讨论数据维护方式及字段,可参考 https://github.com/MikanProject/bangumi-data
  2. 支持非日本动画(在 #22 提到)
    考虑国产、欧美、中日两版同步放送等情况
  3. 番剧页面准入条件(在 #11 提到)
    部分站点的番剧页面只有介绍或 PV,没有实际视频,是否可以添加?
  4. 明确各个站点信息字段的改动(在 #11 (comment) 提到)
    • 有些信息无法自动化获取,实际上就是没法用的,考虑删除或默认值为 null
    • lang 字段的含义
    • 字段增加(如第三条提到的,是否用字段标注有无实际视频)
  5. resource.json 中是否用 {{id}} 作为模板

希望增加下载关键词的支持

因为不同字幕组标题格式、繁简体、标点、特殊字符等原因,
直接使用标题搜索效果不是很好
同时,动漫花园页面上方新番資源索引是有自己的一套关键词的,我认为可以利用到bgmlist中。

如:
博人传
通过bgmlist的花园点击是
https://share.dmhy.org/topics/list?keyword=火影忍者 博人传之火影次世代

而花园页面上方的新番資源索引
https://share.dmhy.org/topics/list?keyword=博人|Boruto

修改方案推荐:
链接下载使用相同的配置,在sites中增加判断。

"sites": [
      {
        "site": "bangumi",
        "id": "204855"
        "type": "link" // Bangumi页面
      },
      {
        "site": "dmhy",
        "id": "Apocrypha"
        "type": "download" // 花园
      }
    ]

https://share.dmhy.org/cms/page/name/owari_bangumi.html
该页面提供往期的关键词

部分没有关键词的番剧可能需要使用默认标题进行替换。

剧场版支持

是否有计划提供剧场版/OVA支持?
剧场版的话,我想首先需要在所有的条目当中加一个AnimeType,用于标识这个条目是TV/OVA/剧场版。剧场版的话,应该还需要同时提供上映日期和BD发售日期。
数据源的话可以先参考萌娘百科

关于长期连载动画的放送时间变更

例如类似《名侦探柯南》TV版这样的情况,放送开始是日本时间的1996-01-08 19:30(周一),但是在2009年调整成了日本时间的周六晚上18:00(参考:名探偵コナン (アニメ)),该如何在数据中体现?

我现在能想到的解决方案有两种:

  1. 将不同放送时间段播出的部分视为不同的数据条目,这样在不同年份的数据中会存在标题相同但放送开始时间(begin)不同的番组。问题在于是否要加上类似版本的字段,用来标明这些数据属于同一个番组。
  2. begin字段不变,在条目数据中增加放送日期调整历史的可选数组字段,将每次的日期变更列出。这个字段也可以同时应用于各放送站点的播放时间调整。

@weizhenye 你怎么看?

添加B站仅限港澳台的番剧编号?

现在有部分新番在B站上是仅限港澳台或者仅限**的,这些或许也应该加入到数据中去(特别是考虑到连nico和netflex都有了)。

数据里面B站的链接是 https://bangumi.bilibili.com/anime/* 的形式,但看起来现在B站的番剧地址都是 https://www.bilibili.com/bangumi/media/md* 而且两者的编号还不一样,不是很确定如何查到anime那个编号……

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.