配置逐句“翻译” "数组": "p:div[role=main] a" 作用:定位文章区块。 翻译:使用 CSS 选择器(p:),在网页里找到 role 属性为 main 的 div 标签,把它里面所有的 标签找出来。这些 标签包裹着每一部影片/文章的信息。 "标题": "p:.post-card-title->text" 作用:提取标题。 翻译:在刚才找到的区块里,寻找 class 为 post-card-title 的标签,提取它里面的纯文本(->text)。 只有加上点号写成 p:.post-card-title,程序才会去网页里寻找 class="post-card-title" 的标签 如果你想通过 itemprop 属性来找,教程里写过,你需要用中括号 [] 来匹配属性。所以正确的写法应该是 p:*[itemprop=headline]->text。 "副标题": "p:*[itemprop*=datePublished]->text[替换:•>>]" 作用:提取发布时间并清洗杂质。 翻译:在区块里,找任意一个 itemprop 属性里包含 datePublished 的标签(* 代表任意标签),提取它的文本。提取出来后,如果里面有个小圆点 •,就把它删掉([替换:•>>],因为 >> 后面是空的,代表删除)。 "链接": "p:a->href" 作用:提取详情页网址。 翻译:在区块里,找到 标签,提取它的 href 属性值。 "简介": "p:.post-content->text" 作用:提取简介。 翻译:在区块里,找到 class 为 post-content 的标签,提取里面的文本作为简介。 "播放链接": "{"url":"&&\"[包含:http]" 作用:从 JSON 数据中硬切出视频链接。 翻译:这行代码的意思是,在源码里寻找 {"url":" 这个字符串(" 是双引号的转义符),找到后开始截取,直到遇到下一个 "(\")停止。最后用 [包含:http] 过滤一下,确保截取到的是真实的网络链接。 💡 进阶对比:硬切 vs JSON解析 你之前发过这段 JSON 数据:{"url":"https://xxx.com/video.m3u8..."} 用现在的硬切写法:"{"url":"&&\"[包含:http]" 原理:把 JSON 当成普通文本,靠找字符来截取。 缺点:代码又长又乱,而且如果网页稍微改一下格式(比如多了一个空格),这段代码就失效了。 用 j: 的写法:"j:url" 原理:程序自动识别 JSON 格式,直接提取 url 字段的值。 优点:极其稳定,代码极简。 总结:你发的这段配置完全正确且能跑通。但在实际写规则时,如果确认目标数据是标准的 JSON 格式,强烈建议把最后一行替换成 "j:url",这样既优雅又不容易出错!