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

一种识别网页爬虫行为的方法、装置及存储介质

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


一种识别网页爬虫行为的方法、装置及存储介质

技术领域

本申请实施例涉及互联网技术领域,尤其涉及一种识别网页爬虫行为的方法、装置及存储介质。

背景技术

现有技术中,正常用户和爬虫访问网页,他们的特征是不一样的。如正常用户,会慢慢的看一个网页,鼠标移动滚轮,慢慢的看。而爬虫却不一样,当爬虫访问到网页之后,会立刻获得网页的所有信息,把数据传回服务器,马上进入下一个网页的爬取,周而复始,所以正常用户和爬虫访问网页的习惯特征是不一样。

在对现有技术的研究和实践过程中,本申请实施例的发明人发现,现有技术中在判断爬虫行为时准确率不高,存在将正常用户的浏览网页行为误判为爬虫行为。

发明内容

本申请实施例提供了一种识别网页爬虫行为的方法、装置及存储介质,能够提高识别爬虫行为的全面性和准确性。

第一方面中,本申请实施例提供一种识别网页爬虫行为的方法,所述方法包括:

获取多个维度的用户行为数据;

按照预设规则将所述用户行为数据转换为预设类型的训练特征;

将所述训练特征转换为样本集;

将所述样本集输入识别模型,以使用所述样本集对识别模型进行训练;

获取访问记录,所述访问记录为用户在历史时间内访问网页的至少一项行为数据;

基于所述识别模型将所述访问记录中的各项行为数据分别与预设行为特征比较;

若所述访问记录中的至少一项行为数据与至少一项预设行为特征匹配,则确定所述用户的访问行为为爬虫行为。

一种可能的设计中,所述用户行为数据包括以下项中的至少一项行为数据:

网页驻留时长、页面滚轮的滚轮次数、页面滚轮的滚动时间间隔、页面的点击事件次数、相邻点击事件的时间间隔、页面是否存在外部链接、下一个页面是否为当前页面的跳转页面、或者页面视频是否被点击播放。

一种可能的设计中,所述按照预设规则将所述用户行为数据转换为预设类型的训练特征,包括:

确定所述用户行为数据中各项行为数据的行为类型;

获取与行为类型匹配的判断条件;

按照行为类型,分别采用匹配的判断条件对于行为类型匹配的行为数据进行判断,得到各项行为数据的判断结果;

根据各项行为数据的判断结果分别对各项行为数据进行向量化处理,得到特征向量;

将所述特征向量作为所述训练特征。

一种可能的设计中,所述将所述训练特征转换为样本集,包括:

按照所述预设规则,分别将各维度的用户行为数据设置标签;

将训练特征与标签对应关联;

根据关联的训练特征与标签,生成所述样本集。

一种可能的设计中,所述根据各项行为数据的判断结果分别对各项行为数据进行向量化处理,得到特征向量,包括:

若判断结果为肯定,则对肯定的判断结果对应的行为数据设置第一标志;

若判断结果为否定,则对否定的判断结果对应的行为数据设置第二标志;

将各项行为数据对应的标志形成所述特征向量。

一种可能的设计中,所述确定所述用户的访问行为为爬虫行为之后,所述方法还包括:

生成验证码,所述验证码用于验证所述用户的网页访问行为;

向所述用户所在的终端发送所述验证码。

一种可能的设计中,所述确定所述用户的访问行为为爬虫行为之后,所述方法还包括:

获取所述用户所在的终端的网络地址;

将所述网络地址封禁。

第二方面中,本申请实施例提供一种用于识别网页爬虫行为的装置,具有实现对应于上述第一方面提供的识别网页爬虫行为的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。

一种可能的设计中,所述用于识别网页爬虫行为的装置包括:

收发模块,用于获取多个维度的用户行为数据;

处理模块,用于按照预设规则将所述收发模块获取的所述用户行为数据转换为预设类型的训练特征;将所述训练特征转换为样本集;将所述样本集输入识别模型,以使用所述样本集对识别模型进行训练;

所述收发模块还用于获取访问记录,所述访问记录为用户在历史时间内访问网页的至少一项行为数据;

所述处理模块还用于基于所述识别模型将所述访问记录中的各项行为数据分别与预设行为特征比较;若所述访问记录中的至少一项行为数据与至少一项预设行为特征匹配,则确定所述用户的访问行为为爬虫行为。

一种可能的设计中,所述用户行为数据包括以下项中的至少一项行为数据:

网页驻留时长、页面滚轮的滚轮次数、页面滚轮的滚动时间间隔、页面的点击事件次数、相邻点击事件的时间间隔、页面是否存在外部链接、下一个页面是否为当前页面的跳转页面、或者页面视频是否被点击播放。

一种可能的设计中,所述处理模块具体用于:

确定所述用户行为数据中各项行为数据的行为类型;

获取与行为类型匹配的判断条件;

按照行为类型,分别采用匹配的判断条件对于行为类型匹配的行为数据进行判断,得到各项行为数据的判断结果;

根据各项行为数据的判断结果分别对各项行为数据进行向量化处理,得到特征向量;

将所述特征向量作为所述训练特征。

一种可能的设计中,所述处理模块具体用于:

按照所述预设规则,分别将各维度的用户行为数据设置标签;

将训练特征与标签对应关联;

根据关联的训练特征与标签,生成所述样本集。

一种可能的设计中,所述处理模块具体用于:

若判断结果为肯定,则对肯定的判断结果对应的行为数据设置第一标志;

若判断结果为否定,则对否定的判断结果对应的行为数据设置第二标志;

将各项行为数据对应的标志形成所述特征向量。

一种可能的设计中,所述处理模块确定所述用户的访问行为为爬虫行为之后,还用于:

生成验证码,所述验证码用于验证所述用户的网页访问行为;

提供所述收发模块向所述用户所在的终端发送所述验证码。

一种可能的设计中,所述处理模块确定所述用户的访问行为为爬虫行为之后,还用于:

获取所述用户所在的终端的网络地址;

将所述网络地址封禁。

本申请实施例又一方面提供了一种用于识别网页爬虫行为的装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的计算机程序来执行上述第一方面所述的方法。

本申请实施例又一方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

相较于现有技术,本申请实施例提供的方案中,一方面,从多个维度去训练识别模型,使得识别模型的识别准确率更高,因此能够提高综合评估一个访问请求是否为爬虫行为,减少误判。另一方面,本申请实施例中识别模型的输入为多种维度的训练特征,所以,能够涵盖多种情况下的爬虫行为,不会漏掉那些可以用来评判访问请求是否为爬虫行为的其他特征,因此识别范围更广。

附图说明

图1为本申请实施例中识别网页爬虫行为的方法的一种流程示意图;

图2为本申请实施例中识别模型的一种结构示意图;

图3为本申请实施例中用于识别网页爬虫行为的装置的一种结构示意图;

图4为本申请实施例中执行识别网页爬虫行为的方法的计算机设备的一种结构示意图。

具体实施方式

本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。

本申请实施例供了一种识别网页爬虫行为的方法、装置及存储介质,可用于爬虫系统中的服务器侧,服务器侧可用于识别网页的访问行为是否为爬虫行为。

本申请实施例主要提供以下技术方案:

对识别模型的输入进行改进,即采用多个维度的用户行为数据去训练识别模型,使得该识别模型能够从多个维度去识别网页访问行为是否为爬虫行为,并且能够综合评估网页访问行为是否为爬虫行为,准确率更好,识别范围广。

参照图1,以下介绍本申请实施例所提供的一种识别网页爬虫行为的方法,该方法的执行主体可为服务器,或者为用于识别网络爬虫行为的装置。该用于识别网络爬虫行为的装置可为服务器或者为安装在服务器上的应用,本申请实施例不对此作限定。本申请实施例包括:

101、获取多个维度的用户行为数据。

其中,用户行为数据可为用户访问网站的历史数据,也可是服务器后台保存的操作日志,本申请实施例不对用户行为数据的获取渠道、是否进行预处理等作限定。

一些实施方式中,所述用户行为数据包括以下项中的至少一项行为数据:

网页驻留时长、页面滚轮的滚轮次数、页面滚轮的滚动时间间隔、页面的点击事件次数、相邻点击事件的时间间隔、页面存在外部链接、下一个页面是否为当前页面的跳转页面。

其中,网页驻留时长是指用户在页面停留的时间,也可称为网页停留时间。一般情况下,用户在一个网页肯定要停留一会儿,如果停留时间极短,那么可能是爬虫。所以可以为网页驻留时长定义一个阈值,如果进入网页和离开网页的时间差大于阈值,网页驻留时长这项特征的值为1,否则为0。例如网页驻留时长的阈值设为1min。

页面滚轮的滚轮次数,包括滚轮向下滚动次数和滚轮向上滚动次数。具体来说,滚轮向下滚动次数:打开网页之后,正常用户要使用滚轮上下滑动查看网页内容,但是一般的爬虫可不会用滚轮(不绝对,有些爬虫是通过模拟点击的)。因此,通过页面滚轮的滚轮次数很容易判断是否爬虫行为,因此可定义一个阈值,如果滚轮向下次数大于阈值,此特征的值为1,否则为0。滚轮向上滚动次数:即使爬虫可能通过模拟点击使用了滚轮,也很少会向上滚,所以可为页面滚轮的滚轮次数定义一个阈值,如果滚轮向上次数大于阈值,页面滚轮的滚轮次数这项特征的值为1,否则为0。

页面滚轮的滚动时间间隔,包括滚轮向上滚动的时间间隔、滚轮向下滚动的时间间隔。或者页面滚轮的滚动时间间隔称为页面滚轮的滚轮频率,页面滚轮的滚轮频率包括滚轮向上或下滚动的频率。通常情况下,正常用户都是阅读一页网页然后向上或者向下滚动,阅读一页网页需要一定时间,所以一般来说,爬虫行为不会在一个页面上随机的滚动页面。因此,可用页面滚轮的滚动时间间隔来判断爬虫行为。

页面的点击事件次数,例如鼠标在页面点击次数或者用户手势输入。其中,当页面的点击事件次数为鼠标在页面点击次数时,由于很多正常用户访问网页的时候,会习惯用鼠标左键双击网页,所以可以定义一个阈值,如果左键双击网页的次数大于阈值,页面的点击事件次数这项特征的值为1,否则为0。

相邻点击事件的时间间隔,例如两次或两次以上鼠标点击间隔时间。当相邻点击事件的时间间隔为两次鼠标点击间隔时间时,由于爬虫一般不会模拟鼠标点击(除非必须步骤,如网页2必须通过网页1的某个按钮才能进入),所以可以为该相邻点击事件的时间间隔定义一个阈值,如果平均点击间隔时间大于阈值,相邻点击事件的时间间隔这项特征的值为1,否则为0。

页面存在外部链接,例如是否点击站外链接:某个页面可能会有一些非本网站的链接(外链),爬虫一般都不会访问外链,只关于与同一个域名下的网页。所以,如果有点击站外链接,页面存在外部链接这项特征为1,否则为0。

下一个页面是否是本页面跳转,正常用户浏览网页,通常都是通过当前网页跳转的,而爬虫可不一定是通过当前网页跳转,如果是广度搜索的爬虫基本上就不是在本页面跳转,所以,如果下一个页面是由当前页面跳转的,下一个页面是否是本页面跳转这项特征的值为1,否则为0。

页面视频是否被点击播放,例如是否点击站内视频。由于一般的用户可能会点击站内视频,爬虫基本上不会点击站内视频或者无法对站内视频进行点击操作。所以如果点击了,页面视频是否被点击播放这项特征值为1,否则为0。

102、按照预设规则将所述用户行为数据转换为预设类型的训练特征。

其中,预设规则包括:将不同维度的特征划分到不同的预设类型,按照不同的预设类型定义该预设类型的特征的量化方式。例如,用户行为数据包括:用户A在2019-12-1 08:00:05至2019-12-1 08:02:21访问网页1,在2019-12-1 08:04:45至2019-12-1 08:12:34访问网页2。这样的数据并不能直接拿来训练识别模型,所以将该用户行为数据量化为用户A在网页1的驻留时长为2分16秒,在网页2的驻留时长为7分49秒。其他同理,不作赘述。

一些实施方式中,所述按照预设规则将所述用户行为数据转换为预设类型的训练特征,包括:

a、确定所述用户行为数据中各项行为数据的行为类型。

b、获取与行为类型匹配的判断条件。

c、按照行为类型,分别采用匹配的判断条件对于行为类型匹配的行为数据进行判断,得到各项行为数据的判断结果。

d、根据各项行为数据的判断结果分别对各项行为数据进行向量化处理,得到特征向量。

一些实施方式中,所述根据各项行为数据的判断结果分别对各项行为数据进行向量化处理,得到特征向量,包括:

若判断结果为肯定,则对肯定的判断结果对应的行为数据设置第一标志;

若判断结果为否定,则对否定的判断结果对应的行为数据设置第二标志;

将各项行为数据对应的标志形成所述特征向量。

其中,第一标志和第二标志可为数字、符号或文字,或者数字、符号或文字中的至少一种组合,本申请实施例不对第一标志和第二标志的表现方式作限定,只要能够区分各项行为数据的判断结果,并且不影响后续特征向量的形成即可。

例如,判断结果为:网页驻留时长为2min,页面滚轮的滚轮次数为4,下一个页面为当前页面的跳转页面,那么,这些都属于肯定的判断结果。因此,可分别为这些项的行为数据设置第一标志,例如均设为1。

又例如,网页驻留时长为0.01秒,页面滚轮的滚轮次数为2,下一个页面不为当前页面的跳转页面,页面视频未被点击播放,那么,这些都属于否定的判断结果。因此,可分别为这些项的行为数据设置第二标志,例如第二标志均设为0。

e、将所述特征向量作为所述训练特征。

例如,用户行为数据包括:

网页驻留时长为2min、页面滚轮的滚轮次数为4、页面滚轮的滚动时间间隔为4秒、页面的点击事件次数为2、相邻点击事件的时间间隔1秒、页面存在外部链接、下一个页面为当前页面的跳转页面、或者页面视频被点击播放。

因此,可将所述训练特征表示为:

[1,1,1,1,1,1,1,1]

又例如,网页驻留时长为0.01秒、页面滚轮的滚轮次数为2、页面滚轮的滚动时间间隔为4秒、页面的点击事件次数为0、相邻点击事件的时间间隔0秒、页面存在外部链接、下一个页面不为当前页面的跳转页面、或者页面视频未被点击播放。

因此,可将所述训练特征表示为:

[0,0,1,0,0,1,0,0]

其中,1表示用户满足上述某项训练特征的判断条件,0表示没有上述训练特征或者不满足上述某项训练特征的判断条件。表示内容结构可为有序序列或者数组方式,本申请实施例不对此作限定。

103、将所述训练特征转换为样本集。

其中,样本集是指用于训练识别模型的特征集。

一些实施方式中,所述将所述训练特征转换为样本集,包括:

按照所述预设规则,分别将各维度的用户行为数据设置标签;

将训练特征与标签对应关联;

根据关联的训练特征与标签,生成所述样本集。

用户正常的访问记录和爬虫访问记录。其中,爬虫记录可通过网站管理人员人工打标,或者通过反爬虫方式得到。反爬虫方式可为检测网络地址、用户代理(User Agent,UA)检测等方式得到,本申请实施例不对爬虫访问记录的获取方式和获取渠道作限定。

