掌桥专利:专业的专利平台
掌桥专利
首页

一种大幅度降低爬虫效率的方法

文献发布时间:2023-06-19 13:29:16


一种大幅度降低爬虫效率的方法

技术领域

本发明涉及数据采集技术领域,尤其涉及一种大幅度降低爬虫效率的方法。

背景技术

目前现有技术都是通过验证码,手机短信验证的方式来防止爬虫对网站系统的数据爬取,这极大了影响的用户体验,而且在现有的爬虫技术下,各类验证码都有一些成熟的技术手段进行破解,所以当前的验证码体系不但影响了用户体验,还不能很好的解决爬虫的问题。

因此需要提升反爬虫能力,有效更新新的技术手段,从而降低爬虫的破解效率。

发明内容

本发明的提供一种大幅度降低爬虫效率的方法。

本发明的方案是:

一种大幅度降低爬虫效率的方法,包括下列步骤:

1)客户端发起校验请求到服务端,所述服务端中的随机模块随机出一个可配置位数N的字符串A,在随机出16位字符串B,传递给服务端中的处理模块;

2)服务端中的处理模块通过hash(A+B)得到字符串C;

3)然后通过服务端的传送模块将字符串A的位数N、字符串B与字符串C传递到客户端;

4)客户端接受后,客户端遍历所有N位字符串的组合M,每次遍历都对组合M中的字符串X和所述字符串B进行hash运算,hash(X+B)得到字符串Cn,校验运算结果字符串Cn是否等于所述字符串C,当在组合M中的一个字符串X运算Cn与所述字符串C相等,停止遍历,将该符合标准的字符串X向服务端发送;

5)将所述符合标准的字符串X通过客户端传递给服务端,服务端的判断模块识别字符串A是否等于所述符合标准的字符串X;

服务端的判断模块经过识别,字符串A等于所述符合标准的字符串X,返回客户端校验成功;字符串A不等于所述符合标准的字符串X,校验失败,从步骤1)重新开始。

作为优选的技术方案,所述步骤1)中可配置位数N≥8。

作为优选的技术方案,所述步骤4)中客户端遍历客户端遍历所有N位字符串的组合M,所述N位字符串为字母小写与数字组合而成,然后通过hash(X+B)得到字符串Cn,检验字符串Cn是否等于所述字符串C;检验等于所述字符串C,客户端该次运算中的字符串X符合标准,并将该符合标准的字符串X进行传递;检验不等于所述字符串C,则客户端继续遍历组合M中所有N位的字符串。

作为优选的技术方案,所述hash算法为md5、sha1与sha256其中的一种。

本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现大幅度降低爬虫效率的方法。

本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现大幅度降低爬虫效率的方法。

由于采用了上述技术方案,1)客户端发起校验请求到服务端,所述服务端中的随机模块随机出一个可配置位数N的字符串A,在随机出16位字符串B,传递给服务端中的处理模块;2)服务端中的处理模块通过hash(A+B)得到字符串C;3)然后通过服务端的传送模块将字符串A的位数N、字符串B与字符串C传递到客户端;4)客户端接受后,客户端遍历所有N位字符串的组合M,每次遍历都对组合M中的字符串X和所述字符串B进行hash运算,hash(X+B)得到字符串Cn,校验运算结果字符串Cn是否等于所述字符串C,当在组合M中的一个字符串X运算Cn与所述字符串C相等,停止遍历,将该符合标准的字符串X向服务端发送;5)将所述符合标准的字符串X通过客户端传递给服务端,服务端的判断模块识别字符串A是否等于所述符合标准的字符串X;6)服务端的判断模块经过识别,字符串A等于所述符合标准的字符串X,返回客户端校验成功;字符串A不等于所述符合标准的字符串X,校验失败,从步骤1)重新开始。

本发明的有益效果在于:

本发明采用的验证方式无需用户输入验证码即可降低爬虫的效率,用户体验非常好;本发明采取浪费cpu算力的方式进行防爬,从原理上来讲,根本无法破解,爬虫服务器cpu会瞬间跑满,大大增加爬取成本;本发明通过浪费客户端的cpu算力的方式来达到降低爬虫爬取效率,因为爬虫大都集中在一台或者几台服务器上,该过程客户端必须最多计算26的N次方次运算,这浪费了大量的cpu,我们还可以通过配置N的大小还加强对系统的防护。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的框架流程图。

具体实施方式

为了弥补以上不足,本发明提供了一种大幅度降低爬虫效率的方法以解决上述背景技术中的问题。

一种大幅度降低爬虫效率的方法,包括下列步骤:

1)客户端发起校验请求到服务端,所述服务端中的随机模块随机出一个可配置位数N的字符串A,在随机出16位字符串B,传递给服务端中的处理模块;

2)服务端中的处理模块通过hash(A+B)得到字符串C;

3)然后通过服务端的传送模块将字符串A的位数N、字符串B与字符串C传递到客户端;4)客户端接受后,客户端遍历所有N位字符串的组合M,每次遍历都对组合M中的字符串X和所述字符串B进行hash运算,hash(X+B)得到字符串Cn,校验运算结果字符串Cn是否等于所述字符串C,当在组合M中的一个字符串X运算Cn与所述字符串C相等,停止遍历,将该符合标准的字符串X向服务端发送;5)将所述符合标准的字符串X通过客户端传递给服务端,服务端的判断模块识别字符串A是否等于所述符合标准的字符串X;服务端的判断模块经过识别,字符串A等于所述符合标准的字符串X,返回客户端校验成功;字符串A不等于所述符合标准的字符串X,校验失败,从步骤1)重新开始。

所述步骤1)中可配置位数N≥8。

所述步骤4)中客户端遍历客户端遍历所有N位字符串的组合M,所述N位字符串为字母小写与数字组合而成,然后通过hash(X+B)得到字符串Cn,检验字符串Cn是否等于所述字符串C;检验等于所述字符串C,客户端该次运算中的字符串X符合标准,并将该符合标准的字符串X进行传递;检验不等于所述字符串C,则客户端继续遍历组合M中所有N位的字符串。

所述hash算法为md5、sha1与sha256其中的一种。

本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现大幅度降低爬虫效率的方法。

本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现大幅度降低爬虫效率的方法。为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明。

实施例

1、服务端随机出一个可配置位数N的字符串A,

2、再随机出16位字符串B

3、然后通过hash(A+B)得到字符串C

4、并将B和C传递给客户端

5、然后客户端接收,客户端遍历所有N位字符串的组合M,每次遍历都对组合M中的字符串X和所述字符串B进行hash运算,hash(X+B)得到字符串Cn,在组合M中的一个字符串X运算出的字符串Cn与所述字符串C相等,停止遍历

6、并将X传递给服务端,服务端判断A是否等于X,若相等,返回客户端校验成功。

软件算法:服务端随机出一个可配置位数N的字符串A,再随机出16位字符串B,然后通过hash(A+B)得到字符串C,并将B和C传递给客户端,然后客户端遍历所有N位字符串的组合M,每次遍历都对组合M中的字符串X和所述字符串B进行hash运算,hash(X+B)得到字符串Cn,在组合M中的一个字符串X运算出的字符串Cn与所述字符串C相等,停止遍历,返回客户端校验成功,该过程客户端必须最多计算26的N次方次运算,这浪费了大量的cpu,可以通过配置N的大小还加强对系统的防护。

本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现大幅度降低爬虫效率的方法。

本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现大幅度降低爬虫效率的方法。

以上显示和描述了本发明的基本原理、主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种大幅度降低爬虫效率的方法
  • 一种大幅度降低猕猴桃树由于溃疡病导致死亡的栽培方法
技术分类

06120113693870