DLSite 元数据自动抓取:Kikoeru 如何从番号匹配作品信息
为什么要自动抓元数据
如果没有元数据,Kikoeru 里你看到的就是一堆目录名和音频文件,没法按标签筛选、没法按作者搜索、封面全是空的。DLSite 是同人音声/ASMR 领域最完整的元数据来源。
匹配逻辑
扫描时 Kikoeru 会:
- 读每个根文件夹下的子目录名
- 用正则匹配番号格式(最常见的是
RJ开头加数字,如RJ12345、RJ0012345、RJ123456) - 也支持
VJ等其他 DLSite 分区的番号前缀 - 提取到番号后,调用 DLSite 的页面(
www.dlsite.com/maniax/work/=/product_id/{番号}.html) - 解析 HTML,提取作品标题、封面 URL、作者/团队、发售日期、分类标签、价格、简介等
- 下载封面到本地
covers/目录 - 所有信息写入 SQLite 数据库
抓取结果
每个作品在数据库里至少有:
| 字段 | 来源 |
|---|---|
| 番号 | 文件夹名解析 |
| 标题 | DLSite 页面 |
| 封面 | DLSite 页面图片 URL,下载到本地 |
| 作者/团队 | DLSite 页面 |
| 发售日期 | DLSite 页面 |
| 分类/标签 | DLSite 页面的分类树 |
| 文件数 | 扫描到的音频文件数 |
| 根文件夹 | 属于哪个根文件夹 |
抓取失败的常见原因
文件夹名不是番号格式
如果你的文件夹叫"失眠必备轻音乐"而不是"RJ12345",Kikoeru 没法自动提取番号。元数据就全空了。
建议:尽量用番号做目录名,或者至少在目录名里包含番号(比如 RJ12345 失眠必备轻音乐)。
DLSite 上没有该番号
有些作品不在 DLSite 上(独立发布、下架了、或者是其他来源)。这种情况下只能手动整理。
网络问题
DLSite 对频繁访问有反爬限制,或者你的网络连不上 DLSite。前者重试扫描通常能好,后者得换网络。
元数据的灵活性
Kikoeru 不会修改你的音声文件本身——元数据全存在 SQLite 里。这意味着:
- 你可以随时改文件夹结构,重新扫描重新抓
- 元数据和音频文件是解耦的,改了不影响播放
- 可以随时触发"刷新元数据"按钮,重新从 DLSite 拉最新信息