例如,对用户行为特征设置对应的标签后,将标签与上述训练特征结合在一起,形成样本集:

[1,1,1,1,1,1,1,1] [0]

[0,0,1,0,0,1,0,0] [1]

其中,[1,1,1,1,1,1,1,1]和[0,0,1,0,0,1,0,0]均为训练特征,[0]和[1]均为标签。[0]为训练特征[1,1,1,1,1,1,1,1]的标签,[1]为训练特征[0,0,1,0,0,1,0,0]的标签。

104、将所述样本集输入识别模型,以使用所述样本集对识别模型进行训练。

其中,识别模型可用于识别网页访问行为是否为爬虫行为还是正常用户访问行为。

一些实施方式中,可采用树模型xgboost、随机森林、支持向量机(Support VectorMachine,svm)、决策树等训练得到识别模型,这样得到的识别模型的精确度更高。在训练上述识别模型时,为了要贴近实际的业务,可以不断调整识别模型的超参数,逐步寻找到一个适合本业务的最优识别模型。

下面介绍识别模型的训练过程:

识别模型包括多个超参数,可以用多种机器学习方法训练得到上述识别模型,例如可采用xgboost、svm训练得到上述识别模型。

识别模型的超参数中,学习率和树的深度对识别模型的识别精度的影响比较大,所以本申请实施例主要以调整学习率和树的深度为例。例如,识别模型通过xgboost训练得到时,可通过不断的调整xgboost的学习率和树的深度,例如最后调的学习率为0.15,树的深度是4,识别模型的识别效果最好。因此,可默认设置识别模型的学习率的取值范围为[0.1,0.2],例如xgboost默认学习率是0.15。以及设置识别模型的时间步长的取值范围在,例如,如果时间步长是0.05,那么学习率可以从[0.1,0.15,0.2]中任选一个。又例如,树的深度默认是3,限定的范围是[2,6],若时间步长为1,那么这个参数可选择[2,3,4,5,6]。识别模型的其他参数的取值可依次类推。具体来说,调整识别模型的超参数就是搭配不同的可选择超参数,尝试所有可能性,然后找到一个最优解。

例如,训练特征包括驻留时长和滚动次数时,则考虑用户已有的特征(即驻留时长和滚动次数)去建一个识别模型,使得训练处的识别模型可以根据这两类特征去识别网页访问行为是否为爬虫行为。还可根据已有的标签评估识别模型的好坏,即预测出的标签准确率高,即可说明该识别模型的识别效果好。

一些实施方式中,为了提高识别模型的识别效果,识别模型可采用如图2所示的模型结构。该识别模型可采用3层随机森林网络,每层网络可分别针对每种训练特征进行处理。例如可以分别针对一种或多种训练特征采用三层网络来训练,这样可以达到更好的识别效果,并且对每层网络的输出汇总并加权,采用加权的结果(即hn)判断本次输入整个识别模型的训练特征是否符合用户正常访问行为还是爬虫行为。如图3所示,输入识别模型的访问记录为Fn、Fn-1、Fn-2、…Fn-m+1,加权的结果为hn,将hn映射到2层全连接层(denselayers)后,输出识别结果Yn。

105、获取访问记录。

其中,所述访问记录为用户在历史时间内访问网页的至少一项行为数据。例如,访问记录可包括以下项中的至少一项:

网页驻留时长、页面滚轮的滚轮次数、页面滚轮的滚动时间间隔、页面的点击事件次数、相邻点击事件的时间间隔、页面是否存在外部链接、下一个页面是否为当前页面的跳转页面、或者页面视频是否被点击播放。

106、基于所述识别模型将所述访问记录中的各项行为数据分别与预设行为特征比较,若所述访问记录中的至少一项行为数据与至少一项预设行为特征匹配,则确定所述用户的访问行为为爬虫行为。

