Closed SummerDiver closed 6 months ago
感谢PR。我去年底其实就有梳理过一些思路,但是最近工作挺累一直没有付诸实现,也还有一些问题没想好怎么处理。以下是之前的思路,希望能在讨论中得到完善。
JavLibrary的演员名鉴页面会按照罗马拼法的首字母显示演员的名称,通过切换语言可以获得同一演员的简中、繁中、英文、日文名。需要记录下演员的ID javdb记录了丰富的演员别名,但是默认显示的名字通常不是常用名。可以在演员详情页面,看到演员出现的影片。按照 【看过人数+单体作品】排序,取第一部影片,在JavLibrary中进行搜索,以此通过影片将演员关联起来。
即使如此可能获得的也不是常用名,比如 【田中檸檬, 田中レモン, 楓カレン, 楓花戀, 枫花恋】,现在她用的是田中的名字,但是更广为人知的是枫花恋。 可以以Google Trend输入一个词时,它返回的提示词作为(当前浏览器语言下)别名接受度的标准。以【枫花恋】为例,输入她的几个别名,返回的行业提示都是【枫花恋】
在仓库内保存两个文件,一个是直接扫描得到的,一个是扫描后人工校对差异项手动修改的
关于数据更新,我倾向于由开发者进行维护,预计另开一个仓,同时接收PR更新,以减小对源站点的请求压力。另开一个仓的话,相应数据也更容易被其他有需要的项目(如果有)所使用
之前的PR被关闭主要是并没有预置一个足够的数据集,我认为这种状态很难称得上对用户可用。 此外,我比较倾向于最终使用csv格式管理数据,因为在Windows系统上csv容易借助Excel进行方便的编辑,方便用户自己添加整理数据,而不需要用户学习json格式。
按照您的思路,如此实现下来确实工作量相当庞大,就数据爬取方面而言预计也会相当耗时。首先,我主要就功能定位大概有如下观点:
以上基本是我个人对功能定位的理解,接下来是我对具体实现思路的建议(可能涉及到代码实现的地方均是考虑使用 json 和字典的情况):
以上是个人目前的全部想法,核心观点其实就是将功能支持与数据提供分离,先把功能做了,至于数据可以另行考虑甚至另起项目维护。
另外,满足所有用户的长期需求可能是困难甚至不现实的(从您的设计思路来看,应该是尽可能地考虑了各种情况和潜在用户需要来设计),(就本项目而言)在实际进行功能设计时或许还是以能够满足大部分用户的目前可见需要为主,在考虑未来可扩展性的前提下进行小增量迭代设计与开发,“一步到位”可能并不是特别适合这种还在不断发展完善的长期维护开源项目。
先提供基本功能再考虑完善这点您说得很有道理,有理有据,令人信服~不过数据格式这点我还是比较坚持采用csv。诚然github上很多用户是有技术背景的,编辑json并无困难,但有很多用户虽然拥有github账号可能只是用来提issue。csv的编辑门槛要低很多。
使用一个 json 文件保存演员的艺名,针对数据集来源,我大概查看了几个网站,最后感觉可能只有 javdb 提供的信息比较合适,所以额外写了个函数从 javdb 来爬取并保存。
目前有以下问题可能需要进一步考虑:
其实感觉可以将爬虫和 json 文件这部分分离出来,新增一个项目或分支专门放置爬虫程序和 json 文件更新函数(如果会写)和最新爬取的 json 数据。原项目仅提供读取并根据 json 文件来在保存信息时固定艺名的功能(目前加入的代码效果基本就是这样子,只是 json 文件保存位置应该需要进一步考虑)。