一、功能简介

八爪鱼新上线触发器功能,通过对「提取数据」步骤中的字段,设置【某字段 → 满足/不满足某条件 → 就执行某操作】,以限制采集范围,提高采集效率。

 

二、适用版本

V7.4.6以上版本

 

三、功能具体说明

 

每一个「提取数据」步骤,都可设置触发器。

进入【提取数据】设置页面,点击「新增触发」,可进入到触发器编辑界面,设置触发器名称和条件。

 

 

1、设置触发器名称

 

 

2、设置触发器条件

1)字段

如图位置,将展示本「提取数据」步骤中的所有字段,可选择要设置条件的字段

 

 

注:字段右侧有一个  按钮,点击可进行数据格式化。部分字段需要经过格式化处理后,才能有针对性的设置条件,见示例1。

 

2)条件

如图位置,列出了三类条件,可针对字段选择需要的条件

 

 

通用型」等于/不等于/包含/不包含/不为空

判断通用型字段,包括文本和数字。当其等于/不等于/包含/不包含/不为空,就执行某操作

② 「数字型」大于/小于/大于或等于/大于或小于

判断数字型字段,当其大于/小于/大于或等于/大于或小于 某个值,就执行某操作

③「时间日期型」晚于/早于/晚于或等于/早于或等于 当前采集时间/采集当天0点/自定义

判断时间日期型字段,当其晚于/早于/晚于或等于/早于或等于 当前采集时间/采集当天0点/自定义,就执行某操作

 

例如:

如果设置【发布时间 晚于 采集当天0点,就丢弃本条数据】

意思是【如果一篇文章在采集当天0点之后发布,那么就丢弃本条数据】

最终采集到的数据是【在采集当天0点之前发的文章】

 

 

重点说一下「自定义」。

对于【当前采集时间之前5小时】、【采集当天8点之后】等时间范围更加精准限定需求,可通过更加灵活的「自定义」实现。

在如图下拉框中选择「自定义」后,点击右侧 按钮,进入自定义编辑界面。

 

 

进入自定义编辑界面后,通过对「当前采集时间/采集当天0点/手动设置」进行一定设置,满足更多时间限制需求。

选择将「当前采集时间/采集当天0点」作为原始日期时间后,出现如图选择框「-/+ x年x月x日x时x分x秒」 ,意思是【在当前采集时间/采集当天0点 基础之上,减去或加上一定时间】

 

 

例如:

例如,如果设置【发布时间 晚于 当前采集时间-5时0分0秒,就丢弃本条数据】

意思是【如果一篇文章在当前采集时间之前的5小时以内发布(当前采集时间往前推5小时),那么就丢弃本条数据】

最终采集到的数据是【在当前采集时间5小时之前发布的文章】。

 

 

注:

a. 年、月、日、小时、分钟、秒输入限制范围为:0-999

b. 因「当前采集时间/采集当天0点」是变化的,所以通过【当前采集时间/采集当天0点 减去或加上一定时间】来限制的时间范围,也是跟随变化的

c. 选择将「手动设置」作为原始日期后,会出现一个日历表,直接选择一个需要的时间即可,但因选择的时间是固定的,所以限制的时间范围也是相对固定的。

 

3)就......

丢弃本条数据/结束循环/结束本次采集

「丢弃本条数据」:删掉本条数据(即使之前其他提取数据步骤,已提取到数据)。

「结束循环」:下拉框中出现采集规则中所有循环步骤的名称,选择相应循环步骤。

「结束本次采集」:其效果等于立即停止采集。

 

 

3、「且条件」和「或条件」

一个触发器中,可对多个字段进行条件设置。这些条件存在「且」(同时满足)和「或」(满足其中一个即可)的关系。

 

 

注:

a.  每一个「提取数据」步骤,最多只能设置50个触发器

b. 已设置好的触发器,可进行禁用、复制、编辑和删除操作

 

五、实例演示

 

实例一

示例网址:

https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&suggest=3.his.0.0&wq=&pvid=dc242cf119cd4c2398e6ce36a6b64d81

采集需求:采集京东手机列表页价格低于5000元的手机

需求分析:对字段【价格】设置判断条件,价格低于5000才采集,条件需选择「数字型」。

 

以下为具体操作步骤:

 

步骤1:按照常规操作,创建一个规则。这里是一个已经建好的简单规则:

 

步骤2:设置触发器【价格 大于 5000,就 丢弃本条数据】

 

步骤3:启动本地采集,看一下采集结果。可以看到,采集到的都是【价格<5000的手机】数据

 

 

实例二

示例网址:

https://www.zbytb.com/jianzhu/

采集需求:采集发布日期在11月1日之后的建筑施工招标信息

需求分析:对字段【发布时间】设置判断条件,条件需选择「日期时间型」的【自定义】。

 

以下为具体操作步骤:

 

步骤1:按照常规操作,创建一个规则。这里是一个已经建好的简单规则:

 

步骤2:设置触发器【发布时间 早于 11月1日,就 丢弃本条数据】,意思是【如果招标信息在11月1日之前发布,那么就丢弃本条招标信息】

 

 

步骤3:启动本地采集,看一下采集结果。可以看到,最终采集到的数据都是【发布日期在11月1日之后的建筑施工招标信息】

 

注:

a. 此种方法只适用于时间是【x年x月x日x时x分x秒】这类标准格式的网页。对于时间是【x分前】【x小时前】【x天前】【刚刚】【今天】等非标准格式的网页,不能用「日期时间型」进行判断。此类时间是非标准格式的网页,可通过「通用型」、「数字型」、「且条件」、「或条件」,灵活设置多个触发器,实现需求。