操作符参考
当前静态校验器认识 30 个操作符。以下按用途分组;参数默认值以当前解释器实现为准。
数据与控制
| 操作符 | 作用 | 关键参数 |
|---|---|---|
template | 用模板直接设置当前值 | value |
setVar | 写入上下文变量 | name, value |
query | 从 URL 查询参数取值 | name/key, input, default, var |
pick | 从当前列表按下标取值 | index |
first | 依次试跑隔离分支,提交首个成功分支 | branches |
first 的成功判断不是“步骤没抛错”,而是分支产生非空值,或 sink 操作符新增了结构化输出。失败分支的变量与媒体头不会泄漏。
json
{
"op": "first",
"branches": [
[
{ "op": "playerAaaa" }
],
[
{ "op": "videoUrl" }
],
[
{ "op": "sniff" }
]
]
}网络与内容提取
| 操作符 | 作用 | 关键参数 |
|---|---|---|
fetch | 请求显式 URL,当前值变为响应文本 | url, method, headers, body, contentType |
follow | 请求当前值所指向的 URL | 同 fetch,url 可省略 |
select | CSS 选择器提取文本或属性 | css, attr, all |
regex | 正则提取一个或多个匹配 | pattern, group, all, ignoreCase |
replace | 文本或正则替换 | pattern, replacement, input, regex, first |
json | JSON 点路径取值 | path |
sniff | WebView 渲染 HTML 或嗅探视频 | url, goal, readyRegex, readyContains, timeoutMs |
contentType: "form" 会将 Map 请求体作为 application/x-www-form-urlencoded 发送。相对 URL 会基于最近页面或 baseUrl 解析。
结构化输出
| 操作符 | 阶段 | 作用 |
|---|---|---|
searchList | search | 用 CSS / XPath 从 HTML 产出 Series |
jsonSeries | search | 从 JSON 列表产出 Series |
episodes | detail | 用 CSS / XPath 从 HTML 产出线路和剧集 |
jsonEpisodes | detail | 从 JSON 多线路或扁平剧集数组产出 Source |
torrentRecords | search/detail | 解析 BT 记录;按番名或字幕组聚合 |
jsonSeries 常用参数
json
{
"op": "jsonSeries",
"listPath": "data.records",
"idKey": "id",
"nameKey": "title",
"imageKey": "cover",
"descKey": "summary",
"detailUrlTemplate": "/api/video/{id}"
}也可使用 urlKey 直接读取详情 URL,或通过 idTransform: "baseN"、idAlphabet、idPrefix、idSuffix 转换数字 id。
jsonEpisodes 常用参数
单线路:
json
{
"op": "jsonEpisodes",
"episodesPath": "data.episodes",
"episodeNameKey": "episodeLabel",
"episodeIdTemplate": "{episodeId:raw}",
"sourceName": "默认线路"
}多线路使用 sourcesPath、episodesKey 与 sourceNameKey。
播放与媒体
| 操作符 | 作用 | 关键参数 |
|---|---|---|
videoUrl | 从当前内容择优提取媒体 URL | 无 |
setMediaHeaders | 设置播放器请求头 | headers, jsonPath |
playerAaaa | 解析 MacCMS player_aaaa | var, key |
playerDecrypt | 解密动态 meta-id AES 播放地址 | salt,可选 selector / key 配置 |
ecPlayer | 解密 ECPlayer 配置 | key, iv |
hhPlayer | 解析 HHPlayer iframe 与 API | 正则、字符映射、API 字段配置 |
anime1Play | Anime1 专用播放 API 与 Cookie 元数据 | url, tokenField, cookieNames, cookiePrefixes |
WARNING
videoUrl 是通用兜底,不应放在已知站点专用解析之前。它可能误抓海报、预览图或中间地址,让管线“非空但不可播放”。
编码与加密
| 操作符 | 作用 | 关键参数 |
|---|---|---|
crypto | Base64、摘要、AES-CBC / AES-GCM | algo, mode, key, iv, 各类 encoding |
baseN | 数字与自定义字母表短码互转 | mode, alphabet, prefix, suffix |
crypto 支持 base64、md5、sha1、sha256、aes-cbc 和 aes-gcm。AES 参数可使用 utf8、base64 或 hex 编码。
站点协议封装
| 操作符 | 作用 |
|---|---|
maccmsSuggest | 封装两种常见 MacCMS suggest 路径与可选验证 |
maccmsVerify | 处理 smart_verify 或时间戳异或验证页 |
anime1Search | Anime1 catalog 搜索 |
anime1Detail | Anime1 分类分页与 episode token 收集 |
站点专用操作符是最后手段。若组合现有通用操作符即可表达,优先保持规则层实现。
