刮削逻辑流程说明
OmniBox 的刮削功能可以自动为影视资源匹配 TMDB 元数据,提供丰富的影片信息、海报、演员信息等,并自动建立视频文件与剧集的映射关系。
概述
刮削功能通过以下步骤实现:
- 资源识别:通过资源唯一标识(ResourceID)识别资源
- 元数据检查:检查数据库中是否已有刮削记录
- TMDB 匹配:通过关键词或 TMDB ID 匹配影视作品
- 数据获取:从 TMDB API 获取详细的影视信息
- 文件映射:自动建立视频文件与剧集的映射关系
- 数据存储:将刮削结果保存到数据库
完整流程
详细流程说明
1. 前置检查
1.1 检查 TMDB API Key
系统首先检查是否配置了 TMDB API Key。如果未配置,将跳过刮削流程。
1.2 检查视频文件列表
如果没有视频文件,则无需进行刮削。
2. 数据库检查
系统会检查数据库中是否已有该资源的刮削记录。
3. 重新刮削逻辑
如果检测到视频数量变化,系统会尝试使用已有的 TMDB 信息重新刮削。
4. 刮削参数判断
系统根据提供的参数决定如何执行刮削:
5. TMDB 数据获取
5.1 直接获取(有 TMDB ID)
当提供 TMDB ID 时,直接调用 TMDB API 获取详细信息。
5.2 自动搜索(有关键词)
当提供搜索关键词时,系统会:
- 在 TMDB 中搜索电影和电视剧
- 选择最佳匹配结果
- 获取详细信息
6. 视频映射构建
系统会根据文件名自动匹配剧集信息:
7. 数据存储
刮削结果会保存到 scrape_metadata 表中:
使用场景
场景 1:网盘资源刮削
在网盘爬虫脚本中,当用户查看资源详情时自动触发刮削:
javascript
// 在 detail 函数中
const allVideoFiles = await getAllVideoFiles(shareURL, fileList.files, "0");
// 执行刮削处理
await OmniBox.processScraping(
shareURL, // resourceId: 网盘分享链接
keyword, // 搜索关键词
resourceName, // 资源名称
allVideoFiles // 视频文件列表
);
// 获取刮削后的元数据
const metadata = await OmniBox.getScrapeMetadata(shareURL);场景 2:手动指定 TMDB ID
通过前端界面手动指定 TMDB ID 进行刮削:
javascript
// 前端调用
POST /api/cloud-drive/scrape-and-save
{
"shareUrl": "https://pan.quark.cn/s/...",
"tmdbId": 12345,
"type": "movie",
"season": 1 // TV类型时可选
}场景 3:自动搜索匹配
系统根据资源名称自动搜索并匹配:
javascript
// 自动搜索流程
1. 使用关键词搜索 TMDB
2. 获取搜索结果列表
3. 选择最佳匹配(评分最高或AI辅助)
4. 执行刮削数据流转
API 接口
处理刮削
通用接口:POST /api/scrape/process
json
{
"resourceId": "资源唯一标识",
"keyword": "搜索关键词(可选)",
"resourceName": "资源名称(可选)",
"videoFiles": [
{
"fid": "文件ID",
"file_name": "文件名",
"size": 文件大小,
"format_type": "文件类型"
}
]
}网盘兼容接口:POST /api/spider/omnibox/drive/process-scraping
json
{
"shareURL": "网盘分享链接",
"keyword": "搜索关键词(可选)",
"resourceName": "资源名称(可选)",
"videoFiles": [...]
}获取元数据
通用接口:GET /api/scrape/metadata?resourceId=...
网盘兼容接口:GET /api/cloud-drive/metadata?shareUrl=... 或 ?resourceId=...
配置要求
TMDB API Key
刮削功能需要配置 TMDB API Key:
- 访问 TMDB 注册账号
- 在账户设置中申请 API Key
- 在 OmniBox 后台配置 API Key
AI 辅助匹配(可选)
如果启用了 AI 助手,系统会使用 AI 模型辅助匹配,提高匹配准确度:
- 配置 AI 模型(OpenAI、Claude 等)
- 启用 TMDB 助手功能
- 系统会自动使用 AI 进行智能匹配
注意事项
- API 限制:TMDB API 有请求频率限制,建议合理使用
- 匹配准确度:自动匹配可能不够准确,建议手动指定 TMDB ID
- 文件命名:规范的文件命名有助于提高映射准确度
- 数据更新:当视频文件数量变化时,系统会自动重新刮削
