进阶 docs.stashapp.cc 2026-10-20 02:59:21 · 22 阅读

第38章 Scrapers(抓取器)使用指南

Scrapers(抓取器)

Scraper 用于从网站抓取场景、分组、图库、演员的信息。善用 scraper 可以省去手动反复输入信息的麻烦,还能帮你快速建立分组/场景与演员/工作室之间的关联、添加相关标签、下载封面/海报以便识别。它是整理视频或图片收藏的利器。

管理 Scrapers

Scrapers 可以在 Settings > Metadata Providers 页面安装和管理。

在 Available Scrapers 区域安装 scraper,默认已配置 Community (stable) 源。

已安装的插件可以在 Installed Scrapers 区域更新或卸载。

添加源

任何人都可以创建自己的 scraper 源索引。要添加新源,进入 Settings > Metadata Providers 页面,在 Available Scrapers 下点击 Add Source。

手动安装 Scrapers

默认情况下,Stash 会在读取 stash config.yml 的目录下的 scrapers 子目录中查找 scraper 配置。在 Windows 上是 %USERPROFILE%\.stash\scrapers,在 Unix 系统(Mac、Linux 等)上是 /root/.stash/scrapers,也可能是当前工作目录。

将配置 yaml 文件(格式为 scraperName.yml)放入 scrapers 目录即可添加 scraper。

已加载的 scraper 可以在 Settings > Metadata Providers 页面查看。在 Stash 运行期间添加、删除或编辑 scraper 后,点击 Reload scrapers 按钮即可重新加载。

CommunityScrapers 仓库是社区维护的 scraper 来源。

Scraper 类型

按搜索方式分类

Fragment

这类 scraper 会利用 Stash 中已有的数据(如场景文件名、演员姓名等)从网站获取元数据。Fragment scraper 能获取 Stash 对该场景/演员/图库所知的全部信息,因此在抓取信息时非常灵活。

Search by name

Search-By-Name scraper 只从场景或演员获取"名称"输入,然后用该名称在网站上搜索并返回结果列表。

包括:Babepedia.yml、FreeonesCommunity.yml、IAFD.yml

Search by URL

大多数 scraper 通过 URL 抓取元数据,使用 XPath、JSON 或脚本实现。使用这类 scraper 时,你需要知道该场景/演员/图库/分组的 URL,才能从中提取信息。

包括:所有其他 scraper。

按实现方式分类

XPath 和 JSON scrapers

这是最常见的 scraper 类型,使用 XPath 解析器定位并提取信息,或发送 JSON 请求获取信息。xpathScraper 和 jsonScraper 可以在同一个 .yml 文件中混用。

CDP scrapers

这类 scraper 与 XPath/JSON scraper 基本相同,区别在于它会启动一个 headless Chrome 浏览器从网站获取信息,还能获取 cookies、模拟鼠标点击等操作。这类 scraper 的配置中含有 useCDP: true。

Python / Ruby scrapers

这类 scraper 通过启动 Python、Ruby 从网站获取信息。脚本 scraper 功能强大、用途广泛且跨平台,通常能比普通 scraper 做更多事情。安装这类 scraper 时,除了 .yml 文件,还需要复制所有相关的脚本文件(如 .py、.rb)。

更多细节

你可以在 这里 或 CommunityScrapers README 查看关于 scraper 的详细信息。

自己动手创建

创建自己的 scraper 也有详细的文档。最好的入门方式是阅读一些简单的示例并理解 xpath 的工作原理。XPath Cheatsheet 对编写 .yml 文件非常有用。在 Firefox 中可以在"Web Developer Tools (F12)"里进行 xpath 搜索——"search HTML"输入框实际上支持 xpath 查询,可以用它来验证你的 xpath 查询。

参与贡献

Scraper 社区随时欢迎新成员。如果你创建了一个好用且稳定的 scraper,可以通过 GitHub 仓库分享,提交一个 pull request,让管理员审核你的作品。管理员通常比较忙,审核可能需要几天甚至几周,但当你的贡献被社区接受时,那种成就感是非常棒的。

评论 (0)