Kazumi XPath规则编写完整教程:从入门到精通

1280 字
6 分钟
Kazumi XPath规则编写完整教程:从入门到精通

一、基础概念解析#

什么是 Kazumi 规则?#

Kazumi 规则是一套基于 JSON 格式的配置文件,用于定义如何从特定网站采集番剧资源。它采用 XPath 选择器语法,让用户无需编写复杂代码,就能快速构建自定义的视频源适配方案。每条规则最多使用五行 XPath 选择器,即可完成从搜索、列表解析到播放链接提取的完整流程。

核心价值与应用场景#

核心价值:资源聚合(整合多平台番剧)、个性化定制(添加特定视频源)、社区共享(规则可导出分享)。

典型场景:添加新番剧网站作为视频源、适配网站改版后的页面结构、创建特定内容的专用采集规则。

二、环境准备#

开发工具#

表格

工具用途
文本编辑器编写 JSON 规则文件(推荐 VS Code)
浏览器开发者工具分析网页结构、测试 XPath
Kazumi 客户端测试规则效果

前置知识#

  • JSON 基础:理解对象、数组、键值对结构

  • XPath 语法:路径表达式、谓词、属性选择

  • HTML 结构:DOM 树、标签、class/id 定位

⚠️ 重要限制:Kazumi 当前仅支持以 // 开头的 XPath 选择器。

XPath 核心语法速查

表格

表达式说明示例
//任意层级查找//div 查找所有 div
@选择属性//img/@src
条件筛选//div[@class=‘list’]
text()文本内容//h3/text()

三、核心语法详解#

规则文件结构#

{
"api": "3",
"type": "anime",
"name": "规则名称",
"version": "1.0",
"muliSources": true,
"useWebview": true,
"useNativePlayer": true,
"userAgent": "",
"baseURL": "https://example.com/",
可以参考用 Nginx Proxy Manager 统一管理。
"searchURL": "https://example.com/search?wd=@keyword",
"searchList": "//div[@class='result-list']/div",
"searchName": ".//h3/a/text()",
"searchResult": ".//h3/a/@href",
"chapterRoads": "//ul[@class='episode-list']",
"chapterResult": ".//li/a"
}

关键字段说明#

基础字段: api(API 版本)、 type(固定为 anime)、 name(规则名称)、 version(版本号)

行为控制字段

  • useWebview:使用 WebView 渲染页面

  • useNativePlayer:使用内置播放器(无法播放时可设为 false)

  • adBlocker:HLS 广告过滤(API Level 5+)

数据提取字段

  • baseURL:网站基础地址

  • searchURL:搜索 URL, @keyword 为关键词占位符

  • searchList:搜索结果容器选择器

  • searchName:番剧名称(相对路径)

  • searchResult:详情页链接(相对路径)

  • chapterRoads:章节列表容器

  • chapterResult:播放链接(相对路径)

API Level 选择指南#

表格

API Level功能特性
1基础搜索与播放
2支持 POST 请求
3支持 Referer、传统解析器(推荐)
5HLS 广告过滤

四、规则编写流程#

以实际案例演示完整开发流程。

步骤一:分析网页结构#

访问目标网站,使用浏览器开发者工具(F12)分析:

  1. 搜索 URL 模式

  2. 搜索结果列表的 HTML 结构

  3. 详情页章节列表结构

步骤二:编写选择器#

