Skip to content

操作符参考

当前静态校验器认识 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请求当前值所指向的 URLfetchurl 可省略
selectCSS 选择器提取文本或属性css, attr, all
regex正则提取一个或多个匹配pattern, group, all, ignoreCase
replace文本或正则替换pattern, replacement, input, regex, first
jsonJSON 点路径取值path
sniffWebView 渲染 HTML 或嗅探视频url, goal, readyRegex, readyContains, timeoutMs

contentType: "form" 会将 Map 请求体作为 application/x-www-form-urlencoded 发送。相对 URL 会基于最近页面或 baseUrl 解析。

结构化输出

操作符阶段作用
searchListsearch用 CSS / XPath 从 HTML 产出 Series
jsonSeriessearch从 JSON 列表产出 Series
episodesdetail用 CSS / XPath 从 HTML 产出线路和剧集
jsonEpisodesdetail从 JSON 多线路或扁平剧集数组产出 Source
torrentRecordssearch/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"idAlphabetidPrefixidSuffix 转换数字 id。

jsonEpisodes 常用参数

单线路:

json
{
  "op": "jsonEpisodes",
  "episodesPath": "data.episodes",
  "episodeNameKey": "episodeLabel",
  "episodeIdTemplate": "{episodeId:raw}",
  "sourceName": "默认线路"
}

多线路使用 sourcesPathepisodesKeysourceNameKey

播放与媒体

操作符作用关键参数
videoUrl从当前内容择优提取媒体 URL
setMediaHeaders设置播放器请求头headers, jsonPath
playerAaaa解析 MacCMS player_aaaavar, key
playerDecrypt解密动态 meta-id AES 播放地址salt,可选 selector / key 配置
ecPlayer解密 ECPlayer 配置key, iv
hhPlayer解析 HHPlayer iframe 与 API正则、字符映射、API 字段配置
anime1PlayAnime1 专用播放 API 与 Cookie 元数据url, tokenField, cookieNames, cookiePrefixes

WARNING

videoUrl 是通用兜底,不应放在已知站点专用解析之前。它可能误抓海报、预览图或中间地址,让管线“非空但不可播放”。

编码与加密

操作符作用关键参数
cryptoBase64、摘要、AES-CBC / AES-GCMalgo, mode, key, iv, 各类 encoding
baseN数字与自定义字母表短码互转mode, alphabet, prefix, suffix

crypto 支持 base64md5sha1sha256aes-cbcaes-gcm。AES 参数可使用 utf8base64hex 编码。

站点协议封装

操作符作用
maccmsSuggest封装两种常见 MacCMS suggest 路径与可选验证
maccmsVerify处理 smart_verify 或时间戳异或验证页
anime1SearchAnime1 catalog 搜索
anime1DetailAnime1 分类分页与 episode token 收集

站点专用操作符是最后手段。若组合现有通用操作符即可表达,优先保持规则层实现。

文档内容采用项目许可证约束;第三方站点与内容不由 AniBaka 提供。