CN109600272A - 爬虫检测的方法及装置 - Google Patents

爬虫检测的方法及装置 Download PDF

Info

Publication number
CN109600272A
CN109600272A CN201710939659.7A CN201710939659A CN109600272A CN 109600272 A CN109600272 A CN 109600272A CN 201710939659 A CN201710939659 A CN 201710939659A CN 109600272 A CN109600272 A CN 109600272A
Authority
CN
China
Prior art keywords
crawler
access
visitor
link
traps
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.)
Granted
Application number
CN201710939659.7A
Other languages
English (en)
Other versions
CN109600272B (zh
Inventor
潘峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201710939659.7A priority Critical patent/CN109600272B/zh
Publication of CN109600272A publication Critical patent/CN109600272A/zh
Application granted granted Critical
Publication of CN109600272B publication Critical patent/CN109600272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种爬虫检测的方法及装置,涉及互联网技术领域,为解决现有现有的爬虫检测的方式无法更有效进行爬虫的识别检测的问题而发明。本发明的方法包括:接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;判断所述目标链接是否为预设陷阱链接;若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;根据判断的结果确定所述访问者是否为爬虫。本发明适合应用在网站爬虫检测的过程中。

Description

爬虫检测的方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种爬虫检测的方法及装置。
背景技术
随着大数据时代的来临,数据的价值越来越大,而爬虫作为一种获取互联网数据的方式,其运用也越来越广泛。对于一个网站来说,爬虫的爬取可以有效提高网站的搜索引擎优化(SearchEngineOptimization,SEO),增加网站内容的曝光度。然而,爬虫的爬取也存在一些弊端,具体的由于爬虫的爬取必定会占用一定的资源,尤其是一些恶意爬虫会占用大量的资源,然而网站服务器的处理能力和网络带宽等资源都是有限的,所以在资源总量固定的前提下,爬虫占用的资源越多,那么属于访客的资源就越少,这样就导致了网站的服务能力下降,甚至导致网站瘫痪;另外一些恶意爬虫还会对网站进行攻击。因此,对于网站来说,需要对爬虫的爬取进行限制,而对爬虫的爬取限制,首先要进行爬虫检测。
爬虫检测的思想是通过对访问者访问行为进行总结归纳,整理出一定的规则,来判断一次访问行为是否为爬虫访问。目前常用的两种爬虫检测方法为:第一种,记录访问者的IP地址以及一个IP地址在一定时间内的访问次数,如果访问次数超过某个阈值,那么认定其为爬虫;第二种,在页面上设置一些隐藏的链接,这些链接对正常的用户是不可见的,而一般爬虫爬取时分析的是网页源代码,这些链接在源代码中是可见的,如果网站收到对这些隐藏链接的访问,那么就可以认定当前访问为爬虫。
对于上述第一种爬虫检测的方法,对于爬虫主动的控制爬取频率,或者频繁的更换IP来访问的情况,则无法识别爬虫;对于第二种爬虫检测的方法,目前已经有部分爬虫已经可以支持识别隐藏链接的能力,因此对于这种爬虫也无法识别。综上,现有的爬虫检测的方式无法更有效进行爬虫的识别检测。
发明内容
鉴于上述问题,本发明提供一种爬虫检测的方法及装置,为了提供一种更有效的爬虫检测的方式。
为解决上述技术问题,第一方面,本发明提供了一种爬虫检测的方法,该方法包括:
接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;
判断所述目标链接是否为预设陷阱链接;
若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;
根据判断的结果确定所述访问者是否为爬虫。
可选的,在接收访问者对网站的访问请求之前,所述方法还包括:
将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
将所述预设页面对应的标识信息确定为预设refer字段值。
可选的,所述方法还包括:
将所有预设陷阱链接存储到陷阱链接库中;
所述判断所述目标链接是否为预设陷阱链接,包括:
将所述目标链接与所述陷阱链接库中的预设陷阱链接比对,确定所述目标链接是否为预设陷阱链接。
可选的,所述根据判断的结果确定所述访问者是否为爬虫,包括:
若所述访问请求中没有携带refer字段,则确定所述访问者为爬虫。
可选的,所述方法还包括:
若所述访问请求中携带有refer字段,则判断所述refer字段的值是否等于所述预设refer字段值;
若不等于预设refer字段值,则确定所述访问者为爬虫。
可选的,所述方法还包括:
若所述refer字段的值等于预设refer字段值,则根据访问记录库判断所述访问者在该次访问之前是否有访问所述预设页面的历史记录,所述访问记录库中保存最近预设时段内的访问记录;
若没有历史记录,则确定所述访问者为爬虫。
第二方面,本发明还提供了一种爬虫检测的装置,该装置包括:
获取单元,用于接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;
第一判断单元,用于判断所述目标链接是否为预设陷阱链接;
第二判断单元,用于若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;
第一确定单元,用于根据判断的结果确定所述访问者是否为爬虫。
可选的,所述装置还包括:
设置单元,用于在接收访问者对网站的访问请求之前,将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
第二确定单元,用于将所述预设页面对应的标识信息确定为预设refer字段值。
可选的,所述装置还包括:
存储单元,用于将所有预设陷阱链接存储到陷阱链接库中;
所述第一判断单元还用于:
将所述目标链接与所述陷阱链接库中的预设陷阱链接比对,确定所述目标链接是否为预设陷阱链接。
可选的,所述第一确定单元,用于:
若所述访问请求中没有携带refer字段,则确定所述访问者为爬虫。
可选的,所述装置还包括:
第三判断单元,用于若所述访问请求中携带有refer字段,则判断所述refer字段的值是否等于所述预设refer字段值;
第三确定单元,用于若不等于预设refer字段值,则确定所述访问者为爬虫。
可选的,所述装置还包括:
第四判断单元,用于若所述refer字段的值等于预设refer字段值,则根据访问记录库判断所述访问者在该次访问之前是否有访问所述预设页面的历史记录,所述访问记录库中保存最近预设时段内的访问记录;
第四确定单元,用于若没有历史记录,则确定所述访问者为爬虫。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的爬虫检测的方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的爬虫检测的方法。
借由上述技术方案,本发明提供的爬虫检测的方法及装置,依据正常访问者在访问预设陷阱链接时,会携带有访问来源参考refer字段,而爬虫不会携带的原理,本发明提出当访问者访问预设陷阱链接时,根据访问者访问请求中是否携带有refer字段来判断访问者是否为爬虫。与现有的爬虫检测的方式相比,对于爬虫主动的控制爬取频率,或者频繁的更换网间协议(Internet Protocol,IP)地址来访问的情况以及可以支持识别隐藏链接的能力的爬虫都可以进行有效的爬虫识别检测,所以相比于现有的爬虫检测方式更有效。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种爬虫检测的方法流程图;
图2示出了本发明实施例提供的另一种爬虫检测的方法流程图;
图3示出了本发明实施例提供的一种爬虫检测的方法执行的流程图;
图4示出了本发明实施例提供的一种爬虫检测的装置的组成框图;
图5示出了本发明实施例提供的另一种爬虫检测的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了提供一种更有效的爬虫检测的方式,本发明实施例提供了一种爬虫检测的方法,如图1所示,该方法包括:
101、接收访问者对网站的访问请求后,获取访问请求中访问的目标链接。
当访问者对网站进行访问时,是通过访问者对应的客户端向服务器发送访问请求的方式进行访问的。访问请求中会携带想要访问的目标链接,以使服务器根据目标链接返回对应于目标链接的网站内容。因此可以从访问请求中获取访问的目标链接。需要说明的是,本实施例中的访问者包括正常的访问者以及爬虫。
102、判断目标链接是否为预设陷阱链接。
预设陷阱链接是提前设置好的用于进行爬虫检测的属于网站的一部分链接。并且只有当访问者对预设陷阱链接访问的时候,才能够进行爬虫的检测,因此判断当前访问者是否为爬虫的前提必须是访问者对预设陷阱链接进行请求访问,所以需要判断访问者请求访问的目标链接是否为预设陷阱链接,如果不是预设陷阱链接,则不会再继续后续步骤。本实施例中预设陷阱链接是出现在访问的网站的某一特定页面的链接,优选的预设陷阱链接是只出现在访问的网站的某一特定页面的链接。
103、若目标链接为预设陷阱链接,则判断访问请求中是否携带有refer字段。
若目标链接为预设陷阱链接,则表示可以进行爬虫检测,具体的检测方法是:先判断访问请求中是否携带有refer字段,refer字段是对应访问来源的信息。比如访问者是通过访问页面A之后再进行的目标链接的请求访问,那么在请求访问中就会携带有refer字段,并且refer字段的值为A。由步骤102可知优选的预设陷阱链接是只出现在网站的某一特定页面的链接,所以要想访问预设陷阱链接,则必然需要先访问上述某一特定页面,因此对于网站正常的访问者,访问请求中都会携带有refer字段,然而爬虫的访问请求是模拟的,并且模拟的访问请求通常不会携带有refer字段。因此本实施例中能够通过先判断访问请求中是否携带有refer字段,然后使步骤104以此判断的结果进行爬虫的识别检测。
104、根据判断的结果确定访问者是否为爬虫。
具体是根据步骤103得到的访问请求中是否携带有refer字段来确定访问者是否不是爬虫。
本发明实施例提供的爬虫检测的方法,依据正常访问者在访问预设陷阱链接时,会携带有访问来源参考refer字段,而爬虫不会携带的原理,本发明提出当访问者访问预设陷阱链接时,根据访问者访问请求中是否携带有refer字段来判断访问者是否为爬虫。与现有的爬虫检测的方式相比,对于爬虫主动的控制爬取频率,或者频繁的更换IP来访问的情况以及可以支持识别隐藏链接的能力的爬虫都可以进行有效的爬虫识别检测,所以相比于现有的爬虫检测方式更有效。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种爬虫检测的方法,如图2所示。
201、接收访问者对网站的访问请求后,获取访问请求中访问的目标链接。
本步骤的实现方式与图1步骤101的实现方式相同,此处不再赘述。
202、将目标链接与陷阱链接库中的预设陷阱链接比对,确定目标链接是否为预设陷阱链接。
将目标链接与陷阱链接库中的预设陷阱链接比对,若预设陷阱链接库中存在与步骤101得到的目标链接相同的链接,则确定目标链接为预设陷阱链接;若预设陷阱链接库中不存在与步骤101得到的目标链接相同的链接,确定目标链接不是预设陷阱链接。
其中,陷阱链接库中包含所有的预设陷阱链接,预设陷阱链接是预先设置并存储到陷阱链接库中的。本实施例中具体是将出现在网站中的预设页面上的指定链接设置为预设陷阱链接,优选的是将满足只出现在网站中的预设页面上的指定链接设置为预设陷阱链接。其中预设页面是用户根据实际的需求自由选择设定的,本实施例中的预设页面对应于图1中的某一特定网页,指定链接为预设页面上的部分或所有链接。
203、若目标链接为预设陷阱链接,则判断访问请求中是否携带有refer字段。
本步骤的实现方式与图1步骤103的实现方式相同,此处不再赘述。
204、若访问请求中没有携带refer字段,则确定访问者为爬虫。
由于爬虫在进行访问时,访问请求中不会携带表明访问来源的refer字段,因此如果访问请求中没有携带refer字段,则能够确定访问者为爬虫。
205、若访问请求中携带有refer字段,则判断refer字段的值是否等于预设refer字段值。
如果访问请求中携带有refer字段,也不能完全确定当前访问者不是爬虫,因此还需要进一步判断携带的refer字段的值是否正确,即判断refer字段的值是否等于预设refer字段值。其中预设refer字段值是步骤202中预设页面对应的标识信息,给出具体的示例进行说明,若预设页面B对应的标识信息为B,则将预设refer值设为B。
判断refer字段的值是否等于预设refer字段值,是为了确定访问者是否是通过访问预设页面之后进行的预设陷阱链接的请求访问,因为优选的预设陷阱链接是只出现在预设页面中的链接,正常的访问者必须通过访问预设页面之后才可以进行预设陷阱链接的请求访问。
206、若不等于预设refer字段值,则确定访问者为爬虫。
若访问请求中携带的refer字段的值不等于预设refer字段值,则表示访问者不是通过访问预设页面之后进行的预设陷阱链接的请求访问,因此可以确定当前访问者不是正常访问者,而是爬虫。
207、若refer字段的值等于预设refer字段值,则根据访问记录库判断访问者在该次访问之前是否有访问预设页面的历史记录。
若访问请求中携带的refer字段的值不等于预设refer字段值,也不能完全确定当前访问者不是爬虫,还需要进一步根据访问记录库判断访问者在该次访问之前是否有访问预设页面的历史记录,其中访问记录库中记录每个访问者的IP地址以及对应的每次访问的页面,并且访问记录库中保存最近预设时段内的访问记录。具体的根据访问记录库判断访问者在该次访问之前是否有访问预设页面的历史记录,可以为将当前访问者的IP地址与访问记录库中的IP地址进行比对,判断是否存在当前访问者的IP地址,若存在还要判断访问记录库中与当前访问者的IP地址相同的IP地址对应的访问页面中是否存在预设页面。
由于通常爬虫在进行访问网站时,前后两次的使用的IP地址通常是不同的,所以如果访问者是爬虫,则爬虫在访问预设页面时使用的IP地址与当前对预设陷阱链接进行请求访问时的IP地址是不同,即当前IP地址没有对应的预设页面访问的历史记录。因此能够根据访问记录库判断访问者在该次访问之前是否有访问预设页面的历史记录来进行爬虫的识别检测。
另外需要说明的是,访问记录库中保存最近预设时段内的访问记录的目的:一是可以减少数据压力,及时将过期的数据清除;二是爬虫有可能在预设时段之外有访问预设页面的历史记录的情况,而实际应用中检测爬虫主要是检测在短时间内多次对网站进行爬取的恶意爬虫,而对于间隔较长时间对网站进行爬取的爬虫,即在预设时段之外有访问预设页面的历史记录的爬虫,通常不会对网站的正常的用户访问造成恶意影响,不作为本实施例中爬虫检测的对象。因此访问记录库中保存最近预设时段内的访问记录,也可以排除对网站没有恶意影响的爬虫的识别检测。
208、若没有历史记录,则确定访问者为爬虫。
根据步骤207的判断结果,若访问记录库中访问者在该次访问之前没有访问预设页面的历史记录,即访问记录库中不存在当前访问者的IP地址,或者即使存在当前访问者的IP地址,但是访问记录库中与当前访问者的IP地址相同的IP地址对应的访问页面中不存在预设页面。
若判断访问记录库中访问者在该次访问之前没有访问预设页面的历史记录,则确定当前访问者为爬虫;若判断访问记录库中访问者在该次访问之前有访问预设页面的历史记录,则确定当前访问者不是爬虫是正常的访问者。
与图2实施例的爬虫检测的方法相对应,给出一种爬虫检测的方法执行的流程图,如图3所示:方法执行开始后,获取访问请求求中的目标链接,是获取当前访问者对网站的访问请求中的包含的目标链接;然后将目标链接与陷阱链接库进行比对,即将目标链接与陷阱链接库中的预设陷阱链接比对,并确定目标链接是否为预设陷阱链接,具体的实现方式可以参见上述步骤202;若目标链接不是预设陷阱链接,则无法进行爬虫检测,直接结束;若目标链接是预设陷阱链接,则判断访问请求中是否携带有refer字段;若没有携带refer字段,则确定当前访问者是爬虫,然后结束;若携带有refer字段,则判断携带的refer字段是否正确,即判断携带的refer字段是否为预设refer字段,具体的实现方式参见上述步骤205;若携带的refer字段不正确,则确定当前访问者是爬虫,然后结束;若携带的refer字段正确,则比对访问记录库,即将当前访问者的IP地址与访问记录库中所有的IP地址进行比对,然后判断访问记录库中是否有访问记录,即判断访问记录库中与当前访问者IP地址相同的IP地址对应的访问记录中是否有对预设页面访问的历史记录;若没有历史记录,则确定当前访问者为爬虫,然后结束;若有历史记录,则确定当前访问者不是爬虫,然后结束。
进一步的,作为对上述图1、图2以及图3所示方法的实现,本发明实施例另一实施例还提供了一种爬虫检测的装置,用于对上述图1、图2以及图3所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:获取单元301、第一判断单元302、第二判断单元303以及第一确定单元304。
获取单元301,接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;
当访问者对网站进行访问时,是通过访问者对应的客户端向服务器发送访问请求的方式进行访问的。访问请求中会携带想要访问的目标链接,以使服务器根据目标链接返回对应于目标链接的网站内容。因此可以从访问请求中获取访问的目标链接。需要说明的是,本实施例中的访问者包括正常的访问者以及爬虫。
第一判断单元302,用于判断所述目标链接是否为预设陷阱链接;
预设陷阱链接是提前设置好的用于进行爬虫检测的属于网站的一部分链接。并且只有当访问者对预设陷阱链接访问的时候,才能够进行爬虫的检测,因此判断当前访问者是否为爬虫的前提必须是访问者对预设陷阱链接进行请求访问,所以需要判断访问者请求访问的目标链接是否为预设陷阱链接,如果不是预设陷阱链接,则不会再继续后续步骤。本实施例中预设陷阱链接是出现在访问的网站的某一特定页面的链接,优选的,预设陷阱链接是只出现在访问的网站的某一特定页面的链接。
第二判断单元303,用于若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;
若目标链接为预设陷阱链接,则表示可以进行爬虫检测,具体的检测方法是:先判断访问请求中是否携带有refer字段,refer字段是对应访问来源的信息。比如访问者是通过访问页面A之后再进行的目标链接的请求访问,那么在请求访问中就会携带有refer字段,并且refer字段的值为A。由第一判断单元302可知优选的预设陷阱链接是只出现在网站的某一特定页面的链接,所以要想访问预设陷阱链接,则必然需要先访问上述某一特定页面,因此对于网站正常的访问者,访问请求中都会携带有refer字段,然而爬虫的访问请求是模拟的,并且模拟的访问请求通常不会携带有refer字段。因此本实施例中能够通过先判断访问请求中是否携带有refer字段,然后使第一确定单元304以此判断的结果进行爬虫的识别检测。
第一确定单元304,用于根据判断的结果确定所述访问者是否为爬虫。
如图5所示,所述装置还包括:
设置单元305,用于在接收访问者对网站的访问请求之前,将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
第二确定单元306,用于将所述预设页面对应的标识信息确定为预设refer字段值。
如图5所示,所述装置还包括:
存储单元307,用于将所有预设陷阱链接存储到陷阱链接库中;
所述第一判断单元302还用于:
将所述目标链接与所述陷阱链接库中的预设陷阱链接比对,确定所述目标链接是否为预设陷阱链接。
将目标链接与陷阱链接库中的预设陷阱链接比对,若预设陷阱链接库中存在与目标链接相同的链接,则确定目标链接为预设陷阱链接;若预设陷阱链接库中不存在与目标链接相同的链接,确定目标链接不是预设陷阱链接。
所述第一确定单元304,用于:
若所述访问请求中没有携带refer字段,则确定所述访问者为爬虫。
由于爬虫在进行访问时,访问请求中不会携带表明访问来源的refer字段,因此如果访问请求中没有携带refer字段,则能够确定访问者为爬虫。
如图5所示,所述装置还包括:
第三判断单元308,用于若所述访问请求中携带有refer字段,则判断所述refer字段的值是否等于所述预设refer字段值;
判断refer字段的值是否等于预设refer字段值,是为了确定访问者是否是通过访问预设页面之后进行的预设陷阱链接的请求访问,因为优选的预设陷阱链接是只出现在预设页面中的链接,正常的访问者必须通过访问预设页面之后才可以进行预设陷阱链接的请求访问。
第三确定单元309,用于若不等于预设refer字段值,则确定所述访问者为爬虫。
若访问请求中携带的refer字段的值不等于预设refer字段值,则表示访问者不是通过访问预设页面之后进行的预设陷阱链接的请求访问,因此可以确定当前访问者不是正常访问者,而是爬虫。
如图5所示,所述装置还包括:
第四判断单元310,用于若所述refer字段的值等于预设refer字段值,则根据访问记录库判断所述访问者在该次访问之前是否有访问所述预设页面的历史记录,所述访问记录库中保存最近预设时段内的访问记录;
具体的根据访问记录库判断访问者在该次访问之前是否有访问预设页面的历史记录,可以为将当前访问者的IP地址与访问记录库中的IP地址进行比对,判断是否存在当前访问者的IP地址,若存在还要判断访问记录库中与当前访问者的IP地址相同的IP地址对应的访问页面中是否存在预设页面。
由于通常爬虫在进行访问网站时,前后两次的使用的IP地址通常是不同的,所以如果访问者是爬虫,则爬虫在访问预设页面时使用的IP地址与当前对预设陷阱链接进行请求访问时的IP地址是不同,即当前IP地址没有对应的预设页面访问的历史记录。因此能够根据访问记录库判断访问者在该次访问之前是否有访问预设页面的历史记录来进行爬虫的识别检测。
另外需要说明的是,访问记录库中保存最近预设时段内的访问记录的目的:一是可以减少数据压力,及时将过期的数据清除;二是爬虫有可能在预设时段之外有访问预设页面的历史记录的情况,而实际应用中检测爬虫主要是检测在短时间内多次对网站进行爬取的恶意爬虫,而对于间隔较长时间对网站进行爬取的爬虫,即在预设时段之外有访问预设页面的历史记录的爬虫,通常不会对网站的正常的用户访问造成恶意影响,不作为本实施例中爬虫检测的对象。因此访问记录库中保存最近预设时段内的访问记录,也可以排除对网站没有恶意影响的爬虫的识别检测。
第四确定单元311,用于若没有历史记录,则确定所述访问者为爬虫。
若访问记录库中访问者在该次访问之前没有访问预设页面的历史记录,即访问记录库中不存在当前访问者的IP地址,或者即使存在当前访问者的IP地址,但是访问记录库中与当前访问者的IP地址相同的IP地址对应的访问页面中不存在预设页面。
若判断访问记录库中访问者在该次访问之前没有访问预设页面的历史记录,则确定当前访问者为爬虫;若判断访问记录库中访问者在该次访问之前有访问预设页面的历史记录,则确定当前访问者不是爬虫是正常的访问者。
本发明实施例提供的爬虫检测的装置,依据正常访问者在访问预设陷阱链接时,会携带有访问来源参考refer字段,而爬虫不会携带的原理,本发明提出当访问者访问预设陷阱链接时,根据访问者访问请求中是否携带有refer字段来判断访问者是否为爬虫。与现有的爬虫检测的方式相比,对于爬虫主动的控制爬取频率,或者频繁的更换IP来访问的情况以及可以支持识别隐藏链接的能力的爬虫都可以进行有效的爬虫识别检测,所以相比于现有的爬虫检测方式更有效。
所述爬虫检测的装置包括处理器和存储器,上述获取单元301、第一判断单元302、第二判断单元303以及第一确定单元304等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高用户需求分析结果的准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash
RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述爬虫检测的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述爬虫检测的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;判断所述目标链接是否为预设陷阱链接;若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;根据判断的结果确定所述访问者是否为爬虫。
进一步的,在接收访问者对网站的访问请求之前,所述方法还包括:
将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
将所述预设页面对应的标识信息确定为预设refer字段值。
进一步的,所述方法还包括:
将所有预设陷阱链接存储到陷阱链接库中;
所述判断所述目标链接是否为预设陷阱链接,包括:
将所述目标链接与所述陷阱链接库中的预设陷阱链接比对,确定所述目标链接是否为预设陷阱链接。
进一步的,所述根据判断的结果确定所述访问者是否为爬虫,包括:
若所述访问请求中没有携带refer字段,则确定所述访问者为爬虫。
进一步的,所述方法还包括:
若所述访问请求中携带有refer字段,则判断所述refer字段的值是否等于所述预设refer字段值;
若不等于预设refer字段值,则确定所述访问者为爬虫。
进一步的,所述方法还包括:
若所述refer字段的值等于预设refer字段值,则根据访问记录库判断所述访问者在该次访问之前是否有访问所述预设页面的历史记录,所述访问记录库中保存最近预设时段内的访问记录;
若没有历史记录,则确定所述访问者为爬虫。
本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;判断所述目标链接是否为预设陷阱链接;若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;根据判断的结果确定所述访问者是否为爬虫。
进一步的,在接收访问者对网站的访问请求之前,所述方法还包括:
将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
将所述预设页面对应的标识信息确定为预设refer字段值。
进一步的,所述方法还包括:
将所有预设陷阱链接存储到陷阱链接库中;
所述判断所述目标链接是否为预设陷阱链接,包括:
将所述目标链接与所述陷阱链接库中的预设陷阱链接比对,确定所述目标链接是否为预设陷阱链接。
进一步的,所述根据判断的结果确定所述访问者是否为爬虫,包括:
若所述访问请求中没有携带refer字段,则确定所述访问者为爬虫。
进一步的,所述方法还包括:
若所述访问请求中携带有refer字段,则判断所述refer字段的值是否等于所述预设refer字段值;
若不等于预设refer字段值,则确定所述访问者为爬虫。
进一步的,所述方法还包括:
若所述refer字段的值等于预设refer字段值,则根据访问记录库判断所述访问者在该次访问之前是否有访问所述预设页面的历史记录,所述访问记录库中保存最近预设时段内的访问记录;
若没有历史记录,则确定所述访问者为爬虫。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种爬虫检测的方法,其特征在于,所述方法包括:
接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;
判断所述目标链接是否为预设陷阱链接;
若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;
根据判断的结果确定所述访问者是否为爬虫。
2.根据权利要求1所述的方法,其特征在于,在接收访问者对网站的访问请求之前,所述方法还包括:
将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
将所述预设页面对应的标识信息确定为预设refer字段值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所有预设陷阱链接存储到陷阱链接库中;
所述判断所述目标链接是否为预设陷阱链接,包括:
将所述目标链接与所述陷阱链接库中的预设陷阱链接比对,确定所述目标链接是否为预设陷阱链接。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述根据判断的结果确定所述访问者是否为爬虫,包括:
若所述访问请求中没有携带refer字段,则确定所述访问者为爬虫。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述访问请求中携带有refer字段,则判断所述refer字段的值是否等于所述预设refer字段值;
若不等于预设refer字段值,则确定所述访问者为爬虫。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述refer字段的值等于预设refer字段值,则根据访问记录库判断所述访问者在该次访问之前是否有访问所述预设页面的历史记录,所述访问记录库中保存最近预设时段内的访问记录;
若没有历史记录,则确定所述访问者为爬虫。
7.一种爬虫检测的装置,其特征在于,所述装置包括:
获取单元,接收访问者对网站的访问请求后,获取所述访问请求中访问的目标链接;
第一判断单元,用于判断所述目标链接是否为预设陷阱链接;
第二判断单元,用于若所述目标链接为预设陷阱链接,则判断所述访问请求中是否携带有访问来源参考refer字段;
第一确定单元,用于根据判断的结果确定所述访问者是否为爬虫。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
设置单元,用于在接收访问者对网站的访问请求之前,将出现在网站中的预设页面上的指定链接设置为预设陷阱链接;
第二确定单元,用于将所述预设页面对应的标识信息确定为预设refer字段值。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求6中任意一项所述的爬虫检测的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求6中任意一项所述的爬虫检测的方法。
CN201710939659.7A 2017-09-30 2017-09-30 爬虫检测的方法及装置 Active CN109600272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710939659.7A CN109600272B (zh) 2017-09-30 2017-09-30 爬虫检测的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710939659.7A CN109600272B (zh) 2017-09-30 2017-09-30 爬虫检测的方法及装置

Publications (2)

Publication Number Publication Date
CN109600272A true CN109600272A (zh) 2019-04-09
CN109600272B CN109600272B (zh) 2022-03-18

Family

ID=65956971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710939659.7A Active CN109600272B (zh) 2017-09-30 2017-09-30 爬虫检测的方法及装置

Country Status (1)

Country Link
CN (1) CN109600272B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368163A (zh) * 2020-02-24 2020-07-03 网宿科技股份有限公司 一种爬虫数据的识别方法、系统及设备
CN112104600A (zh) * 2020-07-30 2020-12-18 山东鲁能软件技术有限公司 一种基于爬虫蜜罐陷阱的web反渗透方法,系统,设备及计算机可读存储介质
CN115037526A (zh) * 2022-05-19 2022-09-09 咪咕文化科技有限公司 反爬虫方法、装置、设备以及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279516A (zh) * 2013-05-27 2013-09-04 百度在线网络技术(北京)有限公司 网络爬虫识别方法
CN105187396A (zh) * 2015-08-11 2015-12-23 小米科技有限责任公司 识别网络爬虫的方法及装置
CN105447700A (zh) * 2014-08-27 2016-03-30 阿里巴巴集团控股有限公司 支付安全性的检测方法和装置
CN106528779A (zh) * 2016-11-03 2017-03-22 北京知道未来信息技术有限公司 一种基于可变url的爬虫识别方法
US20170180402A1 (en) * 2015-12-18 2017-06-22 F-Secure Corporation Detection of Coordinated Cyber-Attacks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279516A (zh) * 2013-05-27 2013-09-04 百度在线网络技术(北京)有限公司 网络爬虫识别方法
CN105447700A (zh) * 2014-08-27 2016-03-30 阿里巴巴集团控股有限公司 支付安全性的检测方法和装置
CN105187396A (zh) * 2015-08-11 2015-12-23 小米科技有限责任公司 识别网络爬虫的方法及装置
US20170180402A1 (en) * 2015-12-18 2017-06-22 F-Secure Corporation Detection of Coordinated Cyber-Attacks
CN106528779A (zh) * 2016-11-03 2017-03-22 北京知道未来信息技术有限公司 一种基于可变url的爬虫识别方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368163A (zh) * 2020-02-24 2020-07-03 网宿科技股份有限公司 一种爬虫数据的识别方法、系统及设备
CN111368163B (zh) * 2020-02-24 2024-03-26 网宿科技股份有限公司 一种爬虫数据的识别方法、系统及设备
CN112104600A (zh) * 2020-07-30 2020-12-18 山东鲁能软件技术有限公司 一种基于爬虫蜜罐陷阱的web反渗透方法,系统,设备及计算机可读存储介质
CN112104600B (zh) * 2020-07-30 2022-11-04 山东鲁能软件技术有限公司 一种基于爬虫蜜罐陷阱的web反渗透方法,系统,设备及计算机可读存储介质
CN115037526A (zh) * 2022-05-19 2022-09-09 咪咕文化科技有限公司 反爬虫方法、装置、设备以及计算机存储介质
CN115037526B (zh) * 2022-05-19 2024-04-19 咪咕文化科技有限公司 反爬虫方法、装置、设备以及计算机存储介质

Also Published As

Publication number Publication date
CN109600272B (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
RU2628127C2 (ru) Способ и устройство для идентификации поведения пользователя
CN104268229B (zh) 一种基于多进程浏览器的资源获得方法及装置
US20120143844A1 (en) Multi-level coverage for crawling selection
CN109359263B (zh) 一种用户行为特征提取方法及系统
CN109600272A (zh) 爬虫检测的方法及装置
CN109040073A (zh) 一种万维网异常行为访问的检测方法、装置、介质和设备
JP2019512126A (ja) 機械学習システムをトレーニングする方法及びシステム
CN109428776B (zh) 一种网站流量的监控方法及装置
EP3293642A1 (en) Method and apparatus for recording and restoring click position in page
CN109948074A (zh) 网站数据对接方法、装置、存储介质、处理器及电子设备
CN106453444A (zh) 缓存数据共享的方法及设备
EP2976703A1 (en) Apparatus and method for optimizing time series data storage
CN110727664A (zh) 用于对公有云数据执行目标操作的方法与设备
Choudhary et al. An efficient parameter estimation of software reliability growth models using gravitational search algorithm
CN110955846A (zh) 传播路径图生成方法及装置
CN113516246A (zh) 参数优化方法、量子芯片的控制方法及装置
CN109598526A (zh) 媒体贡献的分析方法及装置
CN111368163A (zh) 一种爬虫数据的识别方法、系统及设备
CN109598524A (zh) 品牌曝光效果分析方法及装置
US20130290939A1 (en) Dynamic data for producing a script
CN112800419A (zh) 识别ip团伙的方法、装置、介质及设备
CN114710318A (zh) 一种限制爬虫高频访问的方法、装置、设备及介质
CN107766216A (zh) 一种用于获取应用执行信息的方法与设备
CN110968754B (zh) 一种爬虫翻页策略的检测方法及装置
CN103942084B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant