一种基于众包的验证信息的识别方法及系统与流程

文档序号:11216750阅读:839来源:国知局
一种基于众包的验证信息的识别方法及系统与流程

本发明属于信息的识别技术领域,具体涉及一种基于众包的验证信息的识别系统及方法。



背景技术:

网络爬虫已经成了很普及网络技术,除了专门做搜索的google,yahoo,微软必应,百度等等,几乎每个大型门户网站都有自己的搜索引擎,现在的爬虫工具特别多,已知的开源爬虫框架就有几十种不等。一般来说,企业级别的网络爬虫一般是部署在集群上面,通过不同的网络线路出口,并行地从互联网上下载所需的信息。

各个网站为了保护自己的网站不被恶意攻击,都会有自己的请求和响应策略。一般来说,目标网站则根据访问频率,浏览网页速度,cookies等因素来封锁线路,同时也会根据账户登录状态,输入验证码是否正确,flash封装,ajax混淆,js加密,图片验证,css混淆等技术来保护自己的网站。然而这样一些因素会导致爬虫不能正常爬取。其中,最主要的因素就是网络线路的封锁,很多目标网站会对在一段时间频繁请求的爬虫采取完全封锁的策略。这样便误封锁了一部分爬虫的正常爬取。

人工的监控成本也很大,不知道线路何时被封锁了,何时被解封,以至于不能迅速反应。而数据的抓取是一个长期连续的过程,如不能及时地应对目标网站的封锁策略,并立即采取应对策略,那么爬虫的抓取质量和效率则是很低的。

现有技术中网络爬虫在抓取数据时,需要填写验证码。若程序无法识别验证码,则无法抓取到数据。



技术实现要素:

要解决的技术问题

为了解决现有技术当程序无法识别验证码时,不能抓取数据的技术问题,本发明的目的是提供一种基于众包的验证信息的识别方法及系统。

发明的技术方案

本发明的第一方面,提供一种基于众包的验证信息的识别方法,该方法包括如下步骤:

步骤s1:任务处理装置接收需求提交者上传的验证码识别的任务需求,任务处理装置接收并根据任务定价装置输出的任务执行者设定规则确定任务执行者,发送验证码的网址;

步骤s2:用户装置接收验证码的网址,输出验证码访问请求;

步骤s3:任务处理装置接收验证码访问请求,输出验证码图片;

步骤s4:用户装置接收验证码图片,输出验证码识别结果;

步骤s5:监测装置定时监测任务处理装置接收的验证码识别结果,验证码识别结果正确则执行步骤s6,验证码识别结果错误则执行步骤s7;

步骤s6:任务处理装置接收验证码识别结果,输出给需求提交者;

步骤s7:任务定价装置接收修改定价指令,对定价进行更改并输出任务执行者设定规则。

本发明的第二方面,提供使用所述一种基于众包的验证信息的识别方法的基于众包的验证信息的识别系统,该系统包括与任务定价装置、监测装置连接的任务处理装置、用户装置,其中:

任务处理装置接收需求提交者上传的验证码识别具有验证码网址的任务需求,任务处理装置接收并根据任务定价装置输出的任务执行者设定规则确定任务执行者,发送验证码的网址;

用户装置与任务处理装置双向连接,接收验证码的网址,输出验证码访问请求;

任务处理装置接收验证码访问请求,输出验证码图片;用户装置接收验证码图片,输出验证码识别结果;任务处理装置接收验证码识别结果,输出给需求提交者;

监测装置用于定时监测任务处理装置接收的验证码识别结果,根据验证码识别结果输出修改定价指令;

任务定价装置接收修改定价指令,对定价进行更改并输出任务执行者设定规则。

发明的有益效果:

本发明通过众包的形式识别验证码,保证程序抓取到数据,从而解决了当识别系统无法识别验证码时,不能抓取数据的问题。本发明的系统和方法提高了系统和方法的速度,本发明的发众包任务技术方案工作过程仅仅需要在秒级。本发明在确定任务执行者的过程中,需要根据供求平衡关系进行定价,根据定价结果确定任务执行者,保证本发明的系统和方法工作的时效性。

本发明的系统和方法能够独立运行,耦合度低,占用资源少,响应迅速,本发明所提供的数据都经过了众包的形式识别验证码验证,以确保提供的网络资源精准有效;响应及时。高容错性,本发明可以在网络线路出问题的时候,自动测试,直至选择出正确的线路,以保证爬虫线路的畅通;通过使用本发明提供的系统和的方法和装置,能够使爬虫数据的抓取效率大大提高,并且不需要人工干预,实现网络线路的负载均衡。

附图说明

图1为本发明一种基于众包的验证信息的识别方法流程图;

图2为本发明一种基于众包的验证信息的识别系统结构图。

具体实施方式

为使本发明的目的、技术发明和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术发明。

请参阅图1示出一种基于众包的验证信息的识别方法,该方法包括如下步骤:

步骤s1:任务处理装置接收需求提交者上传的验证码识别的任务需求,任务处理装置接收并根据任务定价装置输出的任务执行者设定规则确定任务执行者,发送验证码的网址;

步骤s2:用户装置接收验证码的网址,输出验证码访问请求;

步骤s3:任务处理装置接收验证码访问请求,输出验证码图片并显示给任务执行者;

步骤s4:用户装置接收验证码图片,输出验证码识别结果;

步骤s5:监测装置定时监测任务处理装置接收的验证码识别结果,验证码识别结果正确则执行步骤s6,验证码识别结果错误则执行步骤s7;

步骤s6:任务处理装置接收验证码识别结果,输出给需求提交者;

步骤s7:任务定价装置接收修改定价指令,对定价进行更改并输出任务执行者设定规则。

优选实施例,确定所述任务执行者的过程是需要根据供求平衡关系对任务执行者进行定价,根据定价结果确定任务执行者。

优选实施例,所述任务执行者设定规则是检测当前队列中的爬虫任务量,以及当前在线的用户量、平均响应时间,根据爬虫任务量、在线用户量、平均响应时间的动态平衡关系,确定任务执行者的价格。

优选实施例,所述的任务执行者设定规则是结合当前预测价格与预测的响应情况确定任务执行者价格。

优选实施例,所述定时监测的时间间隔为秒级。如设定定时监测的时间间隔小于1秒。

请参阅图2示出一种基于众包的验证信息的识别系统,所述系统包括与任务定价装置、监测装置连接的任务处理装置、用户装置,其中:

任务处理装置接收需求提交者上传的验证码识别具有验证码网址的任务需求,任务处理装置接收并根据任务定价装置输出的任务执行者设定规则确定任务执行者,发送验证码的网址;

用户装置与任务处理装置双向连接,接收验证码的网址,输出验证码访问请求;

任务处理装置接收验证码访问请求,输出验证码图片;用户装置接收验证码图片,输出验证码识别结果;任务处理装置接收验证码识别结果,输出给需求提交者;

监测装置用于定时监测任务处理装置接收的验证码识别结果,根据验证码识别结果输出修改定价指令;

任务定价装置接收修改定价指令,对定价进行更改并输出任务执行者设定规则。

优选实施例,确定所述的任务定价装置输出的任务执行者的过程是需要根据供求平衡关系对任务执行者进行定价,根据定价结果确定任务执行者。

优选实施例,所述的任务定价装置输出的任务执行者设定规则是检测当前队列中的爬虫任务量,以及当前在线的用户量、平均响应时间,根据爬虫任务量、在线用户量、平均响应时间的动态平衡关系,确定任务执行者的价格。

优选实施例,所述的任务定价装置输出的任务执行者设定规则是结合当前预测价格与预测的响应情况确定任务执行者价格。

优选实施例,所述监测装置定时监测的时间间隔为秒级。如设定定时监测的时间间隔小于1秒。

本发明接收到验证码识别的任务需求,该任务需求中包括验证码的网址;按照设定的规则确定任务执行者,并向任务执行者发送验证码的网址;接收到任务执行者发送的验证码访问请求,将验证码图片显示给任务执行者;接收任务执行者发送的验证码识别结果并发送给需求提交者。

验证码过期在分钟级,因此,该众包任务流程需要在秒级。为了保证时效性,在确定任务执行者的过程中,需要根据供求平衡关系进行定价,根据定价结果确定任务执行者。

例如,检测当前队列中的爬虫任务量,以及当前在线的用户量,平均响应时间,根据爬虫任务量、在线用户量、平均响应时间的动态平衡关系,确定价格。

尽管上面结合附图对本发明的优选实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,并不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以作出很多形式,将以上各个实施例中不相矛盾的技术手段相互组合,构成具体实施方式部分中没有直接描述的技术方案。这些均属于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1