一、功能简介

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

 

二、适用版本

V8.4.0以上版本

 

三、功能具体说明

 

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

点击【提取数据】步骤,在下方设置页面,点击[高级设置]点击「新增触发器」,可进入到触发器编辑界面,设置触发器名称和条件。

 

 

1、设置触发器名称

 

 

2、设置触发器条件

1)字段

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

 

 

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

 

2)条件

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

 

 

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

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

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

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

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

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

 

例如:

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

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

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

在设置条件之前,需要对字段进行格式化,下面以发文时间为例进行演示:

1.选择发文时间字段,点击下图红框标示的按钮进入格式化界面

 

 

2.点击添加步骤,选择时间格式化

 

3.将时间格式化成:yyyy-MM-dd HH:mm:ss 这种格式,这种是触发器可以判断的时间格式

4.设置条件,这里演示设置的条件为晚于当天采集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://category.vip.com/suggest.php?keyword=%E9%B8%BF%E6%98%9F%E5%B0%94%E5%85%8B&ff=235|12|1|1

采集需求:采集唯品会商品列表价格大于等于100元的商品

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

 

以下为具体操作步骤:

 

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

 

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

 

 

步骤3:启动本地采集,看一下采集结果。可以看到,采集到的都是【价格>=100的商品】数据

 

 

实例二

示例网址:

http://www.csrc.gov.cn/pub/zjhpublic/3300/3307/index_7401.htm

采集需求:采集发布日期在8月31日之后的发文数据

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

 

以下为具体操作步骤:

 

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

 

 

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

 

 

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

 

注:

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