八爪鱼·云采集服务平台
www.bazhuayu.com
八爪鱼在采集过程中出现验证码,不确定出现时间甚至位置
原因:该情况一般是采集速度比较快、采集数据多,触发了网站的防采集机制所导致的。 解决方案:由于其不确定性,并不是采集每一条数据都出现验证码。故需在规则中引入分支判断,对网页是否出现验证码进行判断。如:出现时走左分支,不出现时走右分支。分支的判断一般可选择“当前页面包含文本”,具体请根据网页实际情况进行操作。分支判断的使用请参考相应教程,教程链接:http://www.bazhuayu.com/tutorial/judge.aspx?t=1
在配置规则的过程中,应采取先判断后识别验证码的流程顺序。此外,由于验证码不是时时出现,故一定要找到验证码出现的界面,从而完成“识别验证码”该步骤的建立。
操作示例:
1、按常规流程制作规则。
八爪鱼·云采集服务平台
www.bazhuayu.com
验证码在采集过程中出现,不确定出现时间甚至位置-图1
2、运行单机采集,采集部分数据后发现提示访问频繁,需要输入验证码。 此时应停止采集,对规则进修改。
验证码在采集过程中出现,不确定出现时间甚至位置-图2
3、回到“流程”页面,从流程设计器左侧栏拖一个“判断条件”到流程图中。
八爪鱼·云采集服务平台
www.bazhuayu.com
验证码在采集过程中出现,不确定出现时间甚至位置-图3
4、设置好判断条件。(验证码页面会出现的正常页面不会出现。如:您的访问出错了,验证输入框的xpath。示例采用的是验证码提示语“您的访问出错了”,诸位可自行选择合适的判断条件。详细操作请参考分支判断的使用。)
八爪鱼·云采集服务平台
www.bazhuayu.com
验证码在采集过程中出现,不确定出现时间甚至位置-图4
5、判断条件设好后,点击需要识别的验证码。如图:
验证码在采集过程中出现,不确定出现时间甚至位置-图5
八爪鱼·云采集服务平台
www.bazhuayu.com
验证码在采集过程中出现,不确定出现时间甚至位置-图6
(上述流程,前三步操作也可按如下顺序进行: A.点击网页中的验证码输入框 B.点击“识别验证码” C.点击网页中的验证码
即先选择验证码还是先选择输入框,两者殊途同归,各位请灵活应用。)
6、配置“识别失败”场景,因部分网站需多次输入验证码(即使输对也被要求重新输入),此外八爪鱼对接的是打码平台有0.1%的概率出错。故为规避因上述情况导致采集中断,我们需配置“识别失败”场景,告诉八爪鱼什么情况下验证码是识别失败的,从而再次进行自动识别,直至识别正确。