服务器、反爬虫系统和反爬虫验证方法与流程

文档序号:13673290阅读:820来源:国知局
技术领域本发明涉及一种反爬虫技术,特别涉及一种存储有发布的反爬虫策略的服务器、包括该服务器的反爬虫系统和利用该反爬虫系统实现的反爬虫验证方法。

背景技术:
目前,互联网上的爬虫量日益增加,反爬虫也越来越受到严峻的挑战。互联网上的爬虫千奇百怪,并且时刻在进化,需要频繁发布新的反爬虫策略来解决新的爬虫。采用前端脚本的加解密机制,可以大大增加爬取站点的复杂度,但是也对服务器验证方式提出了更严峻的挑战。通常我们的前端服务器可能很多,发布起来需要考虑灰度问题,无法进行频繁发布。而反爬虫发布则需要根据爬虫的行为来决定,例如反爬虫策略是成功的,而爬虫编写者经过一定的时间破解了反爬虫的策略,这时候就需要立刻进行一次反爬虫发布。而已有的反爬虫技术通常是升级整个站点,这会严重拖慢发布速度。具体地,现有技术中将反爬虫策略和其他一些程序一起打包发布至站点上,在此过程中需要执行测试流程、审批流程、发布流程以及发布之后开关流程等,由于反爬虫策略是和其他程序一起打包发布的,所以上述各个流程耗费的时间较长,影响了反爬虫策略的发布速度。

技术实现要素:
本发明要解决的技术问题是为了克服现有技术中的反爬虫技术升级整个站点,严重影响反爬虫策略的发布速度的缺陷,提供一种服务器、反爬虫系统和反爬虫验证方法。本发明是通过下述技术方案来解决上述技术问题的:本发明提供一种服务器,其特点在于,其与一站点通讯连接,该服务器中存储有发布的用于对抗针对该站点的爬虫行为的反爬虫策略。在本方案中,并不将反爬虫策略与其他程序一起打包发布至站点上,而是设置一个独立的服务器,将该反爬虫策略单独地发布存储至该服务器上,由于测试流程、审批流程、发布流程以及发布之后开关流程等只针对该反爬虫策略,所以能够大为减少上述各个流程的处理时间,进而提高反爬虫策略的发布速度。较佳地,该服务器包括一传送模块、一接收模块和一验证模块;该传送模块用于在接收到用户发来的控制指令后将该反爬虫策略传送至该用户;该接收模块用于接收该站点发来的针对该反爬虫策略的解密结果;该验证模块用于对该解密结果进行验证,并将验证结果发送至该站点,该验证结果为该解密结果正确的信息或该解密结果错误的信息。较佳地,该反爬虫策略以js(脚本语言)脚本形式存储。本发明还提供一种反爬虫系统,其特点在于,其包括上述的服务器和上述的站点。本发明还提供一种反爬虫验证方法,其利用上述的反爬虫系统实现,其包括以下步骤:S1、该站点发送一到该服务器获取该反爬虫策略的信息至用户;S2、该服务器在接收到用户发来的控制指令后将该反爬虫策略传送至该用户;S3、该站点接收该用户发来的针对该反爬虫策略的解密结果,并将该解密结果发送给该服务器;S4、该服务器对该解密结果进行验证,并将验证结果发送至该站点,该验证结果为该解密结果正确的信息或该解密结果错误的信息。在本方案中,验证过程并不由站点完成,而是由独立的服务器完成,有利于在反爬虫策略出现异常时,无需对站点作出更改,该站点仍然能够正常运行,工作人员只需将该服务器关闭即可。工作人员将该服务器关闭之后,该站点正常运行只是该站点没有反爬技术而已,用户能够从该站点爬取任何需要的信息。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。本发明的积极进步效果在于:本发明并不将反爬虫策略与其他程序一起打包发布至站点上,而是设置一个独立的服务器,将该反爬虫策略单独地发布存储至该服务器上,由于测试流程、审批流程、发布流程以及发布之后开关流程等只针对该反爬虫策略,所以能够大为减少上述各个流程的处理时间,进而提高反爬虫策略的发布速度。附图说明图1为本发明较佳实施例的反爬虫系统的结构示意图。图2为本发明较佳实施例的反爬虫验证方法的流程图。具体实施方式下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。本实施例并不将反爬虫策略与其他程序一起打包发布至站点上,而是设置一个独立的服务器,将该反爬虫策略单独地发布存储至该服务器上,具体地,本实施例提供一种反爬虫系统,其包括一站点和一与该站点通讯连接的服务器,该服务器中存储有发布的用于对抗针对该站点的爬虫行为的反爬虫策略,该反爬虫策略以js脚本形式存储,其中,该服务器包括一传送模块、一接收模块和一验证模块。由于测试流程、审批流程、发布流程以及发布之后开关流程等只针对该反爬虫策略,所以能够大为减少上述各个流程的处理时间,进而提高反爬虫策略的发布速度。如图1所示,该站点发送一到该服务器获取该反爬虫策略的信息至用户,该用户收到该信息后,发出一控制指令至该服务器,该服务器中的传送模块在接收到用户发来的控制指令后将该反爬虫策略传送至该用户,该用户收到该反爬虫策略对该反爬虫策略进行解密,并将解密结果发送给该站点,该站点接收到该解密结果,并将该解密结果发送给该服务器;该服务器中的接收模块接收该站点发来的针对该反爬虫策略的解密结果,该服务器中的验证模块对该解密结果进行验证,并将验证结果发送至该站点,该验证结果为该解密结果正确的信息或该解密结果错误的信息。如图2所示,本实施例还提供一种反爬虫验证方法,其利用上述的反爬虫系统实现,其包括以下步骤:步骤101、该站点发送一到该服务器获取该反爬虫策略的信息至用户.在该站点之外独立设置一个服务器,命名为verify-server,该服务器同时绑定两个域名,一个是外网使用的,命名为wan-decode,另一个用于内网访问,命名为lan-verify。而且在该服务器上创建两个url(统一资源定位符),一个是http://wan-decode/decode/,另一个是http://lan-verify/verify。例如:http://wan-decode/decode/的伪代码实现如下:而http://lan-verify/verify的伪代码实现示例如下:步骤102、该服务器在接收到用户发来的控制指令后将该反爬虫策略传送至该用户。外网已有的/decode代码,改为用jsonp访问http://wan-decode/decode/(如果没有申请新域名而是使用同域,也可以不使用jsonp,直接用ajax拉取),从而获得该反爬虫策略。例如如下伪代码:步骤103、该站点接收该用户发来的针对该反爬虫策略的解密结果,并将该解密结果发送给该服务器。步骤104、该服务器对该解密结果进行验证,并将验证结果发送至该站点,该验证结果为该解密结果正确的信息或该解密结果错误的信息。内网已有的func-verify函数,改为访问http://lan-verify/verify/来进行验证。例如如下伪代码:可见,以后需要发布新的反爬虫策略的时候,直接将新的反爬虫策略发布到verify-server上,这样就同时更改了http://wan-decode/decode/和http://lan-verify/verify中的反爬虫策略,从而实现了加解密的同时变更。而且,当需要回退的时候,直接回退verify-server即可。在本实施例中,验证过程并不由站点完成,而是由独立的服务器完成,有利于在反爬虫策略出现异常时,无需对站点作出更改,该站点仍然能够正常运行,工作人员只需将该服务器关闭即可。工作人员将该服务器关闭之后,该站点正常运行只是该站点没有反爬技术而已,用户能够从该站点爬取任何需要的信息。虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1