验证码在采集过程中出现,不确定出现时间甚至位置(7.0版本)
2017-07-10 10:47:07 阅读量: 31225
验证码在采集过程中出现,不确定出现时间甚至位置
原因:该情况一般是采集速度比较快、采集数据多,触发了网站的防采集机制所导致的。 解决方案:由于其不确定性,并不是采集每一条数据都出现验证码。故需在规则中引入
分支判断,对网页是否出现验证码进行判断。如:出现时走左分支,不出现时走右分支。分支的判断一般可选择“当前页面包含文本”,具体请根据网页实际情况进行操作。分支判断的使用请参考相应教程,教程链接:http://www.bazhuayu.com/tutorial/judge.aspx?t=1
在配置规则的过程中,应采取先判断后识别验证码的流程顺序。此外,由于验证码不是 时时出现,故一定要找到验证码出现的界面,从而完成“识别验证码”该步骤的建立。
操作示例:
1.按常规流程制作规则。
2.运行单机采集,采集部分数据后发现提示访问频繁,需要输入验证码。 此时应停止采集,对规则进修改。
3.回到“流程”页面,从流程设计器左侧栏拖一个“判断条件”到流程图中。
4.设置好判断条件。(验证码页面会出现的正常页面不会出现。如:您的访问出错了, 验证输入框的 xpath。示例采用的是验证码提示语“您的访问出错了”,诸位可自行选择合适的判断条件。详细操作请参考分支判断的使用。)
5.判断条件设好后,点击需要识别的验证码。如图:
(上述流程,前三步操作也可按如下顺序进行:
A.点击网页中的验证码输入框
B.点击“识别验证码”
C.点击网页中的验证码
即先选择验证码还是先选择输入框,两者殊途同归,各位请灵活应用。)
6.配置“识别失败”场景,因部分网站需多次输入验证码(即使输对也被要求重新输入),此外八爪鱼对接的是打码平台有 0.1%的概率出错。故为规避因上述情况导致采集中断,我们需配置“识别失败”场景,告诉八爪鱼什么情况下验证码是识别失败的,从而再次进行自 动识别,直至识别正确。
7.输入错误的验证码,页面一般都会有相应的提示。此时点击选中该提示,从而告诉八
爪鱼出现该提示即表示验证码识别失败。
8.识别失败场景配置完后进行识别成功场景的配置。进入场景后手动输入正确的验证码, 然后点击“应用到网页并完成配置”。
(完成验证码识别操作后,点击“流程”,若出现识别验证码在分支的最右边,可点击长按,
拖动到对应位置。)
至此,“识别验证码”操作完成,剩余操作请诸位根据实际需求设置。图中示例在识别验证码后只做提取数据操作,此时即可运行本地采集进行验证调试。当第一次弹出验证码码输入框时。点击勾选上“自动识别验证码”,待验证码输入后,点击“确定”,任务将自动运行下。云采集不需要操作这一步,直接运行即可。当不点击勾选上“自动识别验证码”,则需要每次出现此弹窗时手动输入,且只支持单机采集。点击“自动识别验证码”后本次采集 将消耗验证码余额,单机采集和云采集均支持。
(注:“识别验证码”默认勾选 ajax,超时时间为 5 秒。用户可根据网站实际情况其高级选项中进行配置,如网页加载比较快可将超时时间设短些。但建议不要更改,尤其是是否勾选 ajax,以免出错!)
下图为本地采集验证识别情况。在勾选“自动识别验证码”并“确认”后,本地采集过
程中将自动识别验证码,并消耗余额。余额购买请点击 http://www.bazhuayu.com/plan 注意勾选上验证码套餐!