-
Notifications
You must be signed in to change notification settings - Fork 1
Scrapers_zh CN
ZASENJC edited this page May 23, 2026
·
1 revision
English | 简体中文
MediaTree 使用插件化的刮削器系统从多个来源获取元数据。每个媒体库可以使用不同的刮削器配置。
最全面的刮削器,支持电影和电视剧。
- 元数据:标题、原始标题、概述、上映日期、类型、关键词、分级
- 演员和制作人:演员、导演、编剧,含头像
- 图片:海报、背景、Logo、季海报、分集剧照
- 评论:来自 TMDB 的用户评论
- 视频:预告片和片段
- 人物:完整人物资料,含影片作品集
要求:TMDB API 密钥或读取访问令牌(参见配置说明)
专注于动漫和东亚媒体。
- 元数据:中文、日文和英文标题
- 人员:声优、导演、原作
- 图片:封面图和角色图
- 条目类型:动画、漫画、游戏、小说、三次元
无需 API 密钥(使用公开 API)。
基于番号的 JAV 元数据刮削器。
- 元数据:标题、演员、导演、制作商、厂牌、类型
- 评分:评分、点赞数、播放量
- 缩略图:封面和样品图
- 详情:时长、发行日期、系列
要求:默认启用。可通过设置页面配置。
智能回退链,自动选择最佳刮削器:
- 从文件名提取 TMDB ID(
[tmdbid=123]、[tmdb-movie=123]等) - 如果找到 TMDB ID → 精确匹配,自动推断电影/电视剧类型
- 如果没有 ID → TMDB 标题搜索(电影和电视剧均搜索)
- 如果 TMDB 失败 → Bangumi 回退
- 全部失败 → 不应用元数据
禁用网络刮削。适用于仅使用本地 NFO/元数据或基于文件名展示的库。
tmdb_movie ──→ Bangumi ──→ TMDB movie 标题搜索
tmdb_tv ──→ Bangumi ──→ TMDB tv 标题搜索
bangumi ──→ TMDB tv 标题搜索
javdatabase ──(独立,无回退)
auto ──→ Bangumi ──→ TMDB 标题搜索(二者均尝试)
刮削器采用插件架构。添加新的刮削器:
# backend/app/scrapers/my_scraper.py
from .base import BaseScraper, ScrapeResult, ScrapeCandidate
class MyScraper(BaseScraper):
name = "my_scraper"
label = "My Scraper"
description = "Custom metadata source"
async def search(self, query: str, **kwargs) -> list[ScrapeCandidate]:
# 实现搜索逻辑
...
async def get_detail(self, candidate: ScrapeCandidate) -> ScrapeResult:
# 实现详情获取
...
def normalize_result(self, result: ScrapeResult) -> ScrapeResult:
# 可选:规范化结果
return result然后注册:
# backend/app/scrapers/registry.py
from .my_scraper import MyScraper
register_scraper(MyScraper())- HTTP 响应缓存在 SQLite 中(
scraper_cache表) - 每个来源可配置缓存有效期(默认:TMDB/Bangumi 168h,JavDB 24h)
- 同一资源的并发请求会被去重
- 右键 → 「重新刮削」可绕过缓存,强制刷新
- 右键点击文件夹或影片 → 「手动刮削」
- 按标题或 TMDB ID 搜索
- 从搜索结果中选择正确的匹配
- 点击「应用」更新元数据
MediaTree 自动检测季文件夹(S01、S02、Season 1 等)并:
- 从 TMDB 获取每季元数据
- 将本地分集文件映射到 TMDB 集数
- 处理多季合并(TMDB 合并多季时)
- 显示分集标题、概述和剧照
对于动漫,动漫命名解析器从 [01]、EP01、S01E01 等多种格式中提取集数。