CN109862018B - 基于用户访问行为的反爬虫方法及系统 - Google Patents
基于用户访问行为的反爬虫方法及系统 Download PDFInfo
- Publication number
- CN109862018B CN109862018B CN201910131052.5A CN201910131052A CN109862018B CN 109862018 B CN109862018 B CN 109862018B CN 201910131052 A CN201910131052 A CN 201910131052A CN 109862018 B CN109862018 B CN 109862018B
- Authority
- CN
- China
- Prior art keywords
- crawler
- user
- target
- access
- target user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种基于用户访问行为的反爬虫方法及系统,方法包括:获取目标用户针对目标网页的历史访问记录,该目标用户为当前发出针对目标网页的访问请求的用户;根据目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定目标用户的第一爬虫可疑等级;若第一爬虫可疑等级满足预设条件,则根据目标用户的历史访问记录,基于预设的第二规则确定目标用户的第二爬虫可疑等级;在第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。本申请能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息。
Description
技术领域
本申请涉及信息安全技术领域,具体涉及一种基于用户访问行为的反爬虫方法及系统。
背景技术
随着互联网及移动互联网的快速发展,无论是互联网公司还是各传统行业都通过网络提供了海量且有价值的数据,这些数据以网站或手机APP服务的形式,公布于互联网上,方便全世界每一个人访问。因此,如何确保在网络环境中公开数据的独有性,不被竞争对手及别有用心的人通过网络爬虫获取是一个重要的研究课题。
现有的反爬虫技术中,一种主流的实现方法是通过为单一ip设置访问次数限制。但是这种方式存在如下缺陷:如果访问次数限制设置过高,可能无法达到防止网络爬虫的目的,如果访问次数限制设置过低,很可能影响正常的用户访问。另一种流行的方式则是在服务器端对一定信息进行加密,客户端上通过JavaScript解密和计算,重新上送服务器端,服务器端校验此值与预期是否相符,来判断客户端是否为爬虫。但是客户端上的JavaScript代码是公开的,极易被人获取和破解,爬虫能够通过计算或内置浏览器引擎来绕过此方式。另外,使用验证码进行人机交互来确认对方的身份也是一种反爬虫的惯用手段。然而频繁和繁琐的验证码输入,会降低用户的使用体验。也就是说,无论是上述哪一种反爬虫技术,均存在无法同时保证正常用户访问行为、网络爬虫识别准确性和识别效率的问题。
因此,亟需一种既不影响正常用户访问行为,又能快速却准确地识别网络爬虫,且难以被爬虫通过技术手段绕过,进而阻断爬虫爬取相关信息的反爬虫方法。
发明内容
针对现有技术中的问题,本申请提供一种基于用户访问行为的反爬虫方法及系统,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息。同时,本申请有如下优势:识别爬虫的方法完全运行在服务器端,爬虫判定结果根据历史数据动态生成,爬虫无法获取判断规则并通过技术手段绕过。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种基于用户访问行为的反爬虫方法,包括:
获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;
根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;
若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个;
在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
进一步地,在所述基于预设的第一规则确定所述目标用户的第一爬虫可疑等级之后,还包括:
若所述目标用户的第一爬虫可疑等级为所述爬虫等级中的最高级,则直接确定当前目标用户的目标爬虫可疑等级为该爬虫等级中的最高级;
相对应的,所述若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,包括:
若所述目标用户的第一爬虫可疑等级不为所述爬虫等级中的最高级,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级。
进一步地,所述获取目标用户针对目标网页的历史访问记录,包括:
接收目标用户发出的针对所述目标网页的访问请求,其中,该访问请求中包含有所述目标用户的用户唯一标识;
根据所述目标用户的用户唯一标识在预设的历史数据库中获取该目标用户针对目标网页的历史访问记录,其中,所述历史数据库用于存储用户唯一标识与用户针对目标网页的历史访问记录之间的一对多对应关系。
进一步地,根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,包括:
在预存储的爬虫用户黑名单中查找其中是否包含有所述目标用户对应的用户唯一标识,并根据查找结果确定所述目标用户的第一爬虫可疑等级;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的用户唯一标识与所述爬虫等级之间的一一对应关系。
进一步地,所述历史访问记录中包含有目标用户在预设时间内访问所述目标网页的次数;
根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,包括:
在多个预设的访问次数区间中,确定所述目标用户在预设时间内访问所述目标网页的次数所属的目标访问次数区间,并将目标访问次数区间对应的所述爬虫等级作为所述目标网页对应的第一爬虫可疑等级;
其中,所述访问次数区间与所述爬虫等级之间为一对一或多对一的关系。
进一步地,所述访问请求中包含有目标用户的用户代理标识;
所述根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,包括:
识别所述目标用户的用户代理标识是否为预存的浏览器标识中一个,并根据识别结果确定所述目标网页对应的第一爬虫可疑等级。
进一步地,所述历史访问记录中包含有目标用户针对目标网页的前一访问网页的标识,其中,该前一访问网页与所述目标网页属于同一服务提供方;
所述根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,包括:
根据预设的各个网页的标识与各个高概率标识之间的对应关系,确定所述前一访问网页是否对应有的高概率标识,其中,该高概率标识有多种等级;
基于所述高概率标识的等级确定所述目标用户的第二爬虫可疑等级。
进一步地,所述历史访问记录中还包含有目标用户在预设时段内的多个历史访问网页的标识和访问次数,其中,所述历史访问网页与所述目标网页属于同一服务提供方;
所述根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,包括:
根据所述目标用户在预设时段内的多个历史访问网页的标识和访问次数,基于预设的各个网页的标识与各个高概率标识之间的对应关系,确定各个等级的高概率标识分别对应的历史访问网页的访问次数;
基于各个等级的高概率标识分别对应的历史访问网页的访问次数,确定所述目标用户的第二爬虫可疑等级。
进一步地,在所述基于预设的第二规则确定所述目标用户的第二爬虫可疑等级之前,还包括:
获取不存在爬虫嫌疑的多个用户的历史访问数据,其中,所述历史访问数据中包含有至少一对所述目标网页与对应的前一访问网页;
根据所述历史访问数据,确定各个所述目标网页对应的前一访问网页的访问概率;
基于各个所述访问概率所属的数值区间,确定各个所述目标网页对应的前一访问网页对应的高概率标识。
进一步地,还包括:
将所述目标用户的目标爬虫可疑等级存储至爬虫用户黑名单;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的唯一标识与所述爬虫等级之间的一一对应关系。
进一步地,还包括:
将所述目标用户的目标爬虫可疑等级发送至所述目标用户针对所述目标网页的访问请求的发送方,使得该发送方根据目标用户的目标爬虫可疑等级,确定返回至所述目标用户是否为所述目标网页。
第二方面,本申请提供一种基于用户访问行为的反爬虫系统,包括:
数据接收输入模块,用于获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;
反爬虫判断模块,具体包括:简要规则判断单元、行为规则判断单元和目标等级确定单元;
所述简要规则判断单元,用于根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;
所述行为规则判断单元,用于若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个;
所述目标等级确定单元,用于在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
进一步地,所述反爬虫判断模块还包括:
最高级确定单元,用于若所述目标用户的第一爬虫可疑等级为所述爬虫等级中的最高级,则直接确定当前目标用户的目标爬虫可疑等级为该爬虫等级中的最高级;
相对应的,所述行为规则判断单元具体用于执行下述步骤:
若所述目标用户的第一爬虫可疑等级不为所述爬虫等级中的最高级,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级。
进一步地,所述数据接收输入模块具体用于执行下述步骤:
接收目标用户发出的针对所述目标网页的访问请求,其中,该访问请求中包含有所述目标用户的用户唯一标识;
根据所述目标用户的用户唯一标识在预设的历史数据库中获取该目标用户针对目标网页的历史访问记录,其中,所述历史数据库用于存储用户唯一标识与用户针对目标网页的历史访问记录之间的一对多关系。
进一步地,所述简要规则判断单元具体用于执行下述步骤:
在预存储的爬虫用户黑名单中查找其中是否包含有所述目标用户对应的用户唯一标识,并根据查找结果确定所述目标用户的第一爬虫可疑等级;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的用户唯一标识与所述爬虫等级之间的一一对应关系。
进一步地,所述历史访问记录中包含有目标用户在预设时间内访问所述目标网页的次数;
所述简要规则判断单元具体用于执行下述步骤包括:
在多个预设的访问次数区间中,确定所述目标用户在预设时间内访问所述目标网页的次数所属的目标访问次数区间,并将目标访问次数区间对应的所述爬虫等级作为所述目标网页对应的第一爬虫可疑等级;
其中,所述访问次数区间与所述爬虫等级之间为一对一或多对一的关系。
进一步地,所述访问请求中包含有目标用户的用户代理标识;
所述简要规则判断单元具体用于执行下述步骤包括:
识别所述目标用户的用户代理标识是否为预存的浏览器标识中一个,并根据识别结果确定所述目标网页对应的第一爬虫可疑等级。
进一步地,所述历史访问记录中包含有目标用户针对目标网页的前一访问网页的标识,其中,该前一访问网页与所述目标网页属于同一服务提供方;
所述行为规则判断单元具体用于执行下述步骤包括:
根据预设的各个网页的标识与各个高概率标识之间的对应关系,确定所述前一访问网页是否对应有的高概率标识,其中,该高概率标识有多种等级;
基于所述高概率标识的等级确定所述目标用户的第二爬虫可疑等级。
进一步地,所述历史访问记录中还包含有目标用户在预设时段内的多个历史访问网页的标识和访问次数,其中,所述历史访问网页与所述目标网页属于同一服务提供方;
所述行为规则判断单元具体用于执行下述步骤包括:
根据所述目标用户在预设时段内的多个历史访问网页的标识和访问次数,基于预设的各个网页的标识与各个高概率标识之间的对应关系,确定各个等级的高概率标识分别对应的历史访问网页的访问次数;
基于各个等级的高概率标识分别对应的历史访问网页的访问次数,确定所述目标用户的第二爬虫可疑等级。
进一步地,还包括:反爬虫规则训练模块,用于执行下述步骤:
获取不存在爬虫嫌疑的多个用户的历史访问数据,其中,所述历史访问数据中包含有至少一对所述目标网页与对应的前一访问网页;
根据所述历史访问数据,确定各个所述目标网页对应的前一访问网页的访问概率;
基于各个所述访问概率所属的数值区间,确定各个所述目标网页对应的前一访问网页对应的高概率标识。
进一步地,还包括:
数据存储模块,用于将所述目标用户的目标爬虫可疑等级存储至爬虫用户黑名单;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的唯一标识与所述爬虫等级之间的一一对应关系。
进一步地,还包括:
数据返回输出模块,用于将所述目标用户的目标爬虫可疑等级发送至所述目标用户针对所述目标网页的访问请求的发送方,使得该发送方根据目标用户的目标爬虫可疑等级,确定返回至所述目标用户是否为所述目标网页。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于用户访问行为的反爬虫方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于用户访问行为的反爬虫方法的步骤。
由上述技术方案可知,本申请提供一种基于用户访问行为的反爬虫方法及系统,通过获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个;在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息,提高目标访问数据的安全性,并通过数据分析建立正常用户访问行为的模型与规则,通过规则进行判断,有效识别出爬虫,提升爬虫识别率的同时,提升用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为在线业务系统接入反爬虫系统结构简示图。
图2为本申请实施例中的基于用户访问行为的反爬虫方法的流程示意图。
图3为本申请实施例中的包含有步骤A00的基于用户访问行为的反爬虫方法的流程示意图。
图4为本申请实施例中的基于用户访问行为的反爬虫方法中步骤100的流程示意图。
图5为本申请中的基于用户访问行为的反爬虫方法中步骤200的第一种实施例的流程示意图。
图6为本申请中的基于用户访问行为的反爬虫方法中步骤200的第二种实施例的流程示意图。
图7为本申请中的基于用户访问行为的反爬虫方法中步骤200的第三种实施例的流程示意图。
图8为本申请中的基于用户访问行为的反爬虫方法中步骤300的第一种实施例的流程示意图。
图9为本申请中的基于用户访问行为的反爬虫方法中步骤300的第二种实施例的流程示意图。
图10为本申请中的基于用户访问行为的反爬虫方法中步骤B01和B02的流程示意图。
图11为本申请实施例中的包含有步骤500的基于用户访问行为的反爬虫方法的流程示意图。
图12为本申请实施例中的包含有步骤600的基于用户访问行为的反爬虫方法的流程示意图。
图13为本申请实施例中的基于用户访问行为的反爬虫系统的结构示意图。
图14为本申请实施例中的包含有反爬虫规则训练模块5的基于用户访问行为的反爬虫系统的结构示意图。
图15为本申请实施例中的包含有数据存储模块2的基于用户访问行为的反爬虫系统的结构示意图。
图16为本申请实施例中的包含有数据返回输出模块4的基于用户访问行为的反爬虫系统的结构示意图。
图17为本申请应用实例中的一种基于用户访问行为的反爬虫系统的结构图。
图18-1为本申请应用实例中的数据存储模块的结构图。
图18-2为本申请应用实例中的数据存储模块的数据模型图。
图19为本申请应用实例中的反爬虫判断模块的结构图。
图20为本申请应用实例中的反爬虫规则训练模块的结构图。
图21为本申请应用实例中的基于用户访问行为的反爬虫系统执行基于用户访问行为的反爬虫方法的流程图。
图22为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有的反爬虫方法存在的无法同时保证正常用户访问行为、网络爬虫识别准确性和识别效率的问题,本申请提供一种基于用户访问行为的反爬虫方法、基于用户访问行为的反爬虫系统、电子设备和计算机可读存储介质,通过获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;以及,若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个;在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息,提高目标访问数据的安全性,并通过数据分析建立正常用户访问行为的模型与规则,通过规则进行判断,有效识别出爬虫,提升爬虫识别率的同时,提升用户体验。
基于上述内容,本申请还提供一种基于用户访问行为的反爬虫系统102,参见图1,该反爬虫系统102与至少一个在线业务系统101通信连接,具体可以通过各自的应用服务器互相访问。
其中,用户可以经由持有的客户端设备直接访问在线业务系统101。在线业务系统101为一般的在线业务系统,如web网站或通过web和手机app联合提供服务在线业务系统。一个在线业务系统101一般包含web服务器、应用服务器和数据库服务器。
基于用户访问行为的反爬虫系统102,为在线业务系统101提供爬虫识别服务的系统。基于用户访问行为的反爬虫系统102应用服务器异步的通过在线业务系统101的应用服务器获取到用户访问信息,根据访问信息在反爬虫数据库服务器检索历史访问记录及用户访问习惯模型,判断该用户是否为爬虫,并将判断结果反馈给在线业务系统101的应用服务器。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在一种实际应用情形中,前述的在线业务系统101和基于用户访问行为的反爬虫系统102也可以集成为同一服务器,也就是说,该服务器即可以直接获取用户的访问请求,也可以进行基于用户访问行为的反爬虫处理,具体可以根据实际应用情形设置,本申请对此不作限定。
在另一实际应用情形中,进行基于用户访问行为的反爬虫的部分可以在如上述内容所述的基于用户访问行为的反爬虫系统102侧执行,即,如图1所示的架构,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于进行基于用户访问行为的反爬虫的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。例如,通信单元可以将上述目标用户针对目标网页的历史访问记录发送至服务器,以便服务器根据这些相关数据进行基于用户访问行为的爬虫识别。通信单元还可以接收服务器返回的识别结果。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
本申请的基于用户访问行为的反爬虫方法及系统,通过对网站及手机APP服务等在线业务系统访问记录的历史数据进行分析和挖掘,在系统中数据分析建立一般正常用户访问网站的偏好模型和规则,当爬虫访问该网站时,反爬虫判断模块能够有效、及时的加以区分,并给出爬虫可疑等级,反馈给在线业务系统,在线业务系统可以根据自己实际情况采取相应应对措施。从而有效的保护了网站等服务提供方自身的部分公开数据不被随意的爬取。具体通过下述各个实施例及应用实例分别进行详细说明。
为了能够更加准确地保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,本申请提供一种执行主体可以为基于用户访问行为的反爬虫系统的基于用户访问行为的反爬虫方法的实施例,参见图2,所述基于用户访问行为的反爬虫方法具体包含有如下内容:
步骤100:获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户。
可以理解的是,所述基于用户访问行为的反爬虫系统可以直接接收用户针对所述目标网页的访问请求,也可以为:在线业务系统接收用户针对所述目标网页的访问请求,并将该用户针对所述目标网页的访问请求转发至所述基于用户访问行为的反爬虫系统,使得所述基于用户访问行为的反爬虫系统接收用户针对所述目标网页的访问请求。
而后,所述基于用户访问行为的反爬虫系统读取并记录该访问请求对应的数据信息,并应用该数据信息,自预储存的各个用户针对目标网页的历史访问记录中调取该目标用户针对目标网页的历史访问记录。
步骤200:根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级。
在步骤200中,所述基于用户访问行为的反爬虫系统可以根据目标用户对应的历史访问记录中的数据信息,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;也可以根据所述目标用户对应的访问请求中的数据信息,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,还可以根据目标用户对应的历史访问记录中的数据信息和访问请求中的数据信息,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级。
步骤300:若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个。
可以理解的是,爬虫等级是指当前用户对目标网页进行内容爬取的可能性或可疑指数,也即当前用户为网络爬虫的可能性。可以理解的是,所述网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
为了能够进一步依据实际的情况作出更精确的判断,所述爬虫等级根据目标网站或系统的实际应用情形设置为多个级别,级别的数量具体可以为多于两个的任意数值,且各个不同级别之间可以按照由高至低或由低至高的顺序进行划分。
在一种举例中,参见表1,所述爬虫等级可以分为三个等级,由低到高依次分为低、中和高三个等级,等级越高是爬虫的概率越大。
表1
编号 | 爬虫等级 |
1 | 低 |
2 | 中 |
3 | 高 |
在另一种举例中,“非爬虫”这一等级也可以被包含在爬虫等级的划分中,基于此,在首次获取一目标用户的访问请求时,记录当前访问记录的信息,爬虫等级即可以默认记录为“非爬虫”。经反爬虫系统判定后,即可以在同一记录中更新爬虫等级字段,进而能够进一步提高反爬虫识别效率,参见表2,所述爬虫等级可以分为四级,由低到高依次分为非爬虫、低、中、高四个等级,等级越高是爬虫的概率越大。
表2
编号 | 爬虫等级 |
1 | 非爬虫 |
2 | 低 |
3 | 中 |
4 | 高 |
步骤400:在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
可以理解的是,通过步骤200获取的所述第一爬虫可疑等级和通过步骤300获取的第二爬虫可疑等级各自所述的爬虫等级可以相同也可以不同,若第一爬虫可疑等级和第二爬虫可疑等级不同,则在二者中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。若第一爬虫可疑等级和第二爬虫可疑等级相同,则二者的爬虫等级均可以被认定为较高级别。
举例来说,若第一爬虫可疑等级为:“爬虫等级为非爬虫”,第二爬虫可疑等级为:“爬虫等级为低”,则选取“爬虫等级为低”作为该目标用户当前的目标爬虫可疑等级。
在另一种举例中,若第一爬虫可疑等级和第二爬虫可疑等级均为:“爬虫等级为非爬虫”,则选取该“爬虫等级为非爬虫”作为该目标用户当前的目标爬虫可疑等级。
从上述描述可知,本申请实施例提供的基于用户访问行为的反爬虫方法,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息,提高目标访问数据的安全性,并通过数据分析建立正常用户访问行为的模型与规则,通过规则进行判断,有效识别出爬虫,提升爬虫识别率的同时,提升用户体验。
为了能够在不影响该实施例的爬虫识别准确性的基础上,再进一步提高爬虫识别的效率,在本申请的基于用户访问行为的反爬虫方法的一实施例中,在步骤200与步骤300之间,还可以具体包含有第一爬虫可疑等级结果的判断步骤,参见图3,该第一爬虫可疑等级结果的判断步骤具体包含有如下内容:
步骤A00:若所述目标用户的第一爬虫可疑等级为所述爬虫等级中的最高级,则直接确定当前目标用户的目标爬虫可疑等级为该爬虫等级中的最高级。
相对应的,所述步骤300具体包含有如下内容:
步骤310:若所述目标用户的第一爬虫可疑等级不为所述爬虫等级中的最高级,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级。
为了能够有效保证正常用户访问行为的同时,进一步有效提高网络爬虫的识别准确性和识别效率,在本申请的基于用户访问行为的反爬虫方法的一实施例中,参见图4,所述基于用户访问行为的反爬虫方法中的步骤100具体包含有如下内容:
步骤110:接收目标用户发出的针对所述目标网页的访问请求,其中,该访问请求中包含有所述目标用户的用户唯一标识。
步骤120:根据所述目标用户的用户唯一标识在预设的历史数据库中获取该目标用户针对目标网页的历史访问记录,其中,所述历史数据库用于存储用户唯一标识与用户针对目标网页的历史访问记录之间的一对多关系。
在上述实施例中,所述访问请求中包含有所述目标用户的用户唯一标识,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫方法中步骤200的第一种实施例,参见图5,所述步骤200的第一种实施例具体包含有如下内容:
步骤211:在预存储的爬虫用户黑名单中查找其中是否包含有所述目标用户对应的用户唯一标识,并根据查找结果确定所述目标用户的第一爬虫可疑等级。
可以理解的是,所述爬虫用户黑名单用于存储各个所述用户对应的用户唯一标识与所述爬虫等级之间的一一对应关系。
在一实施例中,所述历史访问记录中包含有目标用户在预设时间内访问所述目标网页的次数,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫方法中步骤200的第二种实施例,参见图6,所述步骤200的第二种实施例具体包含有如下内容:
步骤212:在多个预设的访问次数区间中,确定所述目标用户在预设时间内访问所述目标网页的次数所属的目标访问次数区间,并将目标访问次数区间对应的所述爬虫等级作为所述目标网页对应的第一爬虫可疑等级。
可以理解的是,所述访问次数区间与所述爬虫等级之间为一对一或多对一的关系。
在另一实施例中,所述访问请求中包含有目标用户的用户代理标识,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫方法中步骤200的第三种实施例,参见图7,所述步骤200的第三种实施例具体包含有如下内容:
步骤213:识别所述目标用户的用户代理标识是否为预存的浏览器标识中一个,并根据识别结果确定所述目标网页对应的第一爬虫可疑等级。
可以理解的是,在上述步骤200的三个实施例中,所述基于用户访问行为的反爬虫系统可以根据访问请求中包含的具体信息选取对应的任一实施例获取第一爬虫可疑等级。
为了能够提高第一爬虫可疑等级的获取角度,所述访问请求中可以包含有用户唯一标识、目标用户在预设时间内访问所述目标网页的次数和用户代理标识,其中,所述用户唯一标识可以包含有:访问客户session唯一标识、访问页面地址URL、访问客户ip中的至少一项。
在一种举例中,所述访问请求字段可以包括:访问时间、访问客户session唯一标识、访问页面地址URL、访问客户ip、HTTP报文首部中的cookie、from、referer以及默认的爬虫可疑等级。
在一实施例中,所述历史访问记录中包含有目标用户针对目标网页的前一访问网页的标识,其中,该前一访问网页与所述目标网页属于同一服务提供方,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫方法中步骤300的第一种实施例,参见图8,所述步骤300的第一种实施例具体包含有如下内容:
步骤311:根据预设的各个网页的标识与各个高概率标识之间的对应关系,确定所述前一访问网页是否对应有的高概率标识,其中,该高概率标识有多种等级。
步骤312:基于所述高概率标识的等级确定所述目标用户的第二爬虫可疑等级。
在上述步骤300的第一种实施例的基础上,为了进一步有效提高网络爬虫的识别准确性,且若所述历史访问记录中还包含有目标用户在预设时段内的多个历史访问网页的标识和访问次数,其中,所述历史访问网页与所述目标网页属于同一服务提供方,则在本申请提供一种基于用户访问行为的反爬虫方法中步骤300的第二种实施例,参见图9,所述步骤300的第二种实施例具体包含有如下内容:
步骤321:根据所述目标用户在预设时段内的多个历史访问网页的标识和访问次数,基于预设的各个网页的标识与各个高概率标识之间的对应关系,确定各个等级的高概率标识分别对应的历史访问网页的访问次数。
步骤322:基于各个等级的高概率标识分别对应的历史访问网页的访问次数,确定所述目标用户的第二爬虫可疑等级。
由于上述步骤300的第一种实施例和第二实施例中均涉及高概率标识,因此,在所述基于用户访问行为的反爬虫方法的步骤300之前,还包含有用于获取高概率标识的数据训练的步骤,参见图10,所述基于用户访问行为的反爬虫方法还具体包含有如下内容:
步骤B01:获取不存在爬虫嫌疑的多个用户的历史访问数据,其中,所述历史访问数据中包含有至少一对所述目标网页与对应的前一访问网页。
步骤B02:根据所述历史访问数据,确定各个所述目标网页对应的前一访问网页的访问概率。
步骤B03:基于各个所述访问概率所属的数值区间,确定各个所述目标网页对应的前一访问网页对应的高概率标识。
为了在有效提高网络爬虫的识别准确性和识别效率的同时,还能够通过识别结果的存储来更进一步地提高爬虫识别的可靠性,在本申请的基于用户访问行为的反爬虫方法的一实施例中,参见图11,在步骤A00或者步骤400之后,还具体包含有如下内容:
步骤500:将所述目标用户的目标爬虫可疑等级存储至爬虫用户黑名单。
其中,所述爬虫用户黑名单用于存储各个所述用户对应的唯一标识与所述爬虫等级之间的一一对应关系。
为了在有效提高网络爬虫的识别准确性和识别效率的同时,还能够通过识别结果的输出来更进一步地提高爬虫识别的可靠性及用户体验,在本申请的基于用户访问行为的反爬虫方法的一实施例中,参见图12,在步骤500之后,还具体包含有如下内容:
步骤600:将所述目标用户的目标爬虫可疑等级发送至所述目标用户针对所述目标网页的访问请求的发送方,使得该发送方根据目标用户的目标爬虫可疑等级,确定返回至所述目标用户是否为所述目标网页。
在一种举例中,所述目标用户针对所述目标网页的访问请求的发送方可以为前述的在线业务系统101。
为了能够更加准确地保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,本申请提供一种用于实现所述基于用户访问行为的反爬虫方法的全部或部分内容的基于用户访问行为的反爬虫系统的实施例,参见图13,所述基于用户访问行为的反爬虫系统具体包含有如下内容:
数据接收输入模块1,用于获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;
反爬虫判断模块3,具体包括:简要规则判断单元31、行为规则判断单元32和目标等级确定单元33。
所述简要规则判断单元31,用于根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级。
所述行为规则判断单元32,用于根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个。
所述目标等级确定单元33,用于在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
从上述描述可知,本申请实施例提供的基于用户访问行为的反爬虫系统,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息,提高目标访问数据的安全性,并通过数据分析建立正常用户访问行为的模型与规则,通过规则进行判断,有效识别出爬虫,提升爬虫识别率的同时,提升用户体验。
为了能够在不影响该实施例的爬虫识别准确性的基础上,再进一步提高爬虫识别的效率,在本申请的基于用户访问行为的反爬虫系统的一实施例中,该反爬虫判断模块3还具体包含有如下内容:
最高级确定单元34,用于若所述目标用户的第一爬虫可疑等级为所述爬虫等级中的最高级,则直接确定当前目标用户的目标爬虫可疑等级为该爬虫等级中的最高级。
相对应的,所述行为规则判断单元32具体用于执行下述步骤:
若所述目标用户的第一爬虫可疑等级不为所述爬虫等级中的最高级,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级。
为了能够有效保证正常用户访问行为的同时,进一步有效提高网络爬虫的识别准确性和识别效率,在本申请的基于用户访问行为的反爬虫系统的一实施例中,所述基于用户访问行为的反爬虫系统中的数据接收输入模块1具体用于执行下述步骤:
接收目标用户发出的针对所述目标网页的访问请求,其中,该访问请求中包含有所述目标用户的用户唯一标识;
根据所述目标用户的用户唯一标识在预设的历史数据库中获取该目标用户针对目标网页的历史访问记录,其中,所述历史数据库用于存储用户唯一标识与用户针对目标网页的历史访问记录之间的一对多关系。
在上述实施例中,所述访问请求中包含有所述目标用户的用户唯一标识,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫系统中简要规则判断单元31的第一种实施例,所述简要规则判断单元31的第一种实施例具体用于执行下述步骤:
在预存储的爬虫用户黑名单中查找其中是否包含有所述目标用户对应的用户唯一标识,并根据查找结果确定所述目标用户的第一爬虫可疑等级;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的用户唯一标识与所述爬虫等级之间的一一对应关系。
在一实施例中,所述历史访问记录中包含有目标用户在预设时间内访问所述目标网页的次数,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫系统中简要规则判断单元31的第二种实施例,所述简要规则判断单元31的第二种实施例用于执行下述步骤包括:
在多个预设的访问次数区间中,确定所述目标用户在预设时间内访问所述目标网页的次数所属的目标访问次数区间,并将目标访问次数区间对应的所述爬虫等级作为所述目标网页对应的第一爬虫可疑等级。
其中,所述访问次数区间与所述爬虫等级之间为一对一或多对一的关系。
在另一实施例中,所述访问请求中包含有目标用户的用户代理标识,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫系统中简要规则判断单元31的第三种实施例,所述简要规则判断单元31的第三种实施例具体用于执行下述步骤:
识别所述目标用户的用户代理标识是否为预存的浏览器标识中一个,并根据识别结果确定所述目标网页对应的第一爬虫可疑等级。
在一实施例中,所述历史访问记录中包含有目标用户针对目标网页的前一访问网页的标识,其中,该前一访问网页与所述目标网页属于同一服务提供方,基于此,为了进一步有效提高网络爬虫的识别准确性和识别效率,在本申请提供一种基于用户访问行为的反爬虫系统中行为规则判断单元32的第一种实施例,所述行为规则判断单元32的第一种实施例具体用于执行下述步骤:
根据预设的各个网页的标识与各个高概率标识之间的对应关系,确定所述前一访问网页是否对应有的高概率标识,其中,该高概率标识有多种等级;
基于所述高概率标识的等级确定所述目标用户的第二爬虫可疑等级。
在上述行为规则判断单元32的第一种实施例的基础上,为了进一步有效提高网络爬虫的识别准确性,且若所述历史访问记录中还包含有目标用户在预设时段内的多个历史访问网页的标识和访问次数,其中,所述历史访问网页与所述目标网页属于同一服务提供方,则在本申请提供一种基于用户访问行为的反爬虫系统中行为规则判断单元32的第二种实施例,所述行为规则判断单元32的第二种实施例具体用于执行下述步骤:
根据所述目标用户在预设时段内的多个历史访问网页的标识和访问次数,基于预设的各个网页的标识与各个高概率标识之间的对应关系,确定各个等级的高概率标识分别对应的历史访问网页的访问次数;
基于各个等级的高概率标识分别对应的历史访问网页的访问次数,确定所述目标用户的第二爬虫可疑等级。
由于上述行为规则判断单元32的第一种实施例和第二实施例中均涉及高概率标识,因此,所述基于用户访问行为的反爬虫系统中还包含有反爬虫规则训练模块5,参见图14,所述反爬虫规则训练模块5,用于执行下述步骤:
获取不存在爬虫嫌疑的多个用户的历史访问数据,其中,所述历史访问数据中包含有至少一对所述目标网页与对应的前一访问网页;
根据所述历史访问数据,确定各个所述目标网页对应的前一访问网页的访问概率;
基于各个所述访问概率所属的数值区间,确定各个所述目标网页对应的前一访问网页对应的高概率标识。
为了在有效提高网络爬虫的识别准确性和识别效率的同时,还能够通过识别结果的存储来更进一步地提高爬虫识别的可靠性,在本申请的基于用户访问行为的反爬虫系统的一实施例中,参见图15,所述基于用户访问行为的反爬虫系统还具体包含有如下内容:
数据存储模块2,用于将所述目标用户的目标爬虫可疑等级存储至爬虫用户黑名单;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的唯一标识与所述爬虫等级之间的一一对应关系。
为了在有效提高网络爬虫的识别准确性和识别效率的同时,还能够通过识别结果的输出来更进一步地提高爬虫识别的可靠性及用户体验,在本申请的基于用户访问行为的反爬虫系统的一实施例中,参见图16,还具体包含有如下内容:
数据返回输出模块4,用于将所述目标用户的目标爬虫可疑等级发送至所述目标用户针对所述目标网页的访问请求的发送方,使得该发送方根据目标用户的目标爬虫可疑等级,确定返回至所述目标用户是否为所述目标网页。
为了更进一步说明本方案,本申请还提供一种应用上述基于用户访问行为的反爬虫系统实现基于用户访问行为的反爬虫方法的具体应用实例,具体包含有如下内容:
1、反爬虫系统结构
参见图17,是一种基于用户访问行为的反爬虫系统结构图,部署在图1中的爬虫判断系统102上,该系统通过历史用户访问的情况进行数据分析挖掘,建立正常人类用户的访问习惯模型与规则,通过判断当前访问用户是否与之相符,从而判断并输出该用户是否为爬虫。
该系统包括:数据接收输入模块1,数据存储模块2,反爬虫判断模块3,数据返回输出模块4,反爬虫规则训练模块5。数据接收输入模块1与数据存储模块2相连,数据存储模块2与反爬虫规则训练模块5、反爬虫判断模块3、数据返回输出模块4相连。爬虫判断模块3与数据存储模块2、数据返回输出模块4相连。
1)数据接收输入模块1
该模块用于接收在线业务系统101提供的用户访问信息。即:在线业务系统101在接收到用户的HTTP请求后,对HTTP请求数据异步的传输给数据接收输入模块1,数据接收输入模块1接收后,记录此数据到数据存储模块2中的当前访问记录存储单元21。记录的数据信息包括:访问页面地址URL,访问时间,HTTP报文重要首部(HEADER)信息(包括user-agent,client-ip,cookie,from,referer)。
2)数据存储模块2
数据存储模块2部署在系统102中的反爬虫数据库服务器上,用于存储反爬虫系统102需要和使用的各类信息,包括如下存储单元,如图18-1,下面各存储单元的详细数据模型见图18-2:
A)当前访问记录存储单元21:由数据接收输出模块1获取到当前用户访问信息,储存于此单元。储存字段应包括访问时间、访问客户session唯一标识、访问页面地址URL、访问客户ip、HTTP报文首部中的储存在用户本地终端上的数据cookie、表单from、来源链接referer、爬虫可疑等级,如图18-2。其中,参见图21的反爬虫系统流程图,步骤11.3记录当前访问记录的信息,爬虫可疑等级默认记录“非爬虫”。经反爬虫系统判定后,步骤11.11在同一记录中更新爬虫可疑等级字段。
B)历史访问记录存储单元22:当前访问记录存储单元21超过一定范围时间的数据,如1天前的数据,归档保留储存于此单元,间接用于历史数据分析挖掘,数据结构与当前访问记录存储单元21一致,如图18-2。
C)挖掘分析基础数据存储单元23:历史访问记录存储单元22由反爬虫规则训练模块5,剔除清洗可疑爬虫信息后,额外储存的信息副本储存于此单元,直接用于历史数据分析挖掘,并建立反爬虫规则。如图18-2。
D)黑名单列表存储单元24:由反爬虫判断模块3判断多次为爬虫的用户ip地址,记录黑名单列表,储存于此单元。储存字段包括访问客户session唯一标识、访问客户ip。如图18-2。
E)行为规则数据存储单元25:由反爬虫规则训练模块5进行数据分析挖掘后,生成的判断规则,储存于此单元。储存字段包括访问客户session唯一标识、访问页面地址URL、客户访问的上一页面URL、客户访问的上一页面概率、高概率标识。如图18-2,记录针对在线业务系统101中的一个访问页面URL,一个正常人类客户,可能访问的上一个页面URL列表,以及每个上一页面URL的访问概率。具体逻辑见反爬虫规则训练模块5。
3)反爬虫判断模块3
该模块获取数据接收输入模块1记录到数据存储模块的访问信息,依据反爬虫规则训练模块5进行数据分析挖掘后建立的模型和判断规则,对用户访问数据进行判断,判断该访问用户是否为爬虫,输出爬虫可疑等级给数据返回输出模块4。该模块由简要规则判断单元31、行为规则判断单元32两个子单元构成,简要规则判断单元31与行为规则判断单元32相连,简要规则判断单元31提供进一步待判断的用户访问记录给行为规则判断单元32,如图19所示。
为确保反爬虫判断模块3能够依据实际的情况作出更精确的判断。而不是非黑即白的判断是否是爬虫。引入爬虫可疑等级概念。爬虫可疑等级由低到高依次分为非爬虫、低、中、高四个等级,等级越高是爬虫的概率越大。
在线业务系统101可根据爬虫可疑等级,执行相应的操作。如:爬虫可疑等级为低等级,则终止用户访问时间15秒;如爬虫可疑等级为中等级,则发起人工身份验证的程序模块,如验证码,图片选择,声音验证码等;如爬虫可疑等级为高等级,则返回访问报错页面,提示用户是机器人。等级和执行策略可根据业务实际情况,由在线业务系统101自行根据实际情况配置调整。
A)简要规则判断单元31:该模块进行简单规则判断,分析接收输入模块1记录到当前访问记录存储单元21的当前用户访问数据,依据以下简要规则进行初步判断是否为爬虫,如是爬虫则生成爬虫可疑等级,如爬虫可疑等级不是高等级则跳转行为规则判断单元32,进一步处理。
简要规则为一般常规手段,主要包括:
1、识别客户端user-agent,检查user-agent是否为常见浏览器的user-agent标识,如果不是,则建议输出爬虫可疑等级为中。
2、识别用户单位时间内访问次数,如超过重度用户的访问频率(可根据业务系统自身实际情况定义,例如通过计算历史访问记录存储单元22的数据,得到访问频率最高的10%用户的平均访问频率),则爬虫可疑等级为中,如远远超过正常人访问次数(可根据业务系统自身实际情况定义,例如重度用户访问频率的2倍),则建议输出爬虫可疑等级为高。
3、检查客户端ip地址是否在黑名单列表存储单元24中的黑名单列表中,如是,则建议输出爬虫可疑等级为高。
B)行为规则判断单元32:该模块分析数据接收简要规则判断单元31提供的待进一步判断的用户访问记录,依据反爬虫规则训练模块5通过数据挖掘分析生成的行为规则数据存储单元25的规则判断,生成爬虫判断结果,即爬虫可疑等级。
具体逻辑为:行为规则判断单元32获取到简要规则判断单元31提供的当前用户访问数据,通过当前访问记录存储单元21,如图18-2,查询访问当前页面地址URL的用户的时间上的上一个页面的”访问页面地址URL”。
行为规则判断单元32通过从行为规则数据存储单元25如图18-2,通过“访问客户session唯一标识”、“访问页面地址URL”、“客户访问的上一页面URL”三个字段进行查询匹配,获取作为一般正常客户的“客户访问的上一页面概率”和“高概率标识”。如“高概率标识”为低,则疑似爬虫,爬虫可疑等级可输出为低。如此用户连续5次访问的不是高概率的页面,则提升爬虫可疑等级为中。如此用户连续10次访问的不是高概率的页面,则提升爬虫可疑等级为高。
行为规则判断单元32和简要规则判断单元31两个单元均会输出爬虫可疑等级,最终输出的结果取两者中爬虫可疑等级更高的一方。
4)数据返回输出模块4
该模块将最终爬虫判断结果,即爬虫可疑等级数据输出,反馈给在线业务系统101的应用服务器。在线业务系统101根据等级进行验证或拒绝访问等相应操作。
该模块如发现输出的爬虫可疑等级为高,则访问黑名单列表存储单元24记录此数据,将该用户加入黑名单。
5)反爬虫规则训练模块5
该模块获取数据接收输入模块1记录到当前访问记录存储单元21并归档到历史访问记录存储单元22的数据,对历史数据,先进行数据清洗生成挖掘分析基础数据存储单元23,然后将数据分析挖掘,形成判断规则生成行为规则数据存储单元25,并提供给行为规则判断单元32使用。该模块分为历史数据清洗单元51、行为规则生成单元52两个子单元,如图20所示。
A)历史数据清洗单元51
本单元用于行为规则生成单元52的数据准备,将历史访问记录存储单元22的数据根据记录的“爬虫可疑等级”字段进行过滤,只保留非爬虫的数据,过滤后的数据记录到挖掘分析基础数据存储单元23。
B)行为规则生成单元52
人类能够看到web或手机登客户端的操作界面而爬虫不能,人类点击页面的顺序有共性的操作习惯,而爬虫可能并不具备。
如图18-2,行为规则数据存储单元25,记录针对在线业务系统101中的一个访问页面URL,一般一个正常人类客户,可能访问的上一个页面URL列表,以及每个上一页面URL的访问概率。
数据分析建模逻辑:
如图18-2,挖掘分析基础数据存储单元23,根据主键,在本表中自关联检索,获取时间顺序上的上一次访问记录,获取“客户访问的上一页面URL”、“客户访问的上一页面时间”两个字段更新到本表中。
以“访问页面地址URL”为维度对数据分组,针对每一组统计计算数量总和以字母M表示;以“访问页面地址URL”、“客户访问的上一页面URL”为维度进行两次分组,针对每一分组统计计算数量总和,以字母N表示;针对指定“访问页面地址URL”,一个正常客户,访问到“客户访问上一页面URL”的概率以字母P表示。则P=N/M*100%。
行为规则生成单元52,根据以上计算逻辑,将数据计算处理后存储到图18-2中的行为规则数据存储单元25。如P大于5%则“高概率标识”记录为是。
补充说明:为确保数据的有效性,数据接收输入模块1储存于历史访问记录存储单元22的建议数据时间范围为4周,如在线系统访问量较大,则可适当缩短基础数据时间,如在线系统访问量较小,则可适当扩大基础数据时间范围。
如在线业务系统101用户操作界面有较大修改,可能会对一般正常客户的页面操作习惯产生变化,建议修改后达到时间范围后,重新进行数据训练,再应用此判断规则。
2、反爬虫系统流程图
图21是本申请的基于用户访问行为的反爬虫方法流程图,包括:
步骤11.1:用户(或者是爬虫)从浏览器等客户端对web系统发起访问请求后,在线业务系统101向反爬虫系统102发起爬虫鉴别请求。
步骤11.2:数据接收输入模块1接收用户访问数据并传递到当前访问记录存储单元21。
步骤11.3:当前访问记录存储单元21记录当前用户的访问信息。
步骤11.4:简要规则判断单元31获取黑名单列表存储单元24。
步骤11.5:简要规则判断单元31,根据用户访问行为,进行简单规则如user-agent标识识别、用户访问频率判断、是否在黑名单中等手段判断,如判断是爬虫可疑等级为高,则直接标记爬虫可疑等级,并跳转到步骤11.8;如判断出爬虫可疑等级不是高等级,需进一步进行规则判断,则跳转到11.6。
步骤11.6:行为规则判断单元32,根据用户访问信息,在行为规则数据存储单元25中获取规则。
步骤11.7:行为规则判断单元32根据规则进行判断。具体判断逻辑见行为规则判断单元32模块介绍。
步骤11.8:行为规则判断单元32和简要规则判断单元31两个单元均会输出爬虫可疑等级,最终输出的结果取两者中爬虫可疑等级更高的一方。输出最终爬虫可疑等级给数据返回输出模块4。数据返回输出模块4将结果反馈给在线业务系统101,执行步骤11.10,同时异步更新用户访问记录的爬虫可疑等级执行步骤11.11。数据返回输出模块4同时判断如果爬虫可疑等级为高,则异步发送此用户ip信息到黑名单列表存储单元24,执行步骤11.9。
步骤11.9:黑名单列表存储单元24记录此用户ip信息到黑名单列表。
步骤11.10:在线业务系统101接收到数据返回输出模块4反馈的爬虫可疑等级信息,根据不同的爬虫可疑等级执行相应的操作和策略,操作和策略可以根据在线业务系统101实际的情况自行配置调整。
步骤11.11:数据返回输出模块4访问记录存储单元21,标记步骤11.3中记录的访问数据,标记此访问的爬虫可疑等级,存储到记录存储单元21中,此标志供后续数据分析挖掘步骤12.2使用。
其中,爬虫判断模块规则训练步骤:
步骤12.1:反爬虫规则训练模块5发起爬虫规则训练。
步骤12.2:历史数据清洗单元51对历史访问记录存储单元22中的历史访问信息进行初步分析,针对在步骤11.11中标记的爬虫可疑等级,如等级是低、中、高)的情况,则对此记录进行剔除,仅保留非爬虫数据。剔除后的数据存入挖掘分析基础数据存储单元23。
步骤12.3:行为规则生成单元52获取挖掘分析基础数据存储单元23数据,分析挖掘历史数据,数据分析逻辑见上文行为规则生成单元52介绍。
步骤12.4:行为规则生成单元52通过步骤12.3的分析,生成爬虫训练后建立的规则信息,记录到行为规则数据存储单元25。
从上述描述可知,本申请的应用实例提供了一种应用基于用户访问行为的反爬虫系统实现的基于用户访问行为的反爬虫方法,从而有效提升了现有技术中对网络爬虫的识别效率,并大幅提升了突破反爬虫技术的成本,减少了验证码等需要用户人工操作的身份验证次数,提升了用户体验。本申请有如下效果和优点:
1、提升爬虫识别效果。本方案通过一种基于用户访问行为习惯的反爬虫方法,通过进行数据挖掘分析,建立了用户习惯模型,区分正常人类与机器爬虫在访问习惯上的差别。有效的识别出爬虫,并反馈给在线业务系统。有效保护在线业务系统的数据权益。
2、有效增加了反反爬虫的难度和成本。一般传统通过修改客户端和服务器端的交互的方式(如双方采用一定的加密算法进行通讯)来区别判断爬虫,客户端上的代码极易被人获取、反编译、破解。本方案判断规则完全位于服务器端,与客户端完全无关,爬虫开发者无法获取到服务器端的判断规则,具有很好的隐蔽性,且识别爬虫的方式是根据用户数据分析而成,每一个页面的访问顺序都基于用户的习惯,并没有固定的唯一规则,从而大幅增加了突破反爬虫技术的开发的难度,有效保护了网站数据。
3、有效提升客户体验。通过进行数据分析,爬虫识别效果的增加,大大减少了验证码等干扰用户使用的交互操作。有效提升了在线业务系统的客户体验。
本申请的实施例还提供能够实现上述实施例中的基于用户访问行为的反爬虫方法中全部步骤的一种电子设备的具体实施方式,参见图22,所述电子设备具体包括如下内容:
处理器(processor)601、存储器(memory)602、通信接口(CommunicationsInterface)603和总线604;
其中,所述处理器601、存储器602、通信接口603通过所述总线604完成相互间的通信;所述通信接口603用于实现基于用户访问行为的反爬虫系统、在线业务系统、客户端设备以及其他参与机构之间的信息传输;
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的基于用户访问行为的反爬虫方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户。
步骤200:根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级。
步骤300:若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个。
步骤400:在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
从上述描述可知,本申请实施例提供的电子设备,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息,提高目标访问数据的安全性,并通过数据分析建立正常用户访问行为的模型与规则,通过规则进行判断,有效识别出爬虫,提升爬虫识别率的同时,提升用户体验。
本申请的实施例还提供能够实现上述实施例中的基于用户访问行为的反爬虫方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于用户访问行为的反爬虫方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户。
步骤200:根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级。
步骤300:若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个。
步骤400:在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够有效保证正常用户访问行为,并能够有效提高网络爬虫的识别准确性,提高网络爬虫的识别效率,进而能够有效且准确地阻断网络爬虫爬取相关信息,提高目标访问数据的安全性,并通过数据分析建立正常用户访问行为的模型与规则,通过规则进行判断,有效识别出爬虫,提升爬虫识别率的同时,提升用户体验。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (22)
1.一种基于用户访问行为的反爬虫方法,其特征在于,包括:
获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;
根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;
若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个;
在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
2.根据权利要求1所述的基于用户访问行为的反爬虫方法,其特征在于,在所述基于预设的第一规则确定所述目标用户的第一爬虫可疑等级之后,还包括:
若所述目标用户的第一爬虫可疑等级为所述爬虫等级中的最高级,则直接确定当前目标用户的目标爬虫可疑等级为该爬虫等级中的最高级;
相对应的,所述若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,包括:
若所述目标用户的第一爬虫可疑等级不为所述爬虫等级中的最高级,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级。
3.根据权利要求1所述的基于用户访问行为的反爬虫方法,其特征在于,所述获取目标用户针对目标网页的历史访问记录,包括:
接收目标用户发出的针对所述目标网页的访问请求,其中,该访问请求中包含有所述目标用户的用户唯一标识;
根据所述目标用户的用户唯一标识在预设的历史数据库中获取该目标用户针对目标网页的历史访问记录,其中,所述历史数据库用于存储用户唯一标识与用户针对目标网页的历史访问记录之间的一对多关系。
4.根据权利要求3所述的基于用户访问行为的反爬虫方法,其特征在于,所述根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,包括:
在预存储的爬虫用户黑名单中查找其中是否包含有所述目标用户对应的用户唯一标识,并根据查找结果确定所述目标用户的第一爬虫可疑等级;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的用户唯一标识与所述爬虫等级之间的一一对应关系。
5.根据权利要求1所述的基于用户访问行为的反爬虫方法,其特征在于,所述历史访问记录中包含有目标用户在预设时间内访问所述目标网页的次数;
所述根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,包括:
在多个预设的访问次数区间中,确定所述目标用户在预设时间内访问所述目标网页的次数所属的目标访问次数区间,并将目标访问次数区间对应的所述爬虫等级作为所述目标网页对应的第一爬虫可疑等级;
其中,所述访问次数区间与所述爬虫等级之间为一对一或多对一的关系。
6.根据权利要求1所述的基于用户访问行为的反爬虫方法,其特征在于,所述访问请求中包含有目标用户的用户代理标识;
所述根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级,包括:
识别所述目标用户的用户代理标识是否为预存的浏览器标识中一个,并根据识别结果确定所述目标网页对应的第一爬虫可疑等级。
7.根据权利要求1所述的基于用户访问行为的反爬虫方法,其特征在于,所述历史访问记录中包含有目标用户针对目标网页的前一访问网页的标识,其中,该前一访问网页与所述目标网页属于同一服务提供方;
在所述基于预设的第二规则确定所述目标用户的第二爬虫可疑等级之前,还包括:
获取不存在爬虫嫌疑的多个用户的历史访问数据,其中,所述历史访问数据中包含有至少一对所述目标网页与对应的前一访问网页;
根据所述历史访问数据,确定各个所述目标网页对应的前一访问网页的访问概率;
基于各个所述访问概率所属的数值区间,确定各个所述目标网页对应的前一访问网页对应的高概率标识;
所述根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,包括:
根据预设的各个网页的标识与各个高概率标识之间的对应关系,确定所述前一访问网页是否对应有的高概率标识,其中,该高概率标识有多种等级;
基于所述高概率标识的等级确定所述目标用户的第二爬虫可疑等级。
8.根据权利要求7所述的基于用户访问行为的反爬虫方法,其特征在于,所述历史访问记录中还包含有目标用户在预设时段内的多个历史访问网页的标识和访问次数,其中,所述历史访问网页与所述目标网页属于同一服务提供方;
所述根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,包括:
根据所述目标用户在预设时段内的多个历史访问网页的标识和访问次数,基于预设的各个网页的标识与各个高概率标识之间的对应关系,确定各个等级的高概率标识分别对应的历史访问网页的访问次数;
基于各个等级的高概率标识分别对应的历史访问网页的访问次数,确定所述目标用户的第二爬虫可疑等级。
9.根据权利要求1或2所述的基于用户访问行为的反爬虫方法,其特征在于,还包括:
将所述目标用户的目标爬虫可疑等级存储至爬虫用户黑名单;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的唯一标识与所述爬虫等级之间的一一对应关系。
10.根据权利要求3所述的基于用户访问行为的反爬虫方法,其特征在于,还包括:
将所述目标用户的目标爬虫可疑等级发送至所述目标用户针对所述目标网页的访问请求的发送方,使得该发送方根据目标用户的目标爬虫可疑等级,确定返回至所述目标用户是否为所述目标网页。
11.一种基于用户访问行为的反爬虫系统,其特征在于,包括:
数据接收输入模块,用于获取目标用户针对目标网页的历史访问记录,其中,该目标用户为当前发出针对所述目标网页的访问请求的用户;
反爬虫判断模块,具体包括:简要规则判断单元、行为规则判断单元和目标等级确定单元;
所述简要规则判断单元,用于根据所述目标用户对应的历史访问记录和/或访问请求,基于预设的第一规则确定所述目标用户的第一爬虫可疑等级;
所述行为规则判断单元,用于若所述第一爬虫可疑等级满足预设条件,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级,其中,所述第一爬虫可疑等级和第二爬虫可疑等级均为预设的多个爬虫等级中的一个;
所述目标等级确定单元,用于在所述第一爬虫可疑等级和第二爬虫可疑等级中选取较高级别的爬虫等级作为该目标用户当前的目标爬虫可疑等级。
12.根据权利要求11所述的基于用户访问行为的反爬虫系统,其特征在于,所述反爬虫判断模块还包括:
最高级确定单元,用于若所述目标用户的第一爬虫可疑等级为所述爬虫等级中的最高级,则直接确定当前目标用户的目标爬虫可疑等级为该爬虫等级中的最高级;
相对应的,所述行为规则判断单元具体用于执行下述步骤:
若所述目标用户的第一爬虫可疑等级不为所述爬虫等级中的最高级,则根据所述目标用户对应的历史访问记录,基于预设的第二规则确定所述目标用户的第二爬虫可疑等级。
13.根据权利要求11所述的基于用户访问行为的反爬虫系统,其特征在于,所述数据接收输入模块具体用于执行下述步骤:
接收目标用户发出的针对所述目标网页的访问请求,其中,该访问请求中包含有所述目标用户的用户唯一标识;
根据所述目标用户的用户唯一标识在预设的历史数据库中获取该目标用户针对目标网页的历史访问记录,其中,所述历史数据库用于存储用户唯一标识与用户针对目标网页的历史访问记录之间的一对多关系。
14.根据权利要求13所述的基于用户访问行为的反爬虫系统,其特征在于,所述简要规则判断单元具体用于执行下述步骤:
在预存储的爬虫用户黑名单中查找其中是否包含有所述目标用户对应的用户唯一标识,并根据查找结果确定所述目标用户的第一爬虫可疑等级;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的用户唯一标识与所述爬虫等级之间的一一对应关系。
15.根据权利要求11所述的基于用户访问行为的反爬虫系统,其特征在于,所述历史访问记录中包含有目标用户在预设时间内访问所述目标网页的次数;
所述简要规则判断单元具体用于执行下述步骤包括:
在多个预设的访问次数区间中,确定所述目标用户在预设时间内访问所述目标网页的次数所属的目标访问次数区间,并将目标访问次数区间对应的所述爬虫等级作为所述目标网页对应的第一爬虫可疑等级;
其中,所述访问次数区间与所述爬虫等级之间为一对一或多对一的关系。
16.根据权利要求11所述的基于用户访问行为的反爬虫系统,其特征在于,所述访问请求中包含有目标用户的用户代理标识;
所述简要规则判断单元具体用于执行下述步骤包括:
识别所述目标用户的用户代理标识是否为预存的浏览器标识中一个,并根据识别结果确定所述目标网页对应的第一爬虫可疑等级。
17.根据权利要求11所述的基于用户访问行为的反爬虫系统,其特征在于,所述历史访问记录中包含有目标用户针对目标网页的前一访问网页的标识,其中,该前一访问网页与所述目标网页属于同一服务提供方;
所述基于用户访问行为的反爬虫系统还包括:反爬虫规则训练模块,用于执行下述步骤:
获取不存在爬虫嫌疑的多个用户的历史访问数据,其中,所述历史访问数据中包含有至少一对所述目标网页与对应的前一访问网页;
根据所述历史访问数据,确定各个所述目标网页对应的前一访问网页的访问概率;
基于各个所述访问概率所属的数值区间,确定各个所述目标网页对应的前一访问网页对应的高概率标识;
所述行为规则判断单元具体用于执行下述步骤包括:
根据预设的各个网页的标识与各个高概率标识之间的对应关系,确定所述前一访问网页是否对应有的高概率标识,其中,该高概率标识有多种等级;
基于所述高概率标识的等级确定所述目标用户的第二爬虫可疑等级。
18.根据权利要求17所述的基于用户访问行为的反爬虫系统,其特征在于,所述历史访问记录中还包含有目标用户在预设时段内的多个历史访问网页的标识和访问次数,其中,所述历史访问网页与所述目标网页属于同一服务提供方;
所述行为规则判断单元具体用于执行下述步骤包括:
根据所述目标用户在预设时段内的多个历史访问网页的标识和访问次数,基于预设的各个网页的标识与各个高概率标识之间的对应关系,确定各个等级的高概率标识分别对应的历史访问网页的访问次数;
基于各个等级的高概率标识分别对应的历史访问网页的访问次数,确定所述目标用户的第二爬虫可疑等级。
19.根据权利要求11或12所述的基于用户访问行为的反爬虫系统,其特征在于,还包括:
数据存储模块,用于将所述目标用户的目标爬虫可疑等级存储至爬虫用户黑名单;
其中,所述爬虫用户黑名单用于存储各个所述用户对应的唯一标识与所述爬虫等级之间的一一对应关系。
20.根据权利要求13所述的基于用户访问行为的反爬虫系统,其特征在于,还包括:
数据返回输出模块,用于将所述目标用户的目标爬虫可疑等级发送至所述目标用户针对所述目标网页的访问请求的发送方,使得该发送方根据目标用户的目标爬虫可疑等级,确定返回至所述目标用户是否为所述目标网页。
21.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述的基于用户访问行为的反爬虫方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述的基于用户访问行为的反爬虫方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910131052.5A CN109862018B (zh) | 2019-02-21 | 2019-02-21 | 基于用户访问行为的反爬虫方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910131052.5A CN109862018B (zh) | 2019-02-21 | 2019-02-21 | 基于用户访问行为的反爬虫方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109862018A CN109862018A (zh) | 2019-06-07 |
CN109862018B true CN109862018B (zh) | 2021-07-09 |
Family
ID=66898575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910131052.5A Active CN109862018B (zh) | 2019-02-21 | 2019-02-21 | 基于用户访问行为的反爬虫方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109862018B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609937B (zh) * | 2019-08-15 | 2024-07-19 | 平安科技(深圳)有限公司 | 一种爬虫识别方法及装置 |
CN110781366A (zh) * | 2019-09-09 | 2020-02-11 | 深圳壹账通智能科技有限公司 | 网页数据处理方法、装置、计算机设备和存储介质 |
CN111125692B (zh) * | 2019-12-05 | 2022-07-12 | 任子行网络技术股份有限公司 | 反爬虫方法及装置 |
CN112989158A (zh) * | 2019-12-16 | 2021-06-18 | 顺丰科技有限公司 | 一种识别网页爬虫行为的方法、装置及存储介质 |
CN111181933B (zh) * | 2019-12-19 | 2022-04-26 | 贝壳技术有限公司 | 网络爬虫检测方法、装置、存储介质及电子设备 |
CN111064745B (zh) * | 2019-12-30 | 2022-06-03 | 厦门市美亚柏科信息股份有限公司 | 一种基于异常行为探测的自适应反爬方法和系统 |
CN113132336A (zh) * | 2020-01-10 | 2021-07-16 | 上海云盾信息技术有限公司 | 一种网络爬虫的处理方法、系统及设备 |
CN112437036B (zh) * | 2020-01-21 | 2023-01-24 | 上海哔哩哔哩科技有限公司 | 一种数据分析的方法及设备 |
CN111368164B (zh) * | 2020-02-24 | 2023-05-09 | 支付宝(杭州)信息技术有限公司 | 一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质 |
CN111428108A (zh) * | 2020-03-25 | 2020-07-17 | 山东浪潮通软信息科技有限公司 | 一种基于深度学习的反爬虫方法、装置和介质 |
CN111614652A (zh) * | 2020-05-15 | 2020-09-01 | 广东科徕尼智能科技有限公司 | 一种爬虫识别拦截方法、设备、存储介质 |
CN111711617A (zh) * | 2020-05-29 | 2020-09-25 | 北京金山云网络技术有限公司 | 网络爬虫的检测方法、装置、电子设备及存储介质 |
CN111683087A (zh) * | 2020-06-07 | 2020-09-18 | 中信银行股份有限公司 | 访问控制方法、装置、电子设备及计算机可读存储介质 |
CN112202784B (zh) * | 2020-09-30 | 2023-04-18 | 成都新潮传媒集团有限公司 | 反爬虫方法、装置及存储介质 |
CN112434208B (zh) * | 2020-12-03 | 2024-05-07 | 百果园技术(新加坡)有限公司 | 一种孤立森林的训练及其网络爬虫的识别方法与相关装置 |
CN113536301A (zh) * | 2021-07-19 | 2021-10-22 | 北京计算机技术及应用研究所 | 一种基于行为特征分析的反爬方法 |
CN114338146B (zh) * | 2021-12-27 | 2023-08-15 | 中国民航信息网络股份有限公司 | 一种基于动态码的反爬虫方法、系统、客户端和服务器 |
CN115065520A (zh) * | 2022-06-09 | 2022-09-16 | 中国电信股份有限公司 | 反爬虫处理方法、装置、电子设备及可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287152A1 (en) * | 2009-05-05 | 2010-11-11 | Paul A. Lipari | System, method and computer readable medium for web crawling |
US20140279793A1 (en) * | 2013-03-14 | 2014-09-18 | Balderdash Inc. | Systems and methods for providing relevant pathways through linked information |
CN103218431B (zh) * | 2013-04-10 | 2016-02-17 | 金军 | 一种能识别网页信息自动采集的系统 |
CN103853841A (zh) * | 2014-03-19 | 2014-06-11 | 北京邮电大学 | 一种社交网用户异常行为的分析方法 |
CN104391979B (zh) * | 2014-12-05 | 2017-12-19 | 北京国双科技有限公司 | 网络恶意爬虫识别方法及装置 |
CN106790105B (zh) * | 2016-12-26 | 2020-08-21 | 携程旅游网络技术(上海)有限公司 | 基于业务数据的爬虫识别拦截方法及系统 |
CN108429721B (zh) * | 2017-02-15 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 一种网络爬虫的识别方法及装置 |
CN108712426B (zh) * | 2018-05-21 | 2021-04-16 | 携程旅游网络技术(上海)有限公司 | 基于用户行为埋点的爬虫识别方法及系统 |
CN109166030A (zh) * | 2018-08-01 | 2019-01-08 | 深圳微言科技有限责任公司 | 一种反欺诈解决方法及系统 |
-
2019
- 2019-02-21 CN CN201910131052.5A patent/CN109862018B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109862018A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109862018B (zh) | 基于用户访问行为的反爬虫方法及系统 | |
US10785245B2 (en) | Methods for using organizational behavior for risk ratings | |
JP7144117B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
Brookman et al. | Cross-device tracking: Measurement and disclosures | |
CN106575327B (zh) | 分析面部识别数据和社交网络数据以供用户鉴别 | |
US9450936B2 (en) | Method of processing requests for digital services | |
US20220180368A1 (en) | Risk Detection, Assessment, And Mitigation Of Digital Third-Party Fraud | |
CN116432247A (zh) | 一种基于区块链的侵权存证方法及设备 | |
CN109818937A (zh) | 针对安卓权限的控制方法、装置、及存储介质、电子装置 | |
US10043038B2 (en) | Identifying private information from data streams | |
CN110609937A (zh) | 一种爬虫识别方法及装置 | |
CN103166917A (zh) | 网络设备身份识别方法及系统 | |
EP3063691A2 (en) | Dynamic de-identification and anonymity | |
WO2015066523A2 (en) | Dynamic de-identification and anonymity | |
CN103593609A (zh) | 一种可信行为识别的方法和装置 | |
US20230161909A1 (en) | System and method for dynamic management of private data | |
US10049231B2 (en) | Method and system for obfuscating the properties of a web browser | |
US11995217B2 (en) | Data integrity | |
CN111814064B (zh) | 基于Neo4j的异常用户处理方法、装置、计算机设备和介质 | |
CN110929129A (zh) | 一种信息检测方法、设备及机器可读存储介质 | |
CN111259430A (zh) | 数据处理方法及其装置、电子设备、计算机存储介质 | |
CN104462392A (zh) | 分享回流量的统计方法和装置 | |
CN103957245A (zh) | 互联网数据获取方法及装置 | |
JP2023516541A (ja) | プライバシー保護のための加法性雑音および減法性雑音 | |
US20220253560A1 (en) | System and method for identifying and controlling distribution of personal data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |