CN115865507A - 一种爬虫识别方法、系统、装置及可读存储介质 - Google Patents
一种爬虫识别方法、系统、装置及可读存储介质 Download PDFInfo
- Publication number
- CN115865507A CN115865507A CN202211578916.6A CN202211578916A CN115865507A CN 115865507 A CN115865507 A CN 115865507A CN 202211578916 A CN202211578916 A CN 202211578916A CN 115865507 A CN115865507 A CN 115865507A
- Authority
- CN
- China
- Prior art keywords
- user
- crawler
- request
- information
- verification
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提出的一种爬虫识别方法、系统、装置及可读存储介质,属于计算机技术领域,所述方法包括:通过对用户请求信息进行识别,先通过多维度名单库过滤用户;通过对所有访问用户的请求频率、请求时段进行统计分析,设置对应点阈值,访问频率超过正常阈值或访问时段异常则认为用户行为异常;访问行为异常的用户,进行验证码验证,触发预设的防机器识别自动生成验证码程序,若多次验证码验证失败,可再对验证失败的用户再进行短信上行验证,若多次未通过短信上行验证,则判定该用户为爬虫,将其IP地址列入多维度名单库。通过名单库数据和正常用户数据建立逻辑回归识别模型,代替请求频率、时段阈值的识别,提高了识别精度。
Description
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种爬虫识别方法、系统、装置及可读存储介质。
背景技术
爬虫指的是网络爬虫(又被称为网页蜘蛛,网络机器人等),是一种按照一定的规则,自动地抓取互联网上网络信息的程序或者脚本。爬虫在抓取一个网页后,若这个网页中具有指向各个其它网页的超链接,那么就可以爬到另一张网上来获取其它数据。
爬虫是一种根据预定规则模拟浏览器行为,自动化发出网络请求,接收请求响并解析提取万维网信息的软件程序。爬虫也可被视作一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。以往的爬虫识别技术通常是通过访问信息识别,如通过浏览器请求参数的特征来识别用户是否为爬虫,或者通过统计用户访问频率是否超过预设阈值来判断用户是否为爬虫,但随着爬虫技术的不断发展,这类单一的识别手段对爬虫的识别准确度日益降低,会产生漏报,而且容易误伤真实用户,降低用户的使用体验。
现有的反爬虫技术在识别爬虫的方法上过于单一化,只用一种判定方法来判断访问的用户是否为爬虫,这样的识别方法在精度上不够准确,而且容易漏过真正的爬虫,还可能误伤真实用户。
发明内容
针对以上问题,本发明的目的在于提供一种爬虫识别方法、系统、装置及可读存储介质,通过访问信息识别、访问频率统计、逻辑回归模型识别、用户访问验证技术的整合与创新,建立多维立体的爬虫识别模式,在提高识别精确度的同时最大限度降低误伤真实用户的可能性。
本发明为实现上述目的,通过以下技术方案实现:一种爬虫识别方法,包括如下步骤:
S1:接收到用户资源请求时识别其请求信息;
S2:判断是否有用于识别爬虫的逻辑回归识别模型;若否,则执行步骤S3,若是,则执行步骤S6;
S3:根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户;S4:对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库;
S5:当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代;
S6:使用逻辑回归识别模型识别出行为异常的用户,并执行步骤S4。
进一步,步骤S1包括:
识别请求信息中的请求行信息和请求头信息;
请求行信息包括:请求方式信息和统一资源定位符;
请求头信息包括:源IP和User-Agent。
进一步,步骤S3包括:
根据请求频次信息和请求时段信息计算出用户请求频率,当用户请求频率小于设定阈值时,认定用户行为无异常;当用户请求频率大于等于设定阈值是,认定用户行为存在异常。
进一步,步骤S3具体为,通过以下公式计算出用户请求频率:
其中,ht表示用户请求的时间间隔,htf表示用户的请求频率,htN表示用户发起请求的时间,设定阈值为30,用户每隔30次请求的时间为ht2、ht3、…、htN;
每记录一次htN计算一次htf,当htf<30时认定用户行为无异常,当htf>=30时认定用户行为存在异常。
进一步,步骤S4包括:
随机生成防机器识别验证码,并要求行为异常的用户输入并验证;
当该用户连续N次验证失败后,对该用户发起短信上行验证,由后端生成验证码,将生成的验证码和接收号码发给用户,让用户向接收号码发送指定的验证码;
当该用户进行n次短信验证仍未通过,则判断该用户为爬虫,将其TP地址加入多维度名单库。
进一步,所述通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型,包括:
从正常用户和爬虫的请求信息中提取参数,参数包括请求时段T、请求频率F、请求量M和请求比B;
通过以下公式建立用于识别爬虫的逻辑回归识别模型:
其中,S(θ)是一个(0,1)之间的数,表示模型计算的结果;e是自然对数的底数;θ(x)的结果用于表示当前用户是否为爬虫,0表示正常用户,1表示爬虫;β0表示系统残差;β1、β2、β3、β4为四个参数项的对应的系数。
进一步,所述请求时段T,由TP的请求时间戳中获取,读取时间戳中的小时部分,将24小时等分为12份,分别计1到12;
所述请求频率F为用户在单位时间内向服务器发起请求的次数;
所述请求量M为用户在预设时长内向服务器发起请求的总次数;
所述请求比的生成过程包括:记录一定时间内用户向服务器请求不同URL的次数,对它们按照请求频率由高到低排序后取前五个URL,前五个高频请求的URL的次数比即为请求比。
相应的,本发明还公开了一种爬虫识别系统,包括:
信息识别模块,用于接收到用户资源请求时识别其请求信息;
判断模块,用于判断是否有用于识别爬虫的逻辑回归识别模型;
异常识别模块,用于根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户;
用户验证模块,用于对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库;
模型组建及迭代模块,用于当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代;
模型识别模块,用于使用逻辑回归识别模型识别出行为异常的用户。
相应的,本发明公开了一种爬虫识别装置,包括:
存储器,用于存储爬虫识别程序;
处理器,用于执行所述爬虫识别程序时实现如上文任一项所述爬虫识别方法的步骤。
相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有爬虫识别程序,所述爬虫识别程序被处理器执行时实现如上文任一项所述爬虫识别方法的步骤。
对比现有技术,本发明有益效果在于:本发明公开了一种爬虫识别方法、系统、装置及可读存储介质,通过对用户请求信息进行识别,先通过多维度名单库过滤用户;通过对所有访问用户的请求频率、请求时段进行统计分析,设置对应点阈值,访问频率超过正常阈值或访问时段异常则认为用户行为异常;访问行为异常的用户,进行验证码验证,触发预设的防机器识别自动生成验证码程序,若多次验证码验证失败,可再对验证失败的用户再进行短信上行验证,若多次未通过短信上行验证,则判定该用户为爬虫,将其IP地址列入多维度名单库。通过名单库数据和正常用户数据建立逻辑回归识别模型,代替请求频率、时段阈值的识别,提高识别精度。多维度名单库中的用户不允许访问资源,从而实现反爬虫的目的。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明具体实施方式的方法流程图。
附图2是本发明具体实施方式的系统结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本实施例提供了一种爬虫识别方法,包括如下步骤:
S1:接收到用户资源请求时识别其请求信息。
具体来说,识别请求信息中的请求行、请求头信息。请求行需采集的信息主要是请求方式、统一资源定位符,请求头需采集的信息主要是源IP、User-Agent。
其中,记录用户请求方式以作备用,记录请求的统一资源定位符进行历史对比,若用户多次甚至是每次都向服务器请求相同的资源,则该用户有可能是爬虫,需关注该用户的访问行为,但仍允许其访问资源。记录源IP地址,用于判定该用户是否在多维度名单库中,记录User-Agent中用户的操作系统版本、中央处理器类型、浏览器版本等信息并识别,用于对用户进行初步识别判定。
S2:判断是否有用于识别爬虫的逻辑回归识别模型;若否,则执行步骤S3,若是,则执行步骤S6。
S3:根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户。
具体的,根据请求频次信息和请求时段信息计算出用户请求频率,当用户请求频率小于设定阈值时,认定用户行为无异常;当用户请求频率大于等于设定阈值是,认定用户行为存在异常。
作为示例的,通过以下公式计算出用户请求频率:
其中,用户第一次发起请求的时间为ht1,用户每隔30次请求的时间为ht2、ht3、…、htN,ht表示用户请求的时间间隔,单位是分钟。htN表示用户发起请求的时间,请求频次可根据情况设定,示例性的,用户每请求30次资源记录一次htN。htf表示用户的请求频率,请求频率阈值可根据具体情况设定,示例性的,频率阈值设定为30。每记录一次htN计算一次htf,当htf<30时认为用户行为无异常,当htf>=30时可认为用户行为存在异常,需对该用户进行下一步的处理。
S4:对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库。
作为示例的,本步骤的目的在于进一步判定该用户是不是爬虫,验证方法包括防机器识别验证码和短信上行验证。
其中,防机器识别验证码使用对象是访问频率超过阈值的用户和可能是低频爬虫的用户。防机器识别验证码随机生成之后,要求用户输入并验证,同时设定验证次数,示例性的,用户连续15次验证失败,则认为该用户很有可能是爬虫,为最大限度降低误伤真实用户的概率,对该用户进行最后一步验证,对该用户发起短信上行验证,由后端生成验证码,将生成的验证码和接收号码发给用户,让用户向接收号码发送指定的验证码,示例性的,用户短信验证5次仍未通过,则判定该用户是爬虫,将其IP地址加入多维度名单库。
S5:当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代。
具体来说,
当多维度名单库中的数据达到一定规模可用于分析建模时,示例性的,多维度名单库中有30条爬虫信息,从正常用户和爬虫的请求信息中提取以下参数:
T:请求时段。由IP的请求时间戳中获取,读取时间戳中的小时部分,将24小时等分为12份,分别计1到12,示例性的,用户在上午8点请求资源,则T的值为4。异常时段访问的用户有可能是爬虫。
F:请求频率。用户单位时间内向服务器发起请求的次数,这个时间通常较短,重点是关注它的频率,示例性的,每1分钟计算一次请求频率。请求频繁的用户可能是爬虫,更准确的描述是越规律的请求频率越有可能是爬虫。
M:请求量。用户在更长的时间内向服务器发起请求的总次数,这个时间通常较长,重点关注它的体量,示例性的,每2小时计算一次请求总量。不论是高频爬虫还是低频爬虫,它总是有规律可循的。即便是随机时间的爬虫,在一定时间区间内的请求还是有规律可循的。
B:请求比。记录一定时间内用户向服务器请求不同URL的次数,对它们排序取前五个URL,前五个高频请求的URL的次数比即为请求比,示例性的,每2小时计算一次请求比。若用户再一定时间内对某几个URL的访问次数十分规律,那该用户有可能是爬虫。这个规律具体表现为用户对服务器的几个核心URL的访问量的比值是相对恒定的。
根据所述四个参数建立逻辑回归模型,模型具体如下:
其中S(θ)是一个(0,1)之间的数,表示模型计算的结果。e是自然对数的底数。θ(x)表示当前用户是否为爬虫,0表示正常用户,1表示爬虫。β0表示系统残差,也是模型的常数项。β1、β2、β3、β4为四个参数项的系数,五个未知参数可通过训练模型得到。
其中,逻辑回归模型识别爬虫的机制在于,爬虫用户和非爬虫用户的行为是有区别的,具体表现为模型所述的四个参数,模型通过大量数据提取出其中的差异,当有新用户请求资源时,就可通过所述参数计算出它可能为爬虫的概率。当参数M、B取值范围合适,就可捕捉到隐蔽爬虫的周期性活动,从而实施反制。
用所述数据对模型进行训练,从而得到β0、β1、β2、β3、β4五个系数的值。得到系数值后,对于新访问的IP,直接使用逻辑回归模型进行识别。由逻辑回归模型的特性,S(θ)越接近0,该用户是正常用户的可能性越大;S(θ)越接近1,该用户是爬虫的可能性越大。若将用户请求的T、F、M、B参数代入模型中得结果S(θ)>0.5,则可以认为此用户是爬虫,也可以根据情况将这一临界值调高,降低误判率。
S6:使用逻辑回归识别模型识别出行为异常的用户,并执行步骤S4。
通过模型识别出行为异常的用户,视作可能是爬虫的用户,仍不能直接判定该用户为爬虫,不能完全依赖和信任模型,需要执行步骤S4进入用户验证的步骤。
需要特别说明的是,通过步骤S4识别出爬虫的用户后,又可以通过爬虫数据迭代模型,优化模型参数,提高模型精度,时间越久,模型的精准度会越高。因此,步骤S5还包括:当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代。
另外,在本方法提供的整个识别过程中,需要维护逻辑回归识别模型、访问日志表和多维度名单库。访问日志字段包括用户IP地址、用户操作系统版本、用户使用中央处理器类型、用户使用浏览器版本、用户请求的统一资源定位符、用户请求时间等。多维度名单库包含用户源IP地址、设备指纹、封禁时间等维度。
其中日志表主要用于进行用户User-Agent识别,通过正则表达式匹配对User-Agent信息进行解析,可直接对部分爬虫进行识别,识别到爬虫后将其IP地址直接加入多维度名单库中,并拒绝该用户的资源请求。但是User-Agent识别只能过滤部分爬虫,爬虫与反爬虫经过漫长的对抗演化已经产生爬虫避免被User-Agent识别出来的手段,主要的识别功能还是通过后续的流程来实现。
其中多维度名单库用于检索发起资源请求的用户是否已经被纳入名单中、迭代逻辑回归模型,随着时间推移被识别出来的爬虫逐渐增多,逻辑回归模型和多维度名单库识别爬虫的效率也会随之提高。如此经过层层验证之后才最终判定用户是否为爬虫,最大限度减少误判,提高真实用户的使用体验。
作为示例的,关于逻辑回归识别模型的参数,所述模型只有请求时段(T)、请求频率(F)、请求量(M)、请求比(B)四个参数,如果模型参数减少或者增加,它仍然具有一定的识别功能,只是效率会有所改变。基于此,模型可增加用户每次访问时长的参数H,即用户访问服务到离开服务器的时间,可以使得模型的识别效果有所提高,这是本方法的一个代替方案。
本实施例提供了一种爬虫识别方法,通在过服务器端维护一个多维度名单库,接收到用户资源请求时识别其请求信息,设定用户行为规则,通过对用户的请求频率、请求时段进行统计,设置对应的阈值,未超过阈值视为正常用户,允许正常访问,访问频率超过正常阈值或访问时段不合常理则认为用户行为异常,对行为异常的用户采取阶梯处罚的机制,首先进行验证码验证,触发预设的防机器识别自动生成验证码程序,若用户多次验证码验证失败,则很可能是爬虫,此时升级处罚力度,对用户进行短信上行验证,若多次未通过短信上行验证,则判定该用户为爬虫,将其列入多维度名单库。当多维度名单库达到一定规模后,使用逻辑回归算法建立爬虫识别模型,使用模型识别爬虫,当名单库增长量达到一定程度后,使用新增数据进行模型迭代,使其不断提高识别效率。
实施例二:
基于实施例一,如图2所示,本发明还公开了一种爬虫识别系统,包括:信息识别模块1、判断模块2、异常识别模块3、用户验证模块4、模型组建及迭代模块5和模型识别模块6。
信息识别模块1,用于接收到用户资源请求时识别其请求信息。
判断模块2,用于判断是否有用于识别爬虫的逻辑回归识别模型。
异常识别模块3,用于根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户。
用户验证模块4,用于对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库。
模型组建及迭代模块5,用于当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代。
模型识别模块6,用于使用逻辑回归识别模型识别出行为异常的用户。
本实施例提供了一种爬虫识别系统,通过访问信息识别、访问频率统计、逻辑回归模型识别、用户访问验证技术的整合与创新,建立多维立体的爬虫识别模式,在提高识别精确度的同时最大限度降低误伤真实用户的可能性。
实施例三:
本实施例公开了一种爬虫识别装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的爬虫识别程序时实现以下步骤:
1、接收到用户资源请求时识别其请求信息。
2、判断是否有用于识别爬虫的逻辑回归识别模型;若否,则执行步骤3,若是,则执行步骤6。
3、根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户。
4、对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库。
5、当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代。
6、使用逻辑回归识别模型识别出行为异常的用户,并执行步骤4。
进一步的,本实施例中的爬虫识别装置,还可以包括:
输入接口,用于获取外界导入的爬虫识别程序,并将获取到的爬虫识别程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于USB接口、串行接口等。
通讯单元,用于在爬虫识别装置和外部服务器之间建立远程通讯连接,以便于爬虫识别装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
鼠标,可以用于协助用户输入数据并简化用户的操作。
实施例四:
本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有爬虫识别程序,所述爬虫识别程序被处理器执行时实现以下步骤:
1、接收到用户资源请求时识别其请求信息。
2、判断是否有用于识别爬虫的逻辑回归识别模型;若否,则执行步骤3,若是,则执行步骤6。
3、根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户。
4、对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库。
5、当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代。
6、使用逻辑回归识别模型识别出行为异常的用户,并执行步骤4。
综上所述,本发明通过访问信息识别、访问频率统计、逻辑回归模型识别、用户访问验证技术的整合与创新,建立多维立体的爬虫识别模式,在提高识别精确度的同时最大限度降低误伤真实用户的可能性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的种爬虫识别方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种爬虫识别方法,其特征在于,包括如下步骤:
S1:接收到用户资源请求时识别其请求信息;
S2:判断是否有用于识别爬虫的逻辑回归识别模型;若否,则执行步骤S3,若是,则执行步骤S6;
S3:根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户;
S4:对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库;
S5:当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代;
S6:使用逻辑回归识别模型识别出行为异常的用户,并执行步骤S4。
2.根据权利要求1所述的爬虫识别方法,其特征在于,所述步骤S1包括:
识别请求信息中的请求行信息和请求头信息;
请求行信息包括:请求方式信息和统一资源定位符;
请求头信息包括:源IP和User-Agent。
3.根据权利要求2所述的爬虫识别方法,其特征在于,所述步骤S3包括:
根据请求频次信息和请求时段信息计算出用户请求频率,当用户请求频率小于设定阈值时,认定用户行为无异常;当用户请求频率大于等于设定阈值是,认定用户行为存在异常。
5.根据权利要求3所述的爬虫识别方法,其特征在于,所述步骤S4包括:
随机生成防机器识别验证码,并要求行为异常的用户输入并验证;
当该用户连续N次验证失败后,对该用户发起短信上行验证,由后端生成验证码,将生成的验证码和接收号码发给用户,让用户向接收号码发送指定的验证码;当该用户进行n次短信验证仍未通过,则判断该用户为爬虫,,将其IP地址加入多维度名单库。
7.根据权利要求6所述的爬虫识别方法,其特征在于:
所述请求时段T,由IP的请求时间戳中获取,读取时间戳中的小时部分,将24小时等分为12份,分别计1到12;
所述请求频率F为用户在单位时间内向服务器发起请求的次数;
所述请求量M为用户在预设时长内向服务器发起请求的总次数;
所述请求比的生成过程包括:记录一定时间内用户向服务器请求不同URL的次数,对它们按照请求频率由高到低排序后取前五个URL,前五个高频请求的URL的次数比即为请求比。
8.一种爬虫识别系统,其特征在于,包括:
信息识别模块,用于接收到用户资源请求时识别其请求信息;
判断模块,用于判断是否有用于识别爬虫的逻辑回归识别模型;
异常识别模块,用于根据请求信息中的请求频次信息和请求时段信息识别出行为异常的用户;
用户验证模块,用于对行为异常的用户进行用户验证,根据验证结果确定用户为爬虫,并将爬虫信息加入多维度明单库;
模型组建及迭代模块,用于当多维度明单库中的爬虫信息达到预设阈值时,通过正常用户和爬虫的请求信息建立用于识别爬虫的逻辑回归识别模型;当多维度明单库爬虫信息的增长量达到增长阈值时,使用新增的爬虫信息进行逻辑回归识别模型的迭代;
模型识别模块,用于使用逻辑回归识别模型识别出行为异常的用户。
9.一种爬虫识别装置,其特征在于,包括:
存储器,用于存储爬虫识别程序;
处理器,用于执行所述爬虫识别程序时实现如权利要求1至7任一项权利要求所述的爬虫识别方法的步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有爬虫识别程序,所述爬虫识别程序被处理器执行时实现如权利要求1至7任一项权利要求所述的爬虫识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211578916.6A CN115865507A (zh) | 2022-12-06 | 2022-12-06 | 一种爬虫识别方法、系统、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211578916.6A CN115865507A (zh) | 2022-12-06 | 2022-12-06 | 一种爬虫识别方法、系统、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115865507A true CN115865507A (zh) | 2023-03-28 |
Family
ID=85671501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211578916.6A Pending CN115865507A (zh) | 2022-12-06 | 2022-12-06 | 一种爬虫识别方法、系统、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865507A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150542A (zh) * | 2023-04-21 | 2023-05-23 | 河北网新数字技术股份有限公司 | 一种动态页面的生成方法和装置及存储介质 |
-
2022
- 2022-12-06 CN CN202211578916.6A patent/CN115865507A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150542A (zh) * | 2023-04-21 | 2023-05-23 | 河北网新数字技术股份有限公司 | 一种动态页面的生成方法和装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9288124B1 (en) | Systems and methods of classifying sessions | |
CN101971591B (zh) | 分析网址的系统及方法 | |
CN107707545B (zh) | 一种异常网页访问片段检测方法、装置、设备及存储介质 | |
CN107862022B (zh) | 文化资源推荐系统 | |
CN106874253A (zh) | 识别敏感信息的方法及装置 | |
CN110609937A (zh) | 一种爬虫识别方法及装置 | |
CN101388035A (zh) | 在因特网搜索引擎上检测无效点击的方法和设备 | |
CN108023868B (zh) | 恶意资源地址检测方法和装置 | |
CN109241733A (zh) | 基于Web访问日志的爬虫行为识别方法及装置 | |
CN110708339B (zh) | 一种基于web日志的关联分析方法 | |
CN109729044A (zh) | 一种通用的互联网数据采集反反爬系统及方法 | |
CN114338064B (zh) | 识别网络流量类型的方法、装置、系统、设备和存储介质 | |
CN114528457A (zh) | Web指纹检测方法及相关设备 | |
CN115865507A (zh) | 一种爬虫识别方法、系统、装置及可读存储介质 | |
CN111866196A (zh) | 一种域名流量特征提取方法、装置、设备及可读存储介质 | |
CN112839014A (zh) | 建立识别异常访问者模型的方法、系统、设备及介质 | |
CN111625700A (zh) | 防抓取的方法、装置、设备及计算机存储介质 | |
CN111241821B (zh) | 确定用户的行为特征的方法和装置 | |
JP2017167829A (ja) | 検出装置、検出方法及び検出プログラム | |
CN106126538B (zh) | 页面的转化处理方法及装置 | |
CN112182520B (zh) | 非法账号的识别方法、装置、可读介质及电子设备 | |
CN113923011A (zh) | 一种网络诈骗的预警方法、装置、计算机设备及存储介质 | |
CN112926037A (zh) | 物联网认证方法、装置及存储介质 | |
CN113626387A (zh) | 一种任务数据的导出方法、装置、电子设备及存储介质 | |
CN112261001A (zh) | 一种基于流量数据分析的服务器行为监控方法 |
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 |