-
Notifications
You must be signed in to change notification settings - Fork 74
节点内容规则
名称、作者、分类、简介、最新章节、图片、结果等,全都属于节点内容规则,由于实际情况的多样性,该规则可简单可复杂。
-
CSS
CSS标准只能选取节点,无法取内容。
该类规则分为2部分,以
@
符号分割,前部分与CSS标准一致,可省略(表示取根节点),后部分则是APP自定义行为。包括
text
、html
、innerHtml
、outerHtml
取文本,src
、href
、data-original
、bid
等取属性。 -
其他
XPath、JSONPath、js、正则等,其本身可以取到内容,建议需要用到时翻开语法手册参考。
-
正则
rule##match##replacement##replaceFirstFlag
形式如上,其中replacement和replaceFirstFlag均可以省略。
-
拼接
aa{{rule1}}bb{{rule2}}cc
形式如上,使用
{{}}
对结果进行拼接。 -
混写
列表写xpath,内容写css,或者列表写js,内容用JSONPath,或者反过来,APP都可以自动识别和解析。
-
级联
$.html@css:html
形式如上,请求结果是json,先用jsonath取文本,在用css规则对结果做网页解码。
这个例子只需要会根据class名称获取内容。
<li>
<span class="btn_span">欧美电影</span>
<em></em>
<span style="width:695px;">
<a href="/?m=vod-detail-id-49829.html" target="_blank" class="name">
钢铁侠(高清)<img src="/template/m1938/images/huo.gif"></img>
</a>
</span>
<em></em>
<span class="hours">
<font color="red">2020-07-20</font>
</span>
<em></em>
<span>
<a href="/?m=vod-detail-id-49829.html" class="star_game" target="_blank">获取地址</a>
</span>
</li>
-
这是一个常见搜索结果片段。
它是一段网页源码,可选择的语法有CSS、XPath、js、正则,推荐CSS、XPath,下面分别解释不同规则写法。
-
<img src="/template/m1938/images/huo.gif"></img>
它是一个地址,需以http或者https开头,这里不符合,要用到字符串拼接。
CSS写法:
http://example.com{{img@src}}
表示取img标签的src属性值,并且和域名拼接。
XPath写法:
http://example.com{{//img/@src}}
含义同上,只是改用XPath语法。
JS写法:
@js:host + result.match(/img src="([^"]*)/)[1]
host是APP内部变量,值为当前规则的域名。
-
<a href="/?m=vod-detail-id-49829.html" target="_blank" class="name"> 钢铁侠(高清)<img src="/template/m1938/images/huo.gif"></img></a>
CSS写法:
.name@text
表示取class为name的节点的text文本。
.
在CSS中表示class名称。XPath写法:
//*[@class="name"]/text()
这是XPath写法定式。不解释,直接赋值粘贴和依葫芦画瓢。
JS写法: 该规则与后面其他规则,js写法不实用,略。
后面规则不再解释,直接给出写法。
-
<span class="btn_span">欧美电影</span>
CSS写法:
.btn_span@text
XPath写法:
//*[@class="btn_span"]/text()
-
<span class="hours"><font color="red">2020-07-20</font></span>
CSS写法:
更新日期 {{.hours@text}}
XPath写法:
更新日期 {{//*[@class="hours"]/text()}}
-
结果一般取下一部分需要用到的地址或者id。
<a href="/?m=vod-detail-id-49829.html" class="star_game" target="_blank">获取地址</a>
CSS写法:
.star_game@href
XPath写法:
//*[@class="star_game"]/@href
三 规则实战 持续增加
-
规则实战其一:知乎日报 已完成
-
规则实战其二:17K小说网 已完成
-
规则实战其四:起点中文网 已完成
-
规则实战其六:不可能的世界APP 已完成