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

  大家可以在采集器中测试一下,为节约版面,我就不截图了 。

  内容的获取和标题一样的写法,在此不再碍眼。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线