首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 请求 / 爬虫识别方法、装置、设备及可读存储介质

爬虫识别方法、装置、设备及可读存储介质

阅读:35发布:2023-02-05

专利汇可以提供爬虫识别方法、装置、设备及可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种爬虫识别方法、装置、设备及可读存储介质,应用爬虫识别方法的 服务器 端设置有识别代码,该识别代码对应的识别显示内容在所述服务器端对应页面上处于隐藏显示状态;所述爬虫识别方法包括:每接收到用户端向服务器端发送的用于 请求 网络信息的请求指令时;判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫 风 险。本发明解决现有存在爬虫端的识别难度大,爬虫限制的难度大的技术问题。,下面是爬虫识别方法、装置、设备及可读存储介质专利的具体信息内容。

1.一种爬虫识别方法,其特征在于,应用爬虫识别方法的服务器端设置有识别代码,该识别代码对应的识别显示内容在所述服务器端对应页面上处于隐藏显示状态;
所述爬虫识别方法包括:
每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
2.如权利要求1所述的爬虫识别方法,其特征在于,所述将发送所述请求指令的用户端列入所述服务器的黑名单列表中,包括:
获取所述请求指令对应的用户端的唯一标识码信息,该唯一标识码信息包括所述用户端的电子序列号ESN;
将所述用户端的电子序列号ESN列入至所述服务器端的黑名单列表中。
3.如权利要求1-2任一项所述的爬虫识别方法,其特征在于,所述请求指令中携带用户信息,所述用户信息包括IP信息,协议栈信息、用户代理UA信息;
所述判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令步骤之后,所述方法还包括:
若所述请求指令不是请求包含所述识别显示内容的网络信息的请求指令,则基于所述请求指令对应的用户信息,更新当前时间点过去预设时间段内所述服务器端采集的IP信息的第一聚集比例,更新所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例,并更新所述过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例;
若所述第一聚集比例大于第一预设值、第二聚集比例大于第二预设值且第三聚集比例大于第三预设值时,确定所述服务器端存在被爬虫的风险。
4.如权利要求3所述的爬虫识别方法,其特征在于,所述基于所述请求指令对应用户信息,更新当前时间点过去预设时间段内所述服务器端采集的IP信息的第一聚集比例步骤包括:
基于所述请求指令对应用户信息,获取所述当前时间点过去预设时间段内所述服务器端所采集的各个用户端的IP段;
对所述各个用户端的IP段进行有序排列,获取连续IP段在所述各个用户端的IP段中所占的第一占比;
将所述第一占比设为所述过去预设时间段内所述服务器端对应采集IP信息的第一聚集比例。
5.如权利要求3所述的爬虫识别方法,其特征在于,所述更新所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例步骤包括:
获取所述过去预设时间段内所述服务器端依次接收不同请求指令对应的各个接收时间间隔;
判断所述各个接收时间间隔是否是部分规律变化的,若所述各个接收时间间隔是部分规律变化的,则获取规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比;
将所述第二占比设为所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例。
6.如权利要求5所述的爬虫识别方法,其特征在于,所述将所述第二占比设为所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例步骤包括:
获取所述过去预设时间段内,所述服务器端接收的不同第一请求对应的各个请求包;
获取所述各个请求包中丢失的子包,得到所述各个请求包的丢包率,并获取丢包率相同的所述各个请求包;
从丢包率相同的所述各个请求包中,获取得到所述丢失的子包在对应请求包中的发送序号;
判断所述发送序号是否相同,若所述发送序号是相同的,则获取所述丢包率相同的所述各个请求包在所有请求包中的请求包比例;
判断所述请求包比例是否大于预设请求包比例,若所述请求包比例大于预设请求包比例,则将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例。
7.如权利要求3所述的爬虫识别方法,其特征在于,所述更新所述过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例步骤包括:
获取所述过去预设时间段内,所述服务器端采集到的各个用户端所使用的各个操作系统及版本、CPU类型、浏览器及版本的信息,以得到所述操作系统及版本、CPU类型、浏览器及版本完全相同的用户端的数目;
获取所述完全相同的用户端的数目占比所有所述服务器端采集到的各个用户端的数目,以得到第三占比;
将所述第三占比设为所述过去预设时间段内所述服务器端对应用户代理UA信息的第三聚集比例。
8.一种爬虫识别装置,其特征在于,应用爬虫识别方法的服务器端设置有识别代码,该识别代码对应的识别显示内容在所述服务器端对应页面上处于隐藏显示状态;
所述爬虫识别装置包括:
采集模,用于每接收到用户端向服务器端发送的用于请求网络信息的请求指令时;
判断模块,用于判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
第一确定模块,用于若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
9.一种爬虫识别设备,其特征在于,所述爬虫识别设备包括:存储器、处理器,通信总线以及存储在所述存储器上的爬虫识别程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述爬虫识别程序,以实现如权利要求1至7中任一项所述的爬虫识别方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有爬虫识别程序,所述爬虫识别程序被处理器执行时实现如权利要求1-7中任一项所述的爬虫识别方法的步骤。

