一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网站反爬机制自动化检测方法、装置、设备及存储介质与流程

2022-02-22 19:21:38 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种网站反爬机制自动化检测方法、装置、设备及存储介质。


背景技术:

2.随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(search engine),例如传统的通用搜索引擎altavista,yahoo!和google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。如:(1)不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。(2)通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。(3)万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。
3.为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。
4.然而,部分网站可能存在反爬技术,进而导致无法收集网站的信息,进而导致ip资源的浪费。


技术实现要素:

5.本技术实施例的目的在于提供一种sql语句异常检测方法、装置、设备及存储介质,用于实现网站的反爬机制的自动检测。
6.为此,本技术第一方面公开一种网站反爬机制自动化检测方法,所述方法包括:
7.获取访问目标网站所需的请求参数和所述目标网站响应访问请求所产生的第一响应结果;
8.根据访问所述目标网站所需的请求参数,随机生成针对所述目标网站的请求头;
9.向所述目标网站发送所述请求头并获取所述目标网站针对所述请求头返回的第二响应结果;
10.计算所述第一响应结果与所述第二响应结果之间的相似度;
11.根据所述第一响应结果与所述第二响应结果之间的相似度,判断所述目标网站是否存在反爬机制。
12.在本技术第一方面中,作为一种可选的实施方式,在所述根据所述第一响应结果与所述第二响应结果之间的相似度,判断所述目标网站是否存在反爬机制之后,所述方法
还包括:
13.当所述目标网站存在反爬机制时,随机修改所述请求头;
14.基于修改后的所述请求头访问所述目标网站,并得到第三响应结果;
15.根据所述第三响应结果与所述第一响应结果之间的差异,重复执行所述随机修改所述请求头和所述基于修改后的所述请求头访问所述目标网站,直至所述第三响应结果与所述第一响应结果之间的差异满足预设条件;
16.当所述第三响应结果与所述第一响应结果之间的差异满足预设条件,根据修改后的所述请求头确定所述目标网站的反爬策略信息。
17.在本技术第一方面中,作为一种可选的实施方式,在所述根据修改后的所述请求头确定所述目标网站的反爬策略信息之后,所述方法还包括:
18.基于所述目标网站的反爬策略信息,执行针对所述目标网站的反爬绕过测试并得到测试结果;
19.基于所述测试结果确定针对所述目标网站的反爬绕过策略信息。
20.在本技术第一方面中,作为一种可选的实施方式,在所述基于所述测试结果确定针对所述目标网站的反爬绕过策略信息之后,所述方法还包括:
21.基于高并发模式访问所述目标网站,以确定所述目标网站1分钟内最大访问限制次数。
22.在本技术第一方面中,作为一种可选的实施方式,在所述基于高并发模式访问所述目标网站之后,所述方法还包括:
23.基于所述目标网站1分钟内最大访问限制次数、所述目标网站的反爬策略信息、所述目标网站的反爬绕过策略信息、修改后的所述请求头,生成针对所述目标网站的爬虫分析信息并输出所述爬虫分析信息。
24.在本技术第一方面中,作为一种可选的实施方式,所述计算所述第一响应结果与所述第二响应结果之间的相似度,包括:
25.根据所述第一响应结果生成第一序列;
26.根据所述第二响应结果生成第二序列;
27.根据所述第一序列和所述第二序列,计算所述第一序列与所述第二序列的最长公共子序列;
28.基于所述第一序列、所述第二序列和所述最长公共子序列计算所述第一响应结果与所述第二响应结果之间的相似度。
29.在本技术第一方面中,作为一种可选的实施方式,所述基于所述第一序列、所述第二序列和所述最长公共子序列计算所述第一响应结果与所述第二响应结果之间的相似度的计算式为:
30.c=2*lc/(len(d1),len(d2));
31.其中,c表示所述第一响应结果与所述第二响应结果之间的相似度,lc表示所述最长公共子序列,len(d1)表示所述第一序列的长度,len(d2)表示所述第二序列的长度。
32.本技术第二多方面公开一种网站反爬机制自动化检测装置,所述装置包括:
33.获取模块,用于获取访问目标网站所需的请求参数和所述目标网站响应访问请求所产生的第一响应结果;
34.修改模块,用于根据访问所述目标网站所需的请求参数,随机生成针对所述目标网站的请求头;
35.访问模块,用于向所述目标网站发送所述请求头并获取所述目标网站针对所述请求头返回的第二响应结果;
36.计算模块,计算所述第一响应结果与所述第二响应结果之间的相似度;
37.判断模块,用于根据所述第一响应结果与所述第二响应结果之间的相似度,判断所述目标网站是否存在反爬机制。
38.本技术第三方面公共课一种网站反爬机制自动化检测设备,所述设备包括:
39.存储有可执行程序代码的存储器;
40.与所述存储器耦合的处理器;
41.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本技术第一方面的网站反爬机制自动化检测方法。
42.本技术第四方面公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本技术第一方面的网站反爬机制自动化检测设备。
43.与现有技术相比,本技术实施例的有益效果为:
44.本技术能够快速检测web站点防护措施,提升开发人员前期准备、中期开发、后期测试的效率,进而使得开发人更高效的开发和定制自己的爬虫。另一方面,本技术能够帮助前后端测试人员快速检测反爬措施实际的保护效果,进而快速提升网站反爬能力建设。
附图说明
45.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
46.图1是本技术实施例公开的一种网站反爬机制自动化检测方法的流程示意图;
47.图2是本技术实施例公开的一种网站反爬机制自动化检测装置的结构示意图;
48.图3是本技术实施例公开的一种网站反爬机制自动化检测设备的结构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
50.实施例一
51.请参阅图1,图1是本技术实施例公开的一种网站反爬机制自动化检测方法的流程示意图。如图1所示,本技术实施例的网站反爬机制自动化检测方法包括以下步骤:
52.101、获取访问目标网站所需的请求参数和目标网站响应访问请求所产生的第一响应结果;
53.102、根据访问目标网站所需的请求参数,随机生成针对目标网站的请求头;
54.103、向目标网站发送请求头并获取目标网站针对请求头返回的第二响应结果;
55.104、计算第一响应结果与第二响应结果之间的相似度;
56.105、根据第一响应结果与第二响应结果之间的相似度,判断目标网站是否存在反
爬机制。
57.在本技术实施例中,对于步骤101,为了获取访问目标网站所需的请求参数和第一响应结果,可由人工点击目标网站,进而获取上传的请求参数,另一方面,将目标网站返回的页面作为第一响应结果。例如,在能够截获网络流量的情况下,通过真实的浏览器访问就可以得到正常情况下网页需要构造哪几个参数和返回的页面,将参数和返回页面分别保存下来。进一步地,通过返回网页中特定关键字能够检测返回页面是否为动态加载,保证后续操作不会因为动态加载页面区别而带来失真。
58.在本技术实施例中,为了获取访问目标网站所需的请求参数以及目标网站返回的第一响应结果,可通过接管设备的网卡接口实现,其中,通过接管网卡接口,能够自动解析经过网卡接口的所有http/https流量。
59.在本技术实施例中,作为一种可选的实施方式,在步骤104:根据第一响应结果与第二响应结果之间的相似度,判断目标网站是否存在反爬机制之后,本技术实施例的方法还包括以下步骤:
60.当目标网站存在反爬机制时,随机修改请求头;
61.基于修改后的请求头访问目标网站,并得到第三响应结果;
62.根据第三响应结果与第一响应结果之间的差异,重复执行随机修改请求头和基于修改后的请求头访问目标网站,直至第三响应结果与第一响应结果之间的差异满足预设条件;
63.当第三响应结果与第一响应结果之间的差异满足预设条件,根据修改后的请求头确定目标网站的反爬策略信息。
64.在本可选的实施方式,通过反复修改请求头,并基于修改后的请求头多次访问目标网站,进而能够基于确定目标网站的反爬策略信息。
65.在本可选的实施方式,可选地,随机修改请求头的具体方式为:
66.通过添加或减少请求头中只有一项不同且不同参数项为随机值的随机请求头.
67.在本技术实施例中,作为一种可选的实施方式,在步骤:根据修改后的请求头确定目标网站的反爬策略信息之后,本技术实施例的方法还包括以下步骤:
68.基于目标网站的反爬策略信息,执行针对目标网站的反爬绕过测试并得到测试结果;
69.基于测试结果确定针对目标网站的反爬绕过策略信息。
70.示例性,假设反爬策略信息表征目标网站存在反爬策略a,则通过修改http header、使用浏览器内核模拟加载、动态调用js解析等方式测试是否能够解除该目标网站的反爬策略,如果能够则确定该方式有效,并基于该方式确定反爬绕过策略信息。
71.在本技术实施例中,作为一种可选的实施方式,在步骤:基于测试结果确定针对目标网站的反爬绕过策略信息之后,本技术实施例的方法还包括:
72.基于高并发模式访问目标网站,以确定目标网站1分钟内最大访问限制次数。
73.在本可选的实施方式中,为了在针对目标网站进行爬虫过程中,避免目标网站的访问次数的限制导致被目标网站识别为异常访问,因此需要确定目标网站1分钟内最大访问限制次数。例如,当目标网站1分钟内最大访问限制次数为60次时,可以将1分钟内访问目标网站的次数设置为50,以避免别目标网站识别为异常访问。
74.需要说明的是,关于并发模式的详细说明请参阅现有技术,本技术实施例对此不作赘述。
75.在本技术实施例中,作为一种可选的实施方式,在步骤基于高并发模式访问目标网站之后,本技术实施例的方法还包括以下步骤:
76.基于目标网站1分钟内最大访问限制次数、目标网站的反爬策略信息、目标网站的反爬绕过策略信息、修改后的请求头,生成针对目标网站的爬虫分析信息并输出爬虫分析信息。
77.本可选的实施方式通过生成针对目标网站的爬虫分析信息并输出爬虫分析信息。
78.在本技术实施例中,作为一种可选的实施方式,计算第一响应结果与第二响应结果之间的相似度,包括:
79.根据第一响应结果生成第一序列;
80.根据第二响应结果生成第二序列;
81.根据第一序列和第二序列,计算第一序列与第二序列的最长公共子序列;
82.基于第一序列、第二序列和最长公共子序列计算第一响应结果与第二响应结果之间的相似度。
83.在本技术实施例中,作为一种可选的实施方式,基于第一序列、第二序列和最长公共子序列计算第一响应结果与第二响应结果之间的相似度的计算式为:
84.c=2*lc/(len(d1),len(d2));
85.其中,c表示第一响应结果与第二响应结果之间的相似度,lc表示最长公共子序列,len(d1)表示第一序列的长度,len(d2)表示第二序列的长度。
86.在本可选的实施方式中,示例性地,将正常访问得到的网页w1和随机构造的网页w2转为序列d1,d2,得到a有m个元素,序列b有n个元素,那么最长公共子序列lc就等于len(array[m][n]),最终得到页面相似度c=2*lc/(len(d1),len(d2)),如果相似度在预设的相似度的范围。则网站不存在反爬措施,否则就存在反爬机制。
[0087]
由上可见,本技术实施例的方法一方面能够快速检测web站点防护措施,提升开发人员前期准备、中期开发、后期测试的效率,进而使得开发人员更高效的开发和定制自己的爬虫。另一方面,本技术实施例的方法可以帮助前后端测试人员快速检测反爬措施实际的保护效果。快速提升网站反爬能力建设。
[0088]
实施例二
[0089]
请参阅图2,图2是本技术实施例公开的一种网站反爬机制自动化检测装置的结构示意图。如图2所示,本技术实施例的网站反爬机制自动化检测装置包括以下功能模块:
[0090]
获取模块201,用于获取访问目标网站所需的请求参数和目标网站响应访问请求所产生的第一响应结果;
[0091]
修改模块202,用于根据访问目标网站所需的请求参数,随机生成针对目标网站的请求头;
[0092]
访问模块203,用于向目标网站发送请求头并获取目标网站针对请求头返回的第二响应结果;
[0093]
计算模块204,计算第一响应结果与第二响应结果之间的相似度;
[0094]
判断模块205,用于根据第一响应结果与第二响应结果之间的相似度,判断目标网
站是否存在反爬机制。
[0095]
本技术实施例的装置一方面能够快速检测web站点防护措施,提升开发人员前期准备、中期开发、后期测试的效率,进而使得开发人员更高效的开发和定制自己的爬虫。另一方面,本技术实施例的装置可以帮助前后端测试人员快速检测反爬措施实际的保护效果。快速提升网站反爬能力建设。
[0096]
需要说明的是,关于本技术实施例的其他说明,请参阅本技术实施例一的详细说明,本技术实施例对此不作赘述。
[0097]
实施例三
[0098]
请参阅图3,图3是本技术实施例公开的一种网站反爬机制自动化检测设备的结构示意图。如图3所示,本技术实施例的网站反爬机制自动化检测设备包括:
[0099]
存储有可执行程序代码的存储器301;
[0100]
与存储器301耦合的处理器302;
[0101]
处理器302调用存储器302中存储的可执行程序代码,执行本技术实施例一的网站反爬机制自动化检测方法。
[0102]
本技术实施例的设备一方面能够快速检测web站点防护措施,提升开发人员前期准备、中期开发、后期测试的效率,进而使得开发人员更高效的开发和定制自己的爬虫。另一方面,本技术实施例的设备可以帮助前后端测试人员快速检测反爬措施实际的保护效果。快速提升网站反爬能力建设。
[0103]
实施例四
[0104]
本技术实施例公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本技术实施例一的网站反爬机制自动化检测设备。
[0105]
本技术实施例的存储介质一方面能够快速检测web站点防护措施,提升开发人员前期准备、中期开发、后期测试的效率,进而使得开发人员更高效的开发和定制自己的爬虫。另一方面,本技术实施例的存储介质可以帮助前后端测试人员快速检测反爬措施实际的保护效果。快速提升网站反爬能力建设。
[0106]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0107]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0108]
再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0109]
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质
上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0110]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0111]
以上仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献