例如,某个用户(可能是爬虫)正在访问网页,那么获取一段时长内该访问网页的行为日志,然后通过识别模型判断这段时长内的行为日志模型是否是爬虫行为,如果是爬虫,直接断开访问该网页的请求,以停止当前的访问网页的操作行为;或者在该网页上向用户发送验证请求,该验证请求用于请求在该网页输入验证码。

一些实施方式中,可基于如图2所示的识别模型的结构对访问记录中的各项行为数据进行判断。将最后对每层的输出汇总,对每层的输出加权,得到加权结果,根据加权结果判断本次输入识别模型的训练特征整体是否符合用户访问还是爬虫访问。

一些实施方式中,在确定所述用户的访问行为为爬虫行为之后,识别模型会输出一个识别结果,该识别结果用于指示当前所述用户的访问行为为爬虫行为。还可以基于识别模型的识别结果决定对当前访问网页的用户进行一些操作。具体来说,包括以下两方面:

(1)采用验证码阻止进一步的网络访问行为

一些实施方式中,可生成验证码,所述验证码用于验证所述用户的网页访问行为,向所述用户所在的终端发送所述验证码。

该验证码可按照规律生成,或者随机生成,本申请实施例不对验证码的生成方式作限定。

可选的,还可以设置定时器,若在预设时长内未收到用户在验证码界面输入的验证码,则直接向用户所在的终端返回超时验证。或者,用户在验证码界面输入的验证码不正确,则直接向用户所在的终端返回验证失败。

(2)采用封禁网络地址方式组织进一步的网络访问行为

一些实施方式中,可获取所述用户所在的终端的网络地址,并将所述网络地址封禁。例如,网络地址为网际协议(Internet protocol,IP)地址时,可以封禁该IP地址或者封禁该IP地址的IP段。本申请实施例不对封禁网络地址的方式和内容作限定。还可以封禁该用户登录的账号或者用户所在的终端的终端标识,本申请实施例不对此作限定。

本申请实施例中,全面的考虑用于训练模型的训练特征,训练特征能够从各个维度(即网页停留时间、滚轮向下滚动次数、滚轮向上滚动次数、鼠标在页面点击次数、两次鼠标点击间隔时间、是否点击站外链接、下一个页面是否是本页面跳转、是否点击站内视频等用户行为数据)全面分析与爬虫行为相关的嫌疑特征,一方面,从多个维度去训练模型,模型的识别准确率更高,因此能够提高综合评估一个访问请求是否为爬虫行为,减少误判。另一方面,本发明中模型的输入为多种维度的嫌疑特征,所以,能够涵盖多种情况下的爬虫行为,不会漏掉那些可以用来评判访问请求是否为爬虫行为的其他特征,因此识别范围更广。

图1、图2中任一项所对应的实施例中所提及的任一技术特征也同样适用于本申请实施例中的图3和图4所对应的实施例,后续类似之处不再赘述。

上面对本申请实施例中的一种识别网页爬虫行为的方法进行了描述,下面对本申请实施例中的用于识别网页爬虫行为的装置进行描述。

参阅图3,如图3所示的一种用于识别网页爬虫行为的装置30的结构示意图,其可应用于识别爬虫行为。本申请实施例中的用于识别网页爬虫行为的装置30能够实现对应于上述图1所对应的实施例中所执行的识别网页爬虫行为的方法的步骤。用于识别网页爬虫行为的装置30实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述用于识别网页爬虫行为的装置30可包括处理模块、收发模块,所述处理模块、所述收发模块的功能实现可参考图1所对应的实施例中所执行的操作,此处不作赘述。例如,所述处理模块可用于控制所述收发模块的获取、收发等操作。

一些实施方式中,所述收发模块可用于获取多个维度的用户行为数据;

所述处理模块可用于按照预设规则将所述收发模块获取的所述用户行为数据转换为预设类型的训练特征;将所述训练特征转换为样本集;将所述样本集输入识别模型,以使用所述样本集对识别模型进行训练;

