DXC采集插件规则写法:2、DOM规则写法
优采云 发布时间: 2020-08-11 01:40匹配不具有指定属性的元素。 如div[!id]表示 查找所有没有id属性的
[属性=value]
匹配具有指定属性值的元素。如div[id=test]表示查找id=test的div元素
[属性!=value]
匹配不具有指定属性值的元素。 如div[id!=test]表示查找id不等于test的div元素
[属性^=value]
匹配收录特定前缀的值的指定属性的元素。如div[id^=test]表示查找id前缀为test的div元素
[属性$=value]
匹配收录特定后缀的值的指定属性的元素。如div[id$=test]表示查找id后缀为test的div元素
[属性*=value]
匹配具有指定属性的元素,且该属性收录了一定的值。如div[id*=test]表示查找id收录test的div元素
2.5版本降低的写法:规则组合可以把几个规则组合在一起,比如下边几个实例:
网页源代码:
示例一:普通写法(无法获取多个内容)
示例二:组合写法
示例三:在组合规则上面嵌入自定义代码
取第N个元素:源代码如下图:
如果想取第三个li上面的内容,怎么写规则?
2.5版本新增了一种写法可以解决此问题,写法:li[N],N代表第几个元素,从0开始,0代表第一个元素,1代表第二个元素,以此类推
如下图:
第1个元素:li[0]
第2个元素:li[1]
……
第N个元素:li[N-1]
DOM写法实战用DOM规则获取文章列表链接
获取链接列表稍稍和获取标题,内容等不同,分为两行,第一行是列表的获取规则,第二行设置a标签的属性
示例一:
源代码如下图:
获取规则如图:
示例二:
以获取腾讯新闻列表链接为例,网址:
分析结构,如下图:
结构比较简单,我们可以这样写:
ul.list01 li
a
测试截图:
此外,写法并不是惟一的,只要满足条件之一才能找到列表
如这个写法也能获取到列表:
ul.font_s_14 li
a
下面这个写法也同样可以获取到链接:
ul[class=list01 font_s_14 line_h_25] li
a
用dom获取文章标题和内容
举腾讯的这篇文章为反例
分析结构如图:
dom写法是:
div.hd h1
大家可以在采集器中测试一下,为节约版面,我就不截图了 。
内容的获取和标题一样的写法,在此不再碍眼。