在 Console 中使用 $x(“//your-xpath”) 测试:

// 测试搜索结果列表
$x("//div[@class='search-results']/div")
// 测试名称提取
$x("//div[@class='search-results']/div[1]//h3/text()")

步骤三:组装规则文件#

{
"api": "3",
"type": "anime",
"name": "示例动漫站",
"version": "1.0",
"useWebview": true,
"useNativePlayer": true,
"baseURL": "https://example-anime.com/",
"searchURL": "https://example-anime.com/search?q=@keyword",
"searchList": "//div[@class='search-results']/div[@class='item']",
"searchName": ".//h3/text()",
"searchResult": ".//a/@href",
"chapterRoads": "//ul[@class='episode-list']",
"chapterResult": ".//li/a"
}

步骤四:测试验证#

在 Kazumi 中导入规则,依次测试搜索、详情页、播放功能。

五、高级技巧与最佳实践#

反爬虫配置#

针对有验证码的网站:

{
"antiCrawlerConfig": {
"enabled": true,
"captchaType": 1,
"captchaImage": "//img[@class='verify-img']",
"captchaInput": "//input[@class='verify-input']",
"captchaButton": "//button[@class='verify-btn']"
}
}

常见问题排查#

表格

问题原因解决方案
搜索无结果选择器错误浏览器测试 $x()
无法播放播放器不兼容useNativePlayer: false
规则失效网站改版更新选择器

最佳实践#

  1. 选择器健壮性:优先使用 contains() 匹配 class

  2. 版本管理:每次修改更新 version 字段

  3. 多源支持: muliSources: true 配合分组选择器

六、实战案例分析#

案例一:基础规则(API Level 1)#

{
"api": "1",
"type": "anime",
"name": "AGE动漫",
"version": "1.5",
"muliSources": true,
"useWebview": true,
"useNativePlayer": true,
"baseURL": "https://www.agedm.io/",
"searchURL": "https://www.agedm.io/search?query=@keyword",
"searchList": "//div[2]/div/section/div/div/div/div",
"searchName": "//div/div[2]/h5/a",
"searchResult": "//div/div[2]/h5/a",
"chapterRoads": "//div[2]/div/section/div/div[2]/div[2]/div[2]/div",
"chapterResult": "//ul/li/a"
}

特点:结构简洁,适合标准化网站,多源支持处理不同播放线路。

案例二:广告过滤规则(API Level 5)#

{
"api": "5",
"type": "anime",
"name": "DM84",
"version": "1.4",
"muliSources": true,
"useWebview": true,
"useNativePlayer": true,
"adBlocker": true,
"baseURL": "https://dmbus.cc/",
"searchURL": "https://dmbus.cc/s----------.html?wd=@keyword",
"searchList": "//div/div[3]/ul/li",
"searchName": "//div/a[2]",
"searchResult": "//div/a[2]",
"chapterRoads": "//div/div[4]/div/ul",
"chapterResult": "//li/a"
}

特点:启用 adBlocker 过滤 HLS 广告,选择器路径简洁高效。

案例三:反爬虫规则(API Level 6)#

{
"api": "6",
"type": "anime",
"name": "xfdm",
"version": "2.0",
"muliSources": true,
"useWebview": true,
"useNativePlayer": true,
"useLegacyParser": true,
"baseURL": "https://dm.xifanacg.com/",
"searchURL": "https://dm.xifanacg.com/search.html?wd=@keyword",
"searchList": "//div[@class='vod-detail style-detail cor4 search-list']",
"searchName": "//div/div[2]/a/h3",
"searchResult": "//div/div[2]/a",
"chapterRoads": "//ul[@class='anthology-list-play size']",
"chapterResult": "//li/a",
"antiCrawlerConfig": {
"enabled": true,
"captchaType": 1,
"captchaImage": "//img[@class='ds-verify-img']",
"captchaInput": "//div[4]/div[2]/div/div/input",
"captchaButton": "//div[4]/div[2]/button"
}
}

特点:完整反爬虫配置,自动处理图片验证码,传统解析器提升兼容性。

七、扩展资源#

官方资源#

表格

资源链接
Kazumi 官网https://kazumi.app
官方文档https://kazumi.app/docs
规则仓库Predidit/KazumiRules GitHub
主项目Predidit/Kazumi GitHub

学习路径建议#

入门:阅读现有规则 → 浏览器练习 XPath → 修改规则实验

进阶:独立编写新规则 → 学习反爬虫配置 → 提交社区贡献

贡献指南#

向 KazumiRules 提交规则:Fork 仓库 → 创建 JSON 文件 → 本地测试 → 提交 Pull Request注意:不要手动修改 index.json,该文件会在 PR 合并后自动更新。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Kazumi XPath规则编写完整教程:从入门到精通
https://www.kshare.top/posts/kazumi-xpath规则编写完整教程从入门到精通/
作者
Kshare
发布于
2026-04-05
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
oneAnime:一款简洁清爽的开源看番神器
软件推荐 oneAnime 是由开发者 Predidit 打造的开源项目,基于 Flutter 框架开发,是 Anime1 网站的第三方客户端。
2
2026 动漫黑科技:Kazumi & Ani 双剑合璧,全网动漫 4K 画质免费看
软件推荐 这两款软件彻底解决了资源分散、弹幕缺失、画质受限这三大痛点。通过底层的开源规则或强大的聚合搜索,让你无需在各种浏览器插件和广告满飞的网站中穿梭,就能实现从搜索、播放到进度同步的全流程自动化。
3
2026 追番神器:oneAnime 下载与全攻略,极致轻量的 Anime1 客户端
软件推荐 在追番圈,我们往往面临两难选择:要么忍受商业软件臃肿的广告和VIP限制,要么在复杂的开源聚合软件里折腾各种插件配置。
4
Kazumi 规则大全:官方规则仓库 + 一键导入教程(2026)
软件推荐 Kazumi 搜不到番?多半是没导入规则。本文整理官方规则仓库 80+ 条现成规则,讲透三种导入方式(客户端内置仓库一键导入、GitHub 直连、GitCode 国内镜像),附活跃规则清单与 API Level 对照表,装完即可用。
5
小电视空降助手(BilibiliSponsorBlock):自动跳过 B 站恰饭片段的免费开源插件
软件推荐 BilibiliSponsorBlock(小电视空降助手)是一款开源浏览器插件,自动跳过 B 站视频里的恰饭/赞助片段、开场结尾动画和"一键三连"提示,片段数据由网友众包标注。支持 Chrome、Edge、Firefox 与 macOS Safari。
随机文章 随机推荐
Profile Image of the Author
Kshare
Hello, I'm Kshare.
重要公告
非常抱歉!本站此前接入的 Adsterra 广告联盟存在严重问题:其脚本会在访问者不知情的情况下强制跳转到第三方劫持页面(如 verify11.click 等恶意域名),严重影响了大家的访问体验与安全。我们已第一时间彻底移除了 Adsterra 的全部广告代码,并向因此受到困扰的访客致以最诚挚的歉意。目前站内仅保留安全的自营推广链接(无脚本、无弹窗、无跳转),其余广告投放保持关闭,感谢大家的理解与支持!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
215
分类
9
标签
269
总字数
545,433
运行时长
0
最后活动
0 天前

文章目录