说明书全文

爬虫识别方法、装置、设备及可读存储介质

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种爬虫识别方法、装置、设备及可读存储介质。

背景技术

[0002] 爬虫指的是网络爬虫(又被称为网页蜘蛛,网络机器人等),是一种按照一定的规则,自动地抓取互联网上网络信息的程序或者脚本。爬虫在抓取一个网页后,若这个网页中具有指向各个其它网页的超链接,那么就可以爬到另一张网上来获取其它数据。
[0003] 爬虫过程中获取网络数据的方式可以是:方式一:爬虫端提交网路信息请求-下载网页代码-解析成页面,方式二:爬虫端模拟浏览器发送请求-提取有用的数据-存放于数据库或文件中,目前,许多网站都需要限制爬虫公司的爬虫,以避免网站信息的全面泄漏,但是现有技术中存在爬虫端的识别难度大,造成爬虫限制的难度大,网站信息容易全面泄漏的技术问题。

发明内容

[0004] 本发明的主要目的在于提供一种爬虫识别方法、装置、设备及可读存储介质,旨在解决存在爬虫端的识别难度大,爬虫限制的难度大的技术问题。
[0005] 为实现上述目的,本发明提供一种爬虫识别方法,应用爬虫识别方法的服务器端设置有识别代码,该识别代码对应的识别显示内容在所述服务器端对应页面上处于隐藏显示状态;
[0006] 所述爬虫识别方法包括:
[0007] 每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0008] 若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
[0009] 可选地,将发送所述请求指令的用户端列入所述服务器的黑名单列表中,包括:
[0010] 获取所述请求指令对应的用户端的唯一标识码信息,该唯一标识码信息包括所述用户端的电子序列号ESN;
[0011] 将所述用户端的电子序列号ESN列入至所述服务器端的黑名单列表中。
[0012] 可选地,所述请求指令中携带用户信息,所述用户信息包括IP信息,协议栈信息、用户代理UA信息;
[0013] 所述判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令步骤之后,所述方法还包括:
[0014] 若所述请求指令不是请求包含所述识别显示内容的网络信息的请求指令,则基于所述请求指令对应的用户信息,更新当前时间点过去过去预设时间段内所述服务器端采集的IP信息的第一聚集比例,更新所述过去过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例,并更新所述过去过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例;
[0015] 若所述第一聚集比例大于第一预设值、第二聚集比例大于第二预设值且第三聚集比例大于第三预设值时,确定所述服务器端存在被爬虫的风险。
[0016] 可选地,所述基于所述请求指令对应用户信息,更新当前时间点过去过去预设时间段内所述服务器端采集的IP信息的第一聚集比例步骤包括:
[0017] 基于所述请求指令对应用户信息,获取所述当前时间点过去过去预设时间段内所述服务器端所采集的各个用户端的IP段;
[0018] 对所述各个用户端的IP段进行有序排列,获取连续IP段在所述各个用户端的IP段中所占的第一占比;
[0019] 将所述第一占比设为所述过去预设时间段内所述服务器端对应采集IP信息的第一聚集比例。
[0020] 可选地,所述更新所述过去过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例步骤包括:
[0021] 获取所述过去预设时间段内所述服务器端依次接收不同请求指令对应的各个接收时间间隔;
[0022] 判断所述各个接收时间间隔是否是部分规律变化的,若所述各个接收时间间隔是部分规律变化的,则获取规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比;
[0023] 将所述第二占比设为所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例。
[0024] 可选地,所述将所述第二占比设为所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例步骤包括:
[0025] 获取所述过去预设时间段内,所述服务器端接收的不同第一请求对应的各个请求包;
[0026] 获取所述各个请求包中丢失的子包,得到所述各个请求包的丢包率,并获取丢包率相同的所述各个请求包;
[0027] 从丢包率相同的所述各个请求包中,获取得到所述丢失的子包在对应请求包中的发送序号;
[0028] 判断所述发送序号是否相同,若所述发送序号是相同的,则获取所述丢包率相同的所述各个请求包在所有请求包中的请求包比例;
[0029] 判断所述请求包比例是否大于预设请求包比例,若所述请求包比例大于预设请求包比例,则将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例。
[0030] 可选地,所述更新所述过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例步骤包括:
[0031] 获取所述过去预设时间段内,所述服务器端采集到的各个用户端所使用的各个操作系统及版本、CPU类型、浏览器及版本的信息,以得到所述操作系统及版本、CPU类型、浏览器及版本完全相同的用户端的数目;
[0032] 获取所述完全相同的用户端的数目占比所有所述服务器端采集到的各个用户端的数目,以得到第三占比;
[0033] 将所述第三占比设为所述过去预设时间段内所述服务器端对应用户代理UA信息的第三聚集比例。
[0034] 本发明还提供一种爬虫识别装置,所述爬虫识别装置包括:
[0035] 采集模,用于每接收到用户端向服务器端发送的用于请求网络信息的请求指令时;
[0036] 判断模块,用于判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0037] 第一确定模块,用于若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
[0038] 可选地,所述爬虫识别装置还包括:
[0039] 获取模块,用于获取所述请求指令对应的用户端的唯一标识码信息,该唯一标识码信息包括所述用户端的电子序列号ESN;
[0040] 列入模块,用于将所述用户端的电子序列号ESN列入至所述服务器端的黑名单列表中。
[0041] 可选地,所述请求指令中携带用户信息,所述用户信息包括IP信息,协议栈信息、用户代理UA信息;
[0042] 所述爬虫识别装置还包括:
[0043] 更新模块,用于若所述请求指令不是请求包含所述识别显示内容的网络信息的请求指令,则基于所述请求指令对应的用户信息,更新当前时间点过去过去预设时间段内所述服务器端采集的IP信息的第一聚集比例,更新所述过去过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例,并更新所述过去过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例;
[0044] 第二确定模块,用于若所述第一聚集比例大于第一预设值、第二聚集比例大于第二预设值且第三聚集比例大于第三预设值时,确定所述服务器端存在被爬虫的风险。
[0045] 可选地,所述更新模块包括:
[0046] 第一获取单元,用于基于所述请求指令对应用户信息,获取所述当前时间点过去过去预设时间段内所述服务器端所采集的各个用户端的IP段;
[0047] 第二获取单元,用于对所述各个用户端的IP段进行有序排列,获取连续IP段在所述各个用户端的IP段中所占的第一占比;
[0048] 第一设置单元,用于将所述第一占比设为所述过去预设时间段内所述服务器端对应采集IP信息的第一聚集比例。
[0049] 可选地,所述更新模块还包括:
[0050] 第三获取单元,用于获取所述过去预设时间段内所述服务器端依次接收不同请求指令对应的各个接收时间间隔;
[0051] 第四获取单元,用于判断所述各个接收时间间隔是否是部分规律变化的,若所述各个接收时间间隔是部分规律变化的,则获取规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比;
[0052] 第二设置单元,用于将所述第二占比设为所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例。
[0053] 可选地,所述第二设置单元包括:
[0054] 第一获取子单元,用于获取所述过去预设时间段内,所述服务器端接收的不同第一请求对应的各个请求包;
[0055] 第二获取子单元,用于获取所述各个请求包中丢失的子包,得到所述各个请求包的丢包率,并获取丢包率相同的所述各个请求包;
[0056] 第三获取子单元,用于从丢包率相同的所述各个请求包中,获取得到所述丢失的子包在对应请求包中的发送序号;
[0057] 第一判断子单元,用判断所述发送序号是否相同,若所述发送序号是相同的,则获取所述丢包率相同的所述各个请求包在所有请求包中的请求包比例;
[0058] 第三判断子单元,用判断所述请求包比例是否大于预设请求包比例,若所述请求包比例大于预设请求包比例,则将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例。
[0059] 可选地,所述更新模块包括:
[0060] 第五获取单元,用于获取所述过去预设时间段内,所述服务器端采集到的各个用户端所使用的各个操作系统及版本、CPU类型、浏览器及版本的信息,以得到所述操作系统及版本、CPU类型、浏览器及版本完全相同的用户端的数目;
[0061] 第六获取单元,用于获取所述完全相同的用户端的数目占比所有所述服务器端采集到的各个用户端的数目,以得到第三占比;
[0062] 第三设置单元,用于将所述第三占比设为所述过去预设时间段内所述服务器端对应用户代理UA信息的第三聚集比例。
[0063] 此外,为实现上述目的,本发明还提供一种爬虫识别设备,所述爬虫识别设备包括:存储器、处理器,通信总线以及存储在所述存储器上的爬虫识别程序,[0064] 所述通信总线用于实现处理器与存储器间的通信连接;
[0065] 所述处理器用于执行所述爬虫识别程序,以实现以下步骤:
[0066] 每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0067] 若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险。
[0068] 此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
[0069] 每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0070] 若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
[0071] 本发明通过每接收到用户端向服务器端发送的用于请求网络信息的请求指令时;判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。需要说明的是,对于爬虫用户端来说,主要是通过获取目标网站的代码内容,对代码内容进行显示后得到对应网络信息,而对于普通用户端而言,主要是在线浏览得到对应的网络信息而不会获取网络信息对应的代码内容,因而在本申请中,网站设置有“蜜糖”即识别代码,该识别代码包括隐藏属性以及显示属性,而该识别代码在网站服务器端的显示页面上是隐藏不显示的,因而,对于普通用户端而言,由于未显示该识别代码对应显示内容,因而普通用户不会请求以得到该识别代码的显示内容,但是由于爬虫用户端是通过获取目标网站的代码内容,对代码内容进行显示后得到对应网络信息,因而,对于爬虫用户端而言,会请求该“蜜糖”即识别代码对应显示内容,因而,若用户端的请求指令,是请求包含所述识别显示内容的网络信息的请求指令,则确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险。因而解决存在爬虫端的识别难度大,爬虫限制的难度大的技术问题。
附图说明
[0072] 图1为本发明爬虫识别方法第一实施例的流程示意图;
[0073] 图2为本发明爬虫识别方法中将发送所述请求指令的用户端列入所述服务器的黑名单列表中步骤的细化流程示意图;
[0074] 图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
[0075] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0076] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0077] 本发明提供一种爬虫识别方法,在本发明爬虫识别方法的第一实施例中,应用爬虫识别方法的服务器端设置有识别代码,该识别代码对应的识别显示内容在所述服务器端对应页面上处于隐藏显示状态,参照图1,所述爬虫识别方法包括:
[0078] 步骤S10,每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0079] 步骤S20,若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中险。
[0080] 具体步骤如下:
[0081] 步骤S10,每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0082] 需要说明的是,对于普通用户端而言,主要是通过关键字的输入等方式,以在线浏览得到对应的网络信息而不会获取网络信息对应的代码内容。对于爬虫用户端来说,为了在短时间内爬取大量的网络信息,爬虫用户端主要是通过获取目标网站的代码内容,并对代码内容进行显示后得到对应网络信息,用以具体实施例进行说明,若爬虫用户端想要获取淘宝上的网络信息,该爬虫用户端不会与普通用户端一般通过链接的点击、关键字的输入等方式获取,而是直接爬取得到淘宝后台服务端对应的代码内容,得到淘宝各个页面的显示内容。
[0083] 在本实施例中,网站服务器端设置有“蜜糖”即识别代码,该识别代码包括隐藏属性以及显示属性,该识别代码在后台网站服务器端是处于显示的状态,而在网站服务器端的显示页面上是处于隐藏不显示的状态,也就是说,网站后台服务器端具有该识别代码,但是前端页面上不显示该识别代码对应的显示内容。
[0084] 每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令,其中,每接收到用户端向服务器端发送的用于请求网络信息的请求指令时,获取用户端的用户信息,所述请求指令中携带用户信息,所述用户信息包括IP信息,协议栈信息、用户代理UA信息,因而,在接收到新的请求指令后,需要获取新的IP信息、新的协议栈信息、新的用户代理UA信息。需要说明的是,用户信息除了上述的IP信息,协议栈信息、用户代理UA信息外,还包括用户端的识别信息,该识别信息可以是用户端的国际移动用户标识码、电子序列号ESN等。
[0085] 在本实施例中,每检测到请求指令后,判断该请求指令或者对应用户信息所指向的内容是否是包括识别显示内容的网络信息,需要说明的是,在本实施例中,服务器端要在检测到请求指令时,响应该请求指令以判断该请求指令所指向的内容是否为识别显示内容,需要事先在内置的处理器中设置程序段,该程序段表示在检测到请求指令时的处理逻辑,该处理逻辑用于在检测到请求指令时,触发处理器以响应所述请求指令事件,以判断该请求指令所指向的内容是否为识别显示内容。
[0086] 步骤S20,若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
[0087] 在本实施例中,若所述请求指令不是请求包含所述识别显示内容的网络信息的请求指令,所述用户信息对应用户端可能存在爬虫所述服务器端的爬虫风险,也可能不存在爬虫所述服务器端的爬虫风险,若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
[0088] 用以具体实施例进行说明,假若网站为京东,该京东上售卖华为、苹果、小米等手机,为进行反爬虫识别,在京东售卖页面对应后台服务器端页面代码内容中增加了售卖VIVO手机的代码,即在京东售卖页面上是不能看到处于隐藏状态的售卖该VIVO手机的页面内容,但是后台具有售卖VIVO手机的代码,因而,普通用户端也不可能通过点击或者触摸该VIVO手机的页面内容以了解详细售卖情况,并得到对应的网络信息,但是对于爬虫端来说,由于爬虫端是获取对应的页面代码内容的,因而,爬虫端会生成进一步获取VIVO手机对应的售卖信息的请求,因而,若检测到请求获取VIVO手机对应的售卖信息时,则判断对应请求端为爬虫端,并将该爬虫端列入黑名单列表中。
[0089] 其中,参照图2,将发送所述请求指令的用户端列入所述服务器的黑名单列表中,包括:
[0090] 步骤S21,获取所述请求指令对应的用户端的唯一标识码信息,该唯一标识码信息包括所述用户端的电子序列号ESN;
[0091] 在本实施例中,在确定请求指令对应用户端存在爬虫风险后,获取所述请求指令对应的用户端的唯一标识码信息,该唯一标识码信息包括所述用户端的电子序列号ESN,另外,该唯一标识码信息还可以是国际移动设备识别码IMEI、国际移动用户识别码IMSI等。
[0092] 步骤S22,将所述用户端的电子序列号ESN列入至所述服务器端的黑名单列表中。
[0093] 在得到用户端的电子序列号ESN后,将所述用户端的电子序列号ESN列入至所述服务器端的黑名单列表中,该服务器端不再响应黑名单列表中的各个用户端向所述服务器端发送的第一请求,另外,除了用户端的电子序列号ESN外,在服务器端,还可以分别根据用户端的国际移动设备识别码IMEI、国际移动用户识别码IMSI建立黑名单列表。
[0094] 本发明通过每接收到用户端向服务器端发送的用于请求网络信息的请求指令时;判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。需要说明的是,对于爬虫用户端来说,主要是通过获取目标网站的代码内容,对代码内容进行显示后得到对应网络信息,而对于普通用户端而言,主要是在线浏览得到对应的网络信息而不会获取网络信息对应的代码内容,因而在本申请中,网站设置有“蜜糖”即识别代码,该识别代码包括隐藏属性以及显示属性,而该识别代码在网站服务器端的显示页面上是隐藏不显示的,因而,对于普通用户端而言,由于未显示该识别代码对应显示内容,因而普通用户不会请求以得到该识别代码的显示内容,但是由于爬虫用户端是通过获取目标网站的代码内容,对代码内容进行显示后得到对应网络信息,因而,对于爬虫用户端而言,会请求该“蜜糖”即识别代码对应显示内容,因而,若用户端的请求指令,是请求包含所述识别显示内容的网络信息的请求指令,则确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险。因而解决存在爬虫端的识别难度大,爬虫限制的难度大的技术问题。
[0095] 进一步地,本发明提供爬虫识别方法的另一实施例,在该实施例中,所述请求指令中携带用户信息,所述用户信息包括IP信息,协议栈信息、用户代理UA信息;
[0096] 所述判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令步骤之后,所述方法还包括:
[0097] 步骤S30,若所述请求指令不是请求包含所述识别显示内容的网络信息的请求指令,则则基于所述请求指令对应的用户信息,更新当前时间点过去预设时间段内所述服务器端采集的IP信息的第一聚集比例,更新所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例,并获取所述过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例;
[0098] 若所述请求指令不是请求包含所述识别显示内容的网络信息的请求指令,为避免“蜜糖”被爬虫端识别,在本实施例中,还采集过去预设时间段内所述服务器端对应采集的多个用户信息,通过采集的多个用户信息判断是否存在爬虫端通过不断切换代理IP和UA信息等进行爬虫,以获取服务器端对应的网络信息。
[0099] 具体地,在本实施例中,只要每次获取请求指令,即获取对应新的请求指令对应的用户信息,在得到请求指令对应的用户信息后,即执行更新过去预设时间段内所述服务器端采集的IP信息的第一聚集比例,更新所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例,并更新所述过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例的步骤,也就是说,只要检测到新的请求指令,即需要更新第一聚集比例,第二聚集比例以及第三聚集比例。其中,网站服务器端获取第一聚集比例,第二聚集比例以及第三聚集比例而不是单独只获取其中一个聚集比例,因而能够防止错误识别爬虫用户端的情况。
[0100] 其中,所述则基于所述请求指令对应的用户信息,更新当前时间点过去预设时间段内所述服务器端采集的IP信息的第一聚集比例步骤包括:
[0101] 步骤S31,基于所述请求指令对应用户信息,获取所述当前时间点过去预设时间段内所述服务器端所采集的各个用户端的IP段;
[0102] 在本实施例中,在检测到用户端向服务器端发送请求网络信息的请求指令时,通过前端JS实时获取请求指令对应用户端的IP段信息,在获取得到该第一请求对应的用户端IP段信息后,还需要获取距离当前时间点对应过去预设时间段内,所述服务器端所采集的其它各个请求指令对应的其它各个用户端的IP段。
[0103] 步骤S32,对所述各个用户端的IP段进行有序排列,获取连续IP段在所述各个用户端的IP段中所占的第一占比;
[0104] 在得到所述过去预设时间段内,所述服务器端所采集的各个用户端的IP段后,对该各个用户端的IP段进行有序排列,具体地,根据IP段首位标识位置上数字的大小进行排序,在首位标识位置上的数字相同时,根据次位标识位置上数字的大小进行排序,以此类推,直至完成各个用户端的IP段的排序,如A用户端IP段为119.123.67.249,D用户端IP段为116.30.198.37,则119.123.67.249排序在前,116.30.198.37排序在后(9大于6),在有序排列后,判断各个用户端的IP段是否是连续(包括相同的IP段),如A用户端的IP段为
119.123.67.249,B用户端的IP段为119.123.67.250,C用户端的IP段为119.123.67.251,则很显然A用户端、B用户端、C用户端的IP是连续的,除了判断各个用户端的IP段是否是连续的外,还需要判断各个用户端的IP段是否是相同的,以得到连续IP段(包括相同的IP段)在所述各个用户端的IP段中所占的第一占比。用以具体实施例进行说明,在过去预设时间段内访问服务器端的连续IP段为5个,总的用户端的数目为10个,则第一占比为50%。
[0105] 另外,在得到第一占比过程中,还可以根据各个用户端IP段所属地区信息,对所述过去预设时间段内相应各个用户端进行区域分类,以得到同一区域中各个用户端的IP段,在得到同一区域中各个用户端的IP段后,对所述过去预设时间段内同一区域中各个用户端的IP段进行有序排列,获取所述过去预设时间段内连续IP段在所述同一区域中各个用户端的IP段中所占的第一子占比,以最终得到所述过去预设时间段内不同区域分别对应的各个第一子占比,在得到各个第一子占比后,通过平均处理各个第一子占比的方式,即可得到所述过去预设时间段内连续IP段在所述各个用户端的IP段中所占的第一占比。
[0106] 步骤S33,将所述第一占比设为所述过去预设时间段内所述服务器端对应采集IP信息的第一聚集比例。
[0107] 在得到第一占比后,将所述第一占比设为所述过去预设时间段内所述服务器端对应IP信息的第一聚集比例。
[0108] 在本实施例中,在得到第一聚集比例后,还通过对用户端协议栈匹配排查方式,得到所述过去预设时间段内网站服务器端采集的协议栈信息的第二聚集比例,以判断所述过去预设时间段内网站服务器端,接收到的第一请求中是否含有同一用户端的多次的有规律的请求或同一用户端切换IP伪装后进行的多次的有规律的请求,具体地,排查过程为:根据接收不同第一请求对应的各个接收时间间隔、各个用户端第一请求对应请求包的丢包率来确定所述服务器端采集的协议栈信息的第二聚集比例。
[0109] 在得到第二聚集比例后,还获取所述过去预设时间段内所述服务器端对应用户代理UA信息的第三聚集比例,其中,所述更新所述过去预设时间段内所述服务器端采集的用户代理UA信息的第三聚集比例步骤包括:
[0110] 步骤S34,获取所述过去预设时间段内,所述服务器端采集到的各个用户端所使用的各个操作系统及版本、CPU类型、浏览器及版本的信息,以得到所述操作系统及版本、CPU类型、浏览器及版本完全相同的用户端的数目;
[0111] 需要说明的是,用户代理UA信息包括用户端所使用的操作系统及版本、CPU类型、浏览器及版本的信息等,在得到过去预设时间段内,所述服务器端对应用户代理UA信息后,获取得到各个用户端的操作系统及操作系统版本信息、各个用户端的CPU类型信息、各个用户端的浏览器信息、各个用户端的浏览器版本信息、判断所述操作系统及版本、CPU类型、浏览器及版本完全相同的用户端的数目。
[0112] 步骤S35,获取所述完全相同的用户端的数目占比所有所述服务器端采集到的各个用户端的数目,以得到第三占比;
[0113] 在得到操作系统及版本、CPU类型、浏览器及版本完全相同的用户端的数目后,获取过去预设时间段内,所述完全相同的用户端的数目占比所有所述服务器端采集到的各个用户端的数目,以得到第三占比。
[0114] 步骤S36,将所述第三占比设为所述过去预设时间段内所述服务器端对应用户代理UA信息的第三聚集比例。
[0115] 将所述第三占比设为所述过去预设时间段内所述服务器端对应用户代理UA信息的第三聚集比例。
[0116] 需要说明的是,在本实施例中,第一聚集比例、第二聚集比例、第三聚集比例的获取顺序可以是变化的,并不一定的确定获取顺序。
[0117] 步骤S40,若所述第一聚集比例大于第一预设值、第二聚集比例大于第二预设值且第三聚集比例大于第三预设值时,确定所述服务器端存在被爬虫的风险。
[0118] 在本实施例中,网站服务器端存有第一预设值、第二预设值以及第三预设值,该第一预设值、第二预设值以及第三预设值是可以根据实际情况进行更改的,若所述第一聚集比例大于第一预设值,第二聚集比例大于第二预设值,第三聚集比例大于第三预设值时,确定所述服务器端存在被爬虫的风险,由于在第一聚集比例大于第一预设值,且第二聚集比例大于第二预设值,且第三聚集比例大于第三预设值时,才确定所述服务器端存在被爬虫的风险,因而,能够有效避免爬虫端通过不断切换代理IP和UA信息等进行爬虫,以实现获取服务器端对应的网络信息。
[0119] 进一步地,本发明提供爬虫识别方法的另一实施例,在该实施例中所述更新所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例步骤包括:
[0120] 步骤A1,获取所述过去预设时间段内所述服务器端接收不同第一请求对应的各个接收时间间隔;
[0121] 在本实施例中,获取所述过去预设时间段内,所述服务器端接收不同第一请求对应的各个接收时间间隔,其中,该接收时间间隔可以是规律变化的,对于规律变化的接收时间间隔,需要至少4个或者更多的接收时间间隔相同,如每一秒接收第一请求一次或者是每两秒接收第一请求一次,此时接收时间间隔为一秒或者是两秒,另外,该接收时间间隔也可以不是规律变化的,如接收某第一请求后是两秒后再次接收另一第一请求,并在之后四秒后再次接收其它第一请求,由于此时接收时间间隔是不确定的,因而,该接收时间间隔不是规律变化的。
[0122] 步骤A2,判断所述各个接收时间间隔是否是部分规律变化的,若所述各个接收时间间隔是部分规律变化的,则获取规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比;
[0123] 判断所述各个接收时间间隔是否是部分规律变化的,若所述各个接收时间间隔是部分规律变化的,则获取规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比,例如,若接收时间间隔规律变化的数目为10,而各个接收时间间隔为20个,很显然,第二占比为50%。
[0124] 步骤A3,将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例。
[0125] 所述将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例步骤包括:
[0126] 步骤B1,获取所述过去预设时间段内,所述服务器端接收的不同第一请求对应的各个请求包;
[0127] 另外,在本实施例中,还可以获取所述过去预设时间段内服务器端接收的不同第一请求对应的各个请求包,其中,各个请求包是由各个请求子包构成的,如请求包中可以包括5个子包。
[0128] 步骤B2,获取所述各个请求包中丢失的子包,得到所述各个请求包的丢包率,并获取丢包率相同的所述各个请求包;
[0129] 步骤B3,从丢包率相同的所述各个请求包中,获取得到所述丢失的子包在对应请求包中的发送序号;
[0130] 步骤B4,判断所述发送序号是否相同,若所述发送序号是相同的,则获取所述丢包率相同的所述各个请求包在所有请求包中的请求包比例;
[0131] 由于网络状态的影响,常常会存在丢包的现象,获取所述各个请求包中丢失的子包,得到所述各个请求包的丢包率,并获取丢包率相同的所述各个请求包,需要说明的是,对于同一确定用户端而言,若是进行不同次数的第一请求,但是请求数据包的发送路径、网络状态基本是相同的,因而,丢包率基本相同,且基本都是丢的同一序号的子包,因而需要获取所述丢包率相同的所述各个请求包在所有请求包中的请求包比例,以确定同一用户端实际进行的第一请求的数目。
[0132] 步骤B5,判断所述请求包比例是否大于预设请求包比例,若所述请求包比例大于预设请求包比例,则将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例。
[0133] 在得到丢包率相同的所述各个请求包在所有请求包中的请求包比例后,判断所述请求包比例是否大于预设请求包比例,若所述请求包比例大于预设请求包比例,则将所述第二占比设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例,若所述请求包比例小于预设请求包比例,则将所述请求包比例设为所述过去预设时间段内所述服务器端对应协议栈信息的第二聚集比例。
[0134] 在本实施例中,通过获取所述过去预设时间段内所述服务器端依次接收不同请求指令对应的各个接收时间间隔;判断所述各个接收时间间隔是否是部分规律变化的,若所述各个接收时间间隔是部分规律变化的,则获取规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比;将所述第二占比设为所述过去预设时间段内所述服务器端采集的协议栈信息的第二聚集比例。由于通过规律变化的时间间隔对应占比所述所有各个接收时间间隔的第二占比,得到第二聚集比例,因而,能够有效判断是否存在用户端进行伪装后进行服务器端的爬虫现象。
[0135] 参照图3,图3是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
[0136] 本发明实施例爬虫识别设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等终端设备。
[0137] 如图3所示,该爬虫识别设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
[0138] 可选地,该爬虫识别设备还可以包括目标用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路传感器、音频电路、WiFi模块等等。目标用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选目标用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
[0139] 本领域技术人员可以理解,图3中示出的爬虫识别设备结构并不构成对爬虫识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0140] 如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及爬虫识别程序。操作系统是管理和控制爬虫识别设备硬件和软件资源的程序,支持爬虫识别程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与爬虫识别设备中其它硬件和软件之间通信。
[0141] 在图3所示的爬虫识别设备中,处理器1001用于执行存储器1005中存储的爬虫识别程序,实现上述任一项所述的爬虫识别方法的步骤。
[0142] 本发明爬虫识别设备具体实施方式与上述爬虫识别方法各实施例基本相同,在此不再赘述。
[0143] 本发明还提供一种爬虫识别装置,所述爬虫识别装置包括:
[0144] 采集模块,用于每接收到用户端向服务器端发送的用于请求网络信息的请求指令时;
[0145] 判断模块,用于判断所述请求指令是否是请求包含所述识别显示内容的网络信息的请求指令;
[0146] 第一确定模块,用于若所述请求指令是请求包含所述识别显示内容的网络信息的请求指令,确定所述请求指令对应用户端存在爬虫所述服务器端的爬虫风险,并将发送所述请求指令的用户端列入所述服务器的黑名单列表中。
[0147] 本发明爬虫识别装置具体实施方式与上述爬虫识别方法各实施例基本相同,在此不再赘述。
[0148] 本发明提供了一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的爬虫识别方法的步骤。
[0149] 本发明可读存储介质具体实施方式与上述爬虫识别方法各实施例基本相同,在此不再赘述。
[0150] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利处理范围内。
相关专利内容
标题 发布/更新时间 阅读量
请求路由 2020-05-11 143
准同步预留请求 2020-05-12 634
请求处理技术 2020-05-12 763
增补信息请求 2020-05-12 21
请求额外频谱 2020-05-12 93
自动再发送请求 2020-05-13 356
自动再发送请求 2020-05-13 271
请求式定位 2020-05-11 1039
服务请求处理 2020-05-11 278
取消请求 2020-05-11 287
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