刮削指南¶
刮削 (Scraping) 是从多个数据源获取影片元数据的过程. Amane 支持多源聚合与增量更新.
刮削流程¶
一次刮削任务按下面顺序执行:
- 解析番号与类型: 用内置规则从文件名或用户输入得到番号和内容类型.
- 按类型路由请求: 该类型路由上的站点会被请求. 字段优先级与字段黑名单不改变请求哪些站点.
- 按字段聚合: 每个字段从已返回的结果里按名单取值. 默认名单是类型路由; 字段优先级把其中一部分提前; 字段黑名单把其中一部分删除.
- 翻译: 使用 LLM 翻译字段 (可选).
- 持久化: 保存到数据库并下载资源.
关于下载资源
刮削时可选择下载海报、封面、剧照和预告片. 预告片 (trailer) 文件非常大, 不推荐开启. 其他图片类型 (海报、封面、剧照) 即使在刮削配置中关闭, 在前端访问影片详情页时也会自动下载.
刮削设置¶
「设置 → 影片刮削」中与取值有关的项:
| 配置项 | 说明 |
|---|---|
| 类型路由 | 每种内容类型一条有序站点名单. 决定该类型请求哪些站点, 并作为各字段的默认取值顺序 |
| 字段优先级 | 按字段. 把类型路由中的一部分提前 |
| 字段黑名单 | 按字段. 从类型路由中删除一部分 |
类型路由默认值:
| 类型 | 默认路由 |
|---|---|
| 有码 | dmm → javdb → javbus → official |
| 无码 | javdb → javbus → avsox → freejavbt |
| FC2 | javdb → fc2ppvdb → fc2 → freejavbt |
| 国产 | iqqtv → javdb → airav → freejavbt |
| 素人 | mgstage → dmm → javdb → javbus |
| 欧美 | theporndb → javdb → freejavbt |
| 动漫 | getchu → dmm → javdb |
示例¶
输入: 提交番号 MIDV-123, 未指定类型 (自动识别为有码)
用户配置:
- 有码类型路由: A → B → C → D → E
- 标题字段优先级: C → B → F → A
- 演员字段黑名单: A, C
- 其余字段未设置优先级或黑名单
最终结果:
- 标题顺序为 C → B → A → D → E (注意 F 不在该类型路由中, 被忽略)
- 演员为 B → D → E
- 其余字段为 A → B → C → D → E
缓存策略¶
站点级缓存¶
每次刮削的原始数据保存在 Metadata.raw 字段中:
- 按站点存储原始响应
- 重刮削时优先使用缓存
- 可单独控制是否使用缓存
翻译缓存¶
LLM 翻译结果独立缓存 (translations.db):
- 基于源文本哈希 + 目标语言 + 字段类型 + 提示词
- 跨番号去重 (相同简介只翻译一次)
- 修改自定义提示词后旧译文自动失效, 不需要手工清理缓存
- 换模型后需删除缓存文件强制重译
翻译¶
Amane 集成 LLM 翻译能力:
- 支持字段: title, plot
- 语言检测: 自动判断是否需要翻译
- 简繁转换: 中文简繁自动转换 (不走 LLM)
- 跨语系翻译: 日→中, 英→中等使用 LLM
- 自定义提示词: 覆盖系统提示词与逐字段说明, 用于限定用词范围与描述方式; 输出约束固定为纯译文, 不进入配置面
翻译配置见 配置指南 - LLM 翻译.
演员刮削¶
影片刮削成功后, 可自动链式触发演员刮削:
- 按配置的资料来源顺序获取演员信息
- 头像从专门的头像站获取
- 已刮过的演员自动跳过
演员刮削配置见 配置指南 - 演员刮削.
r18.dev 数据源¶
r18.dev 是一个特殊的离线数据源, 提供 PostgreSQL dump:
启用步骤¶
- 自备 PostgreSQL 实例
- 在配置中设置连接串 (
r18.dsn) - 设置 dump 下载地址 (
r18.download_url) - 创建定时任务执行导入
导入流程¶
- 探测 dump 版本 (ETag)
- 下载并解压
- 导入临时数据库
- 结构校验
- 切换数据库 (旧库 → 新库)
Tip
r18 导入需要 psql 命令行工具. Docker 镜像已包含.
任务系统¶
刮削通过任务系统异步执行:
任务类型¶
| 类型 | 说明 |
|---|---|
REFRESH |
扫描目录, 新文件入库, 可派生 SCRAPE |
SCAN_INVALID |
只读遍历媒体库, 产出无效文件、残留目录与空目录的清理清单 |
DELETE |
按确认过的清理清单删除文件与目录, 并清理对应索引 |
SCRAPE |
联网聚合元数据 |
ORGANIZE |
按路径模板整理已刮削文件 |
ACTOR_SCRAPE |
获取演员元数据 |
RESCRAPE |
重新刮削: 滚动重刮最久未更新的影片或演员, 复用站点快照 |
CLEANUP |
清理悬空引用和失效文件 |
UPSCALE |
超分低清图片 |
R18_IMPORT |
导入 r18.dev dump |
任务链¶
任务之间可形成依赖链:
REFRESH→SCRAPE→ACTOR_SCRAPE- 手动
SCRAPE→ACTOR_SCRAPE(链式触发)
缓存控制¶
刮削任务支持细粒度缓存控制:
metadata: 是否复用站点原始数据缓存trans: 是否复用翻译缓存- 空集 = 强制全部刷新
排障¶
刮削失败¶
- 检查任务日志: 任务详情页 → 查看摘要
- 检查站点结果: 每个站点的成功/失败状态
- 检查网络配置: 代理、超时、限速
数据不完整¶
- 检查内容类型是否正确
- 检查该类型路由是否包含目标站点
- 检查该字段的优先级与黑名单
- 尝试强制刷新重刮
翻译异常¶
- 检查 LLM 配置是否正确
- 检查 API 密钥是否有效
- 自定义提示词未生效时检查提示词是否留空, 以及该字段是否在翻译字段列表中
- 删除
translations.db强制重译