所述收发模块还用于获取访问记录,所述访问记录为用户在历史时间内访问网页的至少一项行为数据;

所述处理模块还用于基于所述识别模型将所述访问记录中的各项行为数据分别与预设行为特征比较;若所述访问记录中的至少一项行为数据与至少一项预设行为特征匹配,则确定所述用户的访问行为为爬虫行为。

本申请实施例中,一方面,从多个维度去训练识别模型,使得识别模型的识别准确率更高,因此能够提高综合评估一个访问请求是否为爬虫行为,减少误判。另一方面,本申请实施例中识别模型的输入是多种维度的训练特征是基于多个维度的用户行为数据得到,所以,能够涵盖多种情况下的爬虫行为,不会漏掉那些可以用来评判访问请求是否为爬虫行为的其他特征,因此识别范围更广。

一些实施方式中,所述用户行为数据包括以下项中的至少一项行为数据:

网页驻留时长、页面滚轮的滚轮次数、页面滚轮的滚动时间间隔、页面的点击事件次数、相邻点击事件的时间间隔、页面是否存在外部链接、下一个页面是否为当前页面的跳转页面、或者页面视频是否被点击播放。

一些实施方式中,所述处理模块具体用于:

确定所述用户行为数据中各项行为数据的行为类型;

获取与行为类型匹配的判断条件;

按照行为类型,分别采用匹配的判断条件对于行为类型匹配的行为数据进行判断,得到各项行为数据的判断结果;

根据各项行为数据的判断结果分别对各项行为数据进行向量化处理,得到特征向量;

将所述特征向量作为所述训练特征。

一些实施方式中,所述处理模块具体用于:

按照所述预设规则,分别将各维度的用户行为数据设置标签;

将训练特征与标签对应关联;

根据关联的训练特征与标签,生成所述样本集。

一些实施方式中,所述处理模块具体用于:

若判断结果为肯定,则对肯定的判断结果对应的行为数据设置第一标志;

若判断结果为否定,则对否定的判断结果对应的行为数据设置第二标志;

将各项行为数据对应的标志形成所述特征向量。

一些实施方式中,所述处理模块确定所述用户的访问行为为爬虫行为之后,还用于:

生成验证码,所述验证码用于验证所述用户的网页访问行为;

提供所述收发模块向所述用户所在的终端发送所述验证码。

一些实施方式中,所述处理模块确定所述用户的访问行为为爬虫行为之后,还用于:

获取所述用户所在的终端的网络地址;

将所述网络地址封禁。

上面从模块化功能实体的角度对本申请实施例中的网络认证服务器和终端设备进行了描述,下面从硬件处理的角度分别对本申请实施例中的网络认证服务器和终端设备进行描述。

需要说明的是,在本申请实施例图3所示的实施例中的收发模块对应的实体设备可以为收发器,处理模块对应的实体设备可以为处理器。图3所示的装置30均可以具有如图4所示的结构,当装置30具有如图4所示的结构时,图4中的处理器、收发器实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图4中的存储器存储处理器执行上述识别网页爬虫行为的方法时需要调用的计算机程序。

例如,处理器调用存储器中的计算机程序执行以下操作:

通过所述收发器获取多个维度的用户行为数据;

按照预设规则将所述收发模块获取的所述用户行为数据转换为预设类型的训练特征;将所述训练特征转换为样本集;将所述样本集输入识别模型,以使用所述样本集对识别模型进行训练;

通过所述收发器获取访问记录,所述访问记录为用户在历史时间内访问网页的至少一项行为数据;

基于所述识别模型将所述访问记录中的各项行为数据分别与预设行为特征比较;若所述访问记录中的至少一项行为数据与至少一项预设行为特征匹配,则确定所述用户的访问行为为爬虫行为。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。

相关技术
  • 一种识别网页爬虫行为的方法、装置及存储介质
  • 一种识别网页爬虫的方法和装置
技术分类

06120112941391