跳转至

刮削指南

刮削 (Scraping) 是从多个数据源获取影片元数据的过程. Amane 支持多源聚合与增量更新.

刮削流程

一次刮削任务按下面顺序执行:

  1. 解析番号与类型: 用内置规则从文件名或用户输入得到番号和内容类型.
  2. 按类型路由请求: 该类型路由上的站点会被请求. 字段优先级与字段黑名单不改变请求哪些站点.
  3. 按字段聚合: 每个字段从已返回的结果里按名单取值. 默认名单是类型路由; 字段优先级把其中一部分提前; 字段黑名单把其中一部分删除.
  4. 翻译: 使用 LLM 翻译字段 (可选).
  5. 持久化: 保存到数据库并下载资源.

关于下载资源

刮削时可选择下载海报、封面、剧照和预告片. 预告片 (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
  • 其余字段未设置优先级或黑名单

最终结果:

  1. 标题顺序为 C → B → A → D → E (注意 F 不在该类型路由中, 被忽略)
  2. 演员为 B → D → E
  3. 其余字段为 A → B → C → D → E

缓存策略

站点级缓存

每次刮削的原始数据保存在 Metadata.raw 字段中:

  • 按站点存储原始响应
  • 重刮削时优先使用缓存
  • 可单独控制是否使用缓存

翻译缓存

LLM 翻译结果独立缓存 (translations.db):

  • 基于源文本哈希 + 目标语言 + 字段类型 + 提示词
  • 跨番号去重 (相同简介只翻译一次)
  • 修改自定义提示词后旧译文自动失效, 不需要手工清理缓存
  • 换模型后需删除缓存文件强制重译

翻译

Amane 集成 LLM 翻译能力:

  • 支持字段: title, plot
  • 语言检测: 自动判断是否需要翻译
  • 简繁转换: 中文简繁自动转换 (不走 LLM)
  • 跨语系翻译: 日→中, 英→中等使用 LLM
  • 自定义提示词: 覆盖系统提示词与逐字段说明, 用于限定用词范围与描述方式; 输出约束固定为纯译文, 不进入配置面

翻译配置见 配置指南 - LLM 翻译.

演员刮削

影片刮削成功后, 可自动链式触发演员刮削:

  • 按配置的资料来源顺序获取演员信息
  • 头像从专门的头像站获取
  • 已刮过的演员自动跳过

演员刮削配置见 配置指南 - 演员刮削.

r18.dev 数据源

r18.dev 是一个特殊的离线数据源, 提供 PostgreSQL dump:

启用步骤

  1. 自备 PostgreSQL 实例
  2. 在配置中设置连接串 (r18.dsn)
  3. 设置 dump 下载地址 (r18.download_url)
  4. 创建定时任务执行导入

导入流程

  1. 探测 dump 版本 (ETag)
  2. 下载并解压
  3. 导入临时数据库
  4. 结构校验
  5. 切换数据库 (旧库 → 新库)

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: 是否复用翻译缓存
  • 空集 = 强制全部刷新

排障

刮削失败

  1. 检查任务日志: 任务详情页 → 查看摘要
  2. 检查站点结果: 每个站点的成功/失败状态
  3. 检查网络配置: 代理、超时、限速

数据不完整

  1. 检查内容类型是否正确
  2. 检查该类型路由是否包含目标站点
  3. 检查该字段的优先级与黑名单
  4. 尝试强制刷新重刮

翻译异常

  1. 检查 LLM 配置是否正确
  2. 检查 API 密钥是否有效
  3. 自定义提示词未生效时检查提示词是否留空, 以及该字段是否在翻译字段列表中
  4. 删除 translations.db 强制重译