一、【判断条件】常见使用场景
1、判断某一条件(如关键词)是否存在,存在就采集,不存在则不采。 例:采集京东商品信息,只想采集自营商品。可以通过【判断条件】判断是否为自营商品,是则采集,不是则不采。 2、要采集的数据有多种情况,网页源码存在多种样式,需分开收集。 例:网页正文有的是图片有的文字,两者的数据提取方法不同。可以通过【判断条件】判断是图片还是文字,是图片走图片采集分支,是文字则走文字采集分支。 3、判断页面是否出现验证码,出现则自动识别,未出现则进入下一个流程步骤。 例:京东url打开之后,可能会出现点选验证或者滑块拼图验证,这个时候可以通过【判断条件】判断是否出现验证,如果有验证就进行自动打码验证,没有就直接继续往下运行采集。或者判断是点选验证还是滑块拼图的验证,如果是点选验证的就 走点选验证的自动打码,如果是滑块验证的就走分支滑块拼图的自动打码。二、【判断条件】具体案例
案例1、判断某一条件(如关键词)是否存在,存在就采集,不存在则不采。 示例网址:https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E6%89%8B%E6%9C%BA&page=9&s=226&click=0 采集需求:判断商品是否为京东自营
三、配置判断条件步骤
步骤1、设置登录 京东需要登录才能采集数据,设置cookie登录 步骤2、登录后按 列表数据采集方法,配置采集流程。 步骤3、添加【判断条件】步骤。将鼠标移动到流程中【循环列表】与【提取列表数据】中间的
3、为什么对左侧的【条件分支】设置判断方式?【条件分支】至少2个,可以有多个,默认从左至右执行。先判断左边的条件,若左边的分支均不满足条件,最右边的分支将不做判断直接执行。如下图:

上面流程配置完成以后,手动执行规则来看一下,判断条件是否设置正确。如下图,选中一个非自营的商品,判断提示【检测包未含文本,不执行该分支】;选中一个自营的商品,判断提示【检测包含文本,执行该分支】。测试没有问题,可以正常判断是否为自营商品。 步骤4、所有操作设置完毕后,点击【保存】。然后进行【本地采集】,观察采集结果。可以看到,只有【自营】的商品被采集下来了。

四、关于【判断条件】的重要说明
1、允许某个分支中无任何操作步骤。 2、对于需要同时判断多个条件,则需要嵌套使用多个分支判断。但建议将已选好判断条件后的网址放入八爪鱼中采集数据。 3、八爪鱼中分支判断对 【存在】 或【不存在】的是非判断,其操作性更为简单便捷。对大小的比较判断操作繁琐,需利用XPath实现。 4、判断条件的【与】用【&】 实现,【或】用【|】实现。 5、如果不同的分支内有不同的【提取元素】步骤,则每个分支内全部【提取元素】步骤中的 字段总个数 和 字段名 需保持一致。 情况1: 分支1内有提取数据步骤,提取的字段为字段1,字段2,字段3 分支2内没有提取数据步骤 这个流程可以正常执行 情况2: 分支1内有提取数据步骤,提取的字段为字段1,字段2,字段3 分支2内有【提取数据】步骤,提取的字段为字段a,字段b,字段c 此时流程将不能正常执行 因为八爪鱼采集器执行分支1时提取不到字段abc,分支2的提取步骤都无法提取到数据,八爪鱼采集器判断此条数据不完整,将此条数据作废不保存 解决方法:在分支1的提取步骤增加字段abc,且在分支2的提取数据步骤增加字段123。分支1和分支2的字段名称和个数必须一致,可以设置为空数据也可设为固定值。八爪鱼采集器就会认为字段都提取到了,此时数据不会作废,而是执行分支1时,字段123有数据,字段abc为空白,执行分支2时,字段123为空白,字段abc有数据 情况3:多个分支内有多个不同的【提取数据】步骤,请参考情况2,保证每个分支判断中的字段,字段名及字段数量一致即可 作者:ViVi 编辑:Nancy LI
