CN108429721B - 一种网络爬虫的识别方法及装置 - Google Patents
一种网络爬虫的识别方法及装置 Download PDFInfo
- Publication number
- CN108429721B CN108429721B CN201710081453.5A CN201710081453A CN108429721B CN 108429721 B CN108429721 B CN 108429721B CN 201710081453 A CN201710081453 A CN 201710081453A CN 108429721 B CN108429721 B CN 108429721B
- Authority
- CN
- China
- Prior art keywords
- access
- user
- identification
- target
- crawler
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网络爬虫的识别方法及装置,该网络爬虫的识别方法包括:生成爬虫识别指令;根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集;计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集;根据该间隔时长集从该用户标识集中识别出网络爬虫,从而能较准确地识别出网络爬虫,降低漏报率和误报率,识别效果好。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络爬虫的识别方法及装置。
背景技术
网络爬虫是一种自动获取网页内容的程序。对于一个网站而言,恶意爬虫的大量请求会消耗服务器的性能,甚至会造成服务器死机,并且,在文学、影视、电商等行业中,恶意爬虫可被轻易用于批量拉取并复制公开或半公开的信息,严重影响网站服务器安全。
现有的网络爬虫技术根据爬取目标,反制手段和性能要求的差异性,主要可分为高频率脚本爬虫和采集器爬虫,其中:高频率脚本爬虫,目标是以最短的时间差获取到站点的更新内容和全量信息,其主要采用并行遍历网站目录结构的方式,主要特征为访问频率较高且请求量较单一。采集器爬虫,目标是模仿用户正常访问路径保证采集到的数据的准确性和丰富性,其支持多个代理网络协议配置和调用真实网页浏览器进行浏览和抓取,并支持定时循环爬取目标站点等监控特性且可设置爬取请求间隔进行行为特征隐藏。针对这些爬虫类型,现有主流的实时识别恶意爬虫的方法是通过解析网站的服务器记录日志,从日志中找出高频或大量访问该网站的网际协议(Internet Protocol,IP)地址,或统计访问指定目标网络路径占总访问量的比例超过阈值的IP地址来进行判断识别。
但是,这种基于服务器访问日志分析的高速访问频率和大量访问量的检测策略,由于对应检测指标—IP地址粒度过大,导致与正常用户行为区分度不高,比如对于公司或楼宇对外通常只有少数几个公网IP地址,多个用户通过该公网IP地址访问网页的行为容易被误判为高频率脚本的恶意爬虫,而对于一些低频率和抓取量的恶意爬虫,则很难检测出,导致产生较高的误报率和漏报率。
发明内容
本发明的目的在于提供一种网络爬虫的识别方法及装置,以解决现有爬虫识别方法局限性较大,漏报率和误报率较高的技术问题。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种网络爬虫的识别方法,包括:
生成爬虫识别指令;
根据所述爬虫识别指令获取预设时段内存储的用户标识集、以及所述用户标识集中每一用户标识对应的访问时间集;
计算所述访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集;
根据所述间隔时长集从所述用户标识集中识别出网络爬虫。
为解决上述技术问题,本发明实施例还提供以下技术方案:
一种网络爬虫的识别装置,包括:
生成模块,用于生成爬虫识别指令;
获取模块,用于根据所述爬虫识别指令获取预设时段内存储的用户标识集、以及所述用户标识集中每一用户标识对应的访问时间集;
计算模块,用于计算所述访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集;
识别模块,用于根据所述间隔时长集从所述用户标识集中识别出网络爬虫。
本发明所述的网络爬虫的识别方法及装置,通过生成爬虫识别指令,并根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集,之后,根计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,并根据该间隔时长集从该用户标识集中识别出网络爬虫,从而能较准确地识别出网络爬虫,降低漏报率和误报率,识别效果好。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1a是本发明实施例提供的网络爬虫的识别系统的场景示意图;
图1b为本发明实施例提供的网络爬虫的识别方法的流程示意图;
图2a为本发明实施例提供的网络爬虫的识别方法的流程示意图;
图2b为本发明实施例提供的网络爬虫的识别系统的框架示意图;
图3a本发明实施例提供的网络爬虫的识别装置的结构示意图;
图3b本发明实施例提供的网络爬虫的识别装置的另一结构示意图;
图4本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种网络爬虫的识别方法、装置及系统。
请参阅图1a,该网络爬虫的识别系统可以包括本发明实施例所提供的任一种网络爬虫的识别装置,该网络爬虫的识别装置可以集成在服务器中,该服务器可以是网络应用服务器。
其中,服务器可以生成爬虫识别指令,并根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集,之后,根据计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,并根据该间隔时长集从该用户标识集中识别出网络爬虫。
具体的,该用户标识可以包括客户端标识和终端网络标识,该终端网络标识可以是IP地址,该客户端标识可以是用户在客户端的注册名(用户账号)或者客户端自动为每一用户分配的通用标识符,每一连网的终端具有唯一一个IP地址,每一用户对应唯一一个客户端标识。该访问时间集中的每一访问时间指示一次访问操作。该网络爬虫又称网络机器人、网页蜘蛛或网页追逐者等,是一种按照一定的规则自动抓取信息的程序或者脚本。当服务器需要从存储的数据中识别出网络爬虫用户时,可以获取预设时段内本地存储的IP地址、用户账号、以及每一IP地址和用户账号对应的访问时间集,然后,计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,根据该间隔时长集从IP地址和用户账号中识别出网络爬虫。
以下将分别进行详细说明。需说明的是,以下实施例的序号不作为实施例优先顺序的限定。
第一实施例
本实施例将从网络爬虫的识别装置的角度进行描述,请参阅图1b,图1b具体描述了本发明实施例提供的网络爬虫的识别方法,其可以包括:
S101、生成爬虫识别指令。
本实施例中,生成该爬虫识别指令的触发条件可以根据实际需求而定,其可以是指定时间或者指定数据量,其中,该指定时间和指定数据量均可以是用户自行设定的,也可以是服务器出厂时厂家默认设置的。具体的,当该触发条件为指定时间时,到达该指定时间即可以触发服务器生成爬虫识别指令。当该触发条件是指定数据量时,需要实时统计服务器最近存储的数据总量,一旦统计的总量到达指定数据量,即可触发服务器生成爬虫识别指令,并重新开始统计。
S102、根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集。
本实施例中,该预设时段可以根据实际需求而定,其可以是用户自行设定的,也可以是服务器出厂时厂家默认设置的,比如可以是一天或两天。该用户标识可以包括客户端标识和终端网络标识,该终端网络标识可以是IP地址,该客户端标识可以是用户在客户端的注册名或者客户端自动为每一用户分配的通用标识符,每一连网的终端具有唯一一个IP地址,每一用户对应唯一一个客户端标识。通过将客户端标识和终端网络标识作为用户标识,相对于现有只将IP地址作为用户标识的方法来说,可以避免将具有少数几个出口网络地址的企业或网关识别为网络爬虫,提高了识别准确性。该访问时间是指用户请求通过访问地址进行访问操作的时间。
需要说明的是,在获取用户标识集和访问时间集之前,需要预先在服务器中存储这些数据,也即,在上述步骤S102之前,该网络爬虫的识别方法还可以包括:
获取第一终端发送的用户访问请求;
对该用户访问请求进行数据解析,得到当前用户的用户标识和访问时间;
将当前用户的用户标识和访问时间存储在第一预设数据库中。
本实施例中,该第一终端可以包括手机、电脑和交换机等网络设备。该用户访问请求主要是超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求,其指从客户端到服务器端的请求消息,通常,一个HTTP请求可以包括请求头、请求行和请求正文等内容,可以通过对HTTP请求进行字段拆解得到所有信息,之后通过字段匹配获取当前用户的用户标识、访问地址和访问时间等信息。该第一预设数据库可以是分布式数据库,也可以是集中式数据库,通常,为提供大量数据的可靠存储和支持数据高速查询和计算,该第一预设数据库是分布式数据库。
此时,上述步骤S102具体可以包括:根据该爬虫识别指令从第一预设数据库中获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集。
S103、计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集。
本实施例中,可以先将访问时间集中的访问时间按照时间先后顺序或者存储的先后顺序进行排序,之后,计算每两个位于相邻位置的访问时间之间的差值,得到该时长。
S104、根据该间隔时长集从该用户标识集中识别出网络爬虫。
本实施例中,该网络爬虫又称网络机器人、网页蜘蛛或网页追逐者等,是一种按照一定的规则自动抓取信息的程序或者脚本。由于网络爬虫的本质是程序实现,故其访问频率是相对固定的,而人类的访问特点具有一定的随机性,其访问频率并不固定,针对这一特点,可以通过分析每一用户的访问频率固定性来判断该用户是网络爬虫用户还是人类用户。具体的,可以根据每一间隔时长集中,时长相等或者时长在某个方差值内的情况来分析访问频率固定性,也即,上述步骤S104具体可以包括:
1-1、计算每一间隔时长集中相邻两个时长之间的差值,得到每一用户标识对应的差值集。
1-2、根据每一差值集中不大于第一预设阀值的差值确定命中次数。
本实施例中,该第一预设阀值主要指可允许变动的误差范围,其可以是用户自行设定的,也可以是系统默认设置的,通常是一个很小的范围,主要是因为爬虫程序每次的爬取操作所花的时间可能和网页服务器当时的运行情况以及爬虫程序所在终端当时的运行情况有关,运行情况好则所花时间短,运行情况差则所花时间长,但是需要说明的是,即使爬虫程序爬取操作的间隔时长可能不固定,但是彼此之间的差值并不会很大,容易和正常人类用户的随机访问区分开。
例如,在一种实施方式中,上述步骤1-2具体可以包括:
将每一差值集中相邻两个不大于第一预设阀值的差值归为同一组,得到差值组集;
计算该差值组集中每一差值组的差值的数量,并获取数值最大的数量作为命中次数。
本实施例中,可以先将差值集中的差值按照时长的排列顺序进行排序,位于相邻位置的差值即为相邻的差值。比如,若排序后的差值集为0、0、37、37、0、0、0,当第一预设阀值为0时(也即时长相等),可以得到满足条件的两个差值组:0、0,以及0、0、0,此时,该命中次数应为差值最多的差值组中差值的数量3。
在另一种实施方式中,上述步骤1-2可以包括:
统计每一差值集中所有不大于第一预设阀值的差值的数量,并将统计的数量作为命中次数。
比如,若差值集为0、0、37、37、0、0、0,当第一预设阀值为0.04(也即时长在一定方差内)时,符合条件的差值为0,此时,该命中次数为0的个数总和,即为5。
1-3、根据该命中次数从该用户标识集中识别出网络爬虫。
例如,上述步骤1-3具体可以包括:
从所有命中次数中获取不小于第二预设阀值的命中次数,得到目标命中次数;
基于该目标命中次数从该用户标识集中识别出网络爬虫。
本实施例中,该第二预设阀值可以是实验值,该实验值可以是根据一般网络爬虫的爬取频率得到的数值,比如可以设定一个时长,根据网络爬虫的爬取频率计算爬取的间隔时长,并统计所有相等间隔时长的数量,得到该实验值。通常,只有当某个用户的命中次数达到该实验值时,才可以判定该用户的访问频率比较固定,此时,可以将该命中次数确定为目标命中次数。
进一步地,上述步骤“基于该目标命中次数从该用户标识集中识别出网络爬虫”具体可以包括:
将该目标命中次数对应的用户标识确定为网络爬虫;或者,
获取每一用户标识对应的访问地址集,每一访问时间对应一个访问地址;
根据该访问时间集、访问地址集和目标命中次数从该用户标识集中识别出网络爬虫。
本实施例中,通常可以将命中次数达到指定值(也即访问频率比较固定)的用户确定为爬虫用户。当然,为从多个维度识别网络爬虫,以降低识别的漏报率和误报率,除了可以针对访问频率固定性这个维度来识别网络爬虫之外,还可以通过分析每一用户的访问分布集中性来判断该用户是网络爬虫用户还是人类用户,这主要是因为网络爬虫的目标是有价值的数据(也即受保护的数据),在一个足够长的时间段中,网络爬虫访问的接口地址(访问地址)分布应该是相对集中的,而正常人类用户的访问却有一定的随机性,其访问的接口地址分布应该是较分散的。
具体的,可以通过分析每一用户的访问地址和访问时间来得到访问分布集中性,其中,该访问地址可以包括未受保护数据的接口地址和受保护数据的接口地址,该受保护数据主要指通过公共网关接口(Common Gateway Interface,CGI)获得的数据,比如用户发布的文章、小说等,该受保护数据的接口地址也即该CGI地址,该未受保护数据主要指通过其他接口获得的数据。
例如,上述步骤“根据该访问时间集、访问地址集和目标命中次数从该用户标识集中识别出网络爬虫”具体可以包括:
2-1、根据该访问时间集计算每一用户标识对应的总访问次数。
本实施例中,该总访问次数主要指用户访问所有接口地址(包括预设接口地址和其他接口地址)的次数,由于每一访问时间指示一次访问操作,故可以通过统计每一用户标识对应的所有访问时间的条数得到该总访问次数。
2-2、根据该访问地址集和访问时间集计算每一用户标识对应的目标访问次数。
例如,上述步骤2-2具体可以包括:
从该访问地址集中获取预设接口地址;
从该访问时间集中获取该预设接口地址的访问时间;
根据该预设接口地址的访问时间计算每一用户标识对应的目标访问次数。
本实施例中,该预设接口地址主要包括上述CGI地址,其应当由用户提前设置好。该目标访问次数主要为访问CGI地址的次数,通过计算该预设接口地址的访问时间的条数可以得到该目标访问次数。
2-3、根据该总访问次数、目标访问次数和目标命中次数从该用户标识集中识别出网络爬虫。
例如,上述步骤2-3具体可以包括:
2-3-1、计算每一用户标识对应的目标访问次数和总访问次数之间的比值。
本实施例中,通常,比值越接近1,代表该用户的访问分布越集中。
2-3-2、根据该比值和总访问次数从该用户标识集中确定目标用户标识。
本实施例中,为避免将部分人类用户有针对性的获取受保护数据的少数几次操作误认为是网络爬虫,只计算目标访问次数和总访问次数之间的比值是不够的,还需该用户的总访问次数达到一定的数量。
例如,上述步骤2-3-2具体可以包括:
将该比值和第三预设阀值进行比较分析,将该总访问次数与第四预设阀值进行比较分析;
从该用户标识集中筛选出比值不小于第三预设阀值,且同时总访问次数不小于第四预设阀值的用户标识,作为目标用户标识。
本实施例中,该第三预设阀值可以是实验值,该实验值可以是预先利用多个网络爬虫访问指定接口地址得到的多个采样比值,并对该多个采样比值取平均值或者取最小值得到的数值,比如0.99。该第四预设阀值可以是根据一般网络爬虫的爬取频率得到的数值,比如在爬取频率固定的情况下,爬取指定数据量的数据或者爬取指定时间内的数据所需的访问次数,比如100次。通常,只有当用户的总访问次数达到第四预设阀值,预设接口地址的访问率(比值)达到第三预设阀值时,才可以将该用户的用户标识确定为目标用户标识。
2-3-3、将该目标用户标识、以及该目标命中次数对应的用户标识进行合并处理,得到网络爬虫。
本实施例中,可以将该目标用户标识和目标命中次数对应的用户标识都认定为网络爬虫,并删除重复的部分,最终得到的集合即为识别出的网络爬虫。
此外,在识别出所有网络爬虫之后,还可以将这些网络爬虫进行存储,之后可以向业务服务器提供爬虫查询服务,也即,在上述步骤S104之后,该网络爬虫的识别方法还可以包括:
将识别出的网络爬虫存储在第二预设数据库中;
接收第二终端发送的爬虫查询请求,该爬虫查询请求携带待查询用户的用户标识;
根据该第二预设数据库和待查询用户的用户标识生成爬虫查询结果,并将该爬虫查询结果发送至该第二终端,以便该第二终端控制该待查询用户的访问操作。
本实施例中,该第二预设数据库可以根据实际需求而定,其可以是该第一预设数据库中的储存区,也可以是其他存储区。该待查询用户标识也可以包括客户端标识和终端网络标识。该爬虫查询结果可以包括指示当前用户标识为网络爬虫和指示当前用户标识为正常用户。该第二终端可以是该第一终端,也可以是其他终端,其可以包括手机、电脑或业务服务器等网络设备。当将该爬虫查询结果发送至第二终端后,若为网络爬虫,则该第二终端可以禁止该待查询用户后续的访问操作。当然,为保证良性网络爬虫依然可以正常访问,比如一些搜索引擎的良性爬虫,可以设置一个用户标识的白名单,允许白名单上的网络爬虫继续进行访问操作。
进一步地,上述步骤“根据该第二预设数据库和待查询用户标识生成爬虫查询结果”具体可以包括:
将该待查询用户的用户标识与第二预设数据库中存储的网络爬虫进行匹配;
若匹配成功,则生成指示网络爬虫的爬虫查询结果;
若匹配失败,则生成指示人类用户的爬虫查询结果。
本实施例中,当该待查询用户标识和存储的网络爬虫一样时,可以判定匹配成功,当该待查询用户标识和存储的网络爬虫不一样时,可以判定匹配失败。
由上述可知,本实施例提供的网络爬虫的识别方法,通过生成爬虫识别指令,并根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集,之后,根据计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,并根据该间隔时长集从该用户标识集中识别出网络爬虫,从而能较准确地识别出网络爬虫,降低漏报率和误报率,识别效果好。
第二实施例
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该网络爬虫的识别装置集成在服务器、第一终端以及第二终端中为例进行详细说明。
如图2a和图2b所示,一种网络爬虫的识别方法,具体流程可以如下:
S201、服务器获取并解析第一终端发送的用户访问请求,得到当前用户的用户标识、访问地址和访问时间,并将其存储在第一预设数据库中。
譬如,该用户访问请求的获取路径大致有两条,一条是通过分光设备从交换机处进行流量旁路复制操作得到,另一条是从网页服务器处经由数据发送队列进行实时流量数据上报得到。该用户访问请求可以是HTTP请求,其可以包括请求头、请求行和请求正文等内容,服务器可以通过对HTTP请求进行字段拆解得到所有信息,之后通过字段匹配获取当前用户的用户标识、访问地址和访问时间等信息,并存储在分布式数据库中。
S202、服务器生成爬虫识别指令。
譬如,服务器可以在到达指定时间或者指定数据量时生成爬虫识别指令,该指定时间可以是每天早上七点,该指定数据量可以是10G,比如服务器可以每天早上七点,或者当该第一预设数据库中最新累计存储的数据量到达10G时,生成爬虫识别指令。
S203、服务器根据该爬虫识别指令获取预设时段内该第一预设数据库存储的用户标识集,每一用户标识对应的访问地址集和访问时间集,每一访问时间对应一个访问地址。
譬如,该预设时段可以是用户自行设定的,比如一天。该访问地址可以包括CGI地址和其他接口地址,该访问时间集可以包括该CGI地址的访问时间和其他接口地址的访问时间。该用户标识可以包括客户端标识和IP地址,该客户端标识可以是用户在客户端的注册名或者客户端自动为每一用户分配的通用标识符,每一用户对应唯一一个客户端标识。
S204、服务器计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,并计算每一间隔时长集中相邻两个时长之间的差值,得到每一用户标识对应的差值集。
譬如,该用户标识集可以包括{J1、J2…Jn},通过获取{J1、J2…Jn}对应的每一用户的所有访问时间,并按照时间先后顺序对其进行排序,之后,根据排序后的访问时间集计算该用户对应的间隔时长集和差值集。
S205、服务器根据每一差值集中不大于第一预设阀值的差值确定命中次数。
例如,在一种实施方式中,上述步骤S205具体可以包括:
将每一差值集中相邻两个不大于第一预设阀值的差值归为同一组,得到差值组集;
计算该差值组集中每一差值组的差值的数量,并获取数值最大的数量作为命中次数。
譬如,若对差值集中的差值排序后得到的差值集为{0、0、37、37、0、0、0},当第一预设阀值为0(也即时长相等)时,可以得到满足条件的两个差值组{0、0}以及{0、0、0},此时,该命中次数为差值组{0、0、0}中差值0的数量3。
在另一种实施方式中,上述步骤S205具体可以包括:
统计每一差值集中所有不大于第一预设阀值的差值的数量,并将统计的数量作为命中次数。
譬如,若差值集为{0、0、37、37、0、0、0},当第一预设阀值为0时,命中次数为5,也即所有差值为0的差值总数。
S206、服务器从所有命中次数中获取不小于第二预设阀值的命中次数,得到目标命中次数。
譬如,该第二预设阀值可以是100,若用户标识集{J1、J2…Jn}对应的命中次数集为{M1、M2…Mn},当存在Mj≥100时,j∈(1、2…n),可将Mj确定为目标命中次数。
S207、服务器从该访问地址集中获取预设接口地址,并从该访问时间集中获取该预设接口地址的访问时间。
譬如,该预设接口地址可以包括CGI地址,可以从访问时间集中获取用户在该预设时段内访问该CGI地址的访问时间。
S208、服务器根据该预设接口地址的访问时间计算每一用户标识对应的目标访问次数,并根据该访问时间集计算每一用户标识对应的总访问次数。
譬如,由于每一访问时间代表一次访问操作,故当该预设时段是一天时,每一时间集中该CGI地址的访问时间的条数是用户在一天内访问CGI地址的次数,也即目标访问次数A,每一访问时间集的所有访问时间的条数是用户在一天内的访问总数,也即总访问次数B。
S209、服务器计算每一用户标识对应的目标访问次数和总访问次数之间的比值,将该比值和第三预设阀值进行比较分析,将该总访问次数与第四预设阀值进行比较分析。
譬如,比值S=A/B,该第三预设阀值可以是0.99,该第四预设阀值可以是100,将比值S与0.99比较,将总访问次数B与100比较。
S210、服务器从该用户标识集中筛选出比值不小于第三预设阀值,且同时总访问次数不小于第四预设阀值的用户标识,作为目标用户标识。
譬如,若Ji对应的比值S≥0.99,且总访问次数B≥100,则将Ji确定为目标用户标识,其中i∈(1、2…n)。
S211、服务器将该目标用户标识、以及该目标命中次数对应的用户标识进行合并处理,得到网络爬虫,并将该网络爬虫存储在第二预设数据库中。
譬如,若目标命中次数Mj对应的用户标识为Jj,则得到的网络爬虫包括Jj和Ji。
S212、服务器接收第二终端发送的爬虫查询请求,该爬虫查询请求携带待查询用户的用户标识。
譬如,当待查询用户想通过第二终端进行数据访问操作时,若第二终端想知道当前用户是否是爬虫用户,可以生成爬虫查询请求,并将该爬虫查询请求发送至服务器。
S213、服务器将该待查询用户的用户标识与第二预设数据库中存储的网络爬虫进行匹配,若匹配成功,则生成指示网络爬虫的爬虫查询结果,若匹配失败,则生成指示人类用户的爬虫查询结果。
譬如,为加快匹配速度,可以在将识别出的网络爬虫存储到第二预设库的同时,也将其备份到缓存数据库中。该缓存数据库的缓存有效时间可以人为设置,以确保既可以存储最新的网络爬虫,又不会导致内存数据量过大,这样,当需要匹配时,可以先从该缓存数据库进行匹配,方便快捷,只有当缓存数据库匹配不到时,才从第二预设数据库中匹配。
S214、服务器将该爬虫查询结果发送至该第二终端,以便该第二终端根据该爬虫查询结果控制该待查询用户的访问操作。
譬如,第二终端接收到该爬虫查询结果之后,若指示为网络爬虫,则可以禁止该待查询用户的访问操作,若指示为正常用户,则可以允许该待查询用户的访问操作。
由上述可知,本实施例提供的网络爬虫的识别方法,其中服务器可以获取并解析第一终端发送的用户访问请求,得到当前用户的用户标识、访问地址和访问时间,并将其存储在第一预设数据库中,接着,生成爬虫识别指令,并根据该爬虫识别指令获取预设时段内该第一预设数据库存储的用户标识集,每一用户标识对应的访问地址集和访问时间集,每一访问时间对应一个访问地址,之后,计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,并计算每一间隔时长集中任意两个时长之间的差值,得到每一用户标识对应的差值集,之后,根据每一差值集中不大于第一预设阀值的差值确定命中次数,并从所有命中次数中获取不小于第二预设阀值的命中次数,得到目标命中次数,与此同时,为增加识别维度,降低漏报率可以从该访问地址集中获取预设接口地址,并从该访问时间集中获取该预设接口地址的访问时间,接着,根据该预设接口地址的访问时间计算每一用户标识对应的目标访问次数,并根据该访问时间集计算每一用户标识对应的总访问次数,之后,计算每一用户标识对应的目标访问次数和总访问次数之间的比值,将该比值和第三预设阀值进行比较分析,将该总访问次数与第四预设阀值进行比较分析,接着,从该用户标识集中筛选出比值不小于第三预设阀值,且同时总访问次数不小于第四预设阀值的用户标识,作为目标用户标识,随后,将该目标用户标识、以及该目标命中次数对应的用户标识进行合并处理,得到网络爬虫,并将该网络爬虫存储在第二预设数据库中,从而完成整个识别过程,识别准确率高,漏报率和误报率低,识别效果好,此外,服务器还可以接收第二终端发送的爬虫查询请求,该爬虫查询请求携带待查询用户的用户标识,并将该待查询用户的用户标识与第二预设数据库中存储的网络爬虫进行匹配,若匹配成功,则生成指示网络爬虫的爬虫查询结果,若匹配失败,则生成指示人类用户的爬虫查询结果,最后,将该爬虫查询结果发送至该第二终端,以便该第二终端根据该爬虫查询结果控制该待查询用户的访问操作,从而能对外提供爬虫查询服务,有助于整个网络系统的安全运行。
第三实施例
根据实施例一和实施例二所描述的方法,本实施例将从网络爬虫的识别装置的角度进一步进行描述,该网络爬虫的识别装置可以集成在服务器中。
请参阅图3a,图3a具体描述了本发明第三实施例提供的网络爬虫的识别装置,其可以包括:生成模块10、获取模块20、计算模块30和识别模块40,其中:
(1)生成模块10
生成模块10,用于生成爬虫识别指令。
本实施例中,生成该爬虫识别指令的触发条件可以根据实际需求而定,其可以是指定时间或者指定数据量,其中,该指定时间和指定数据量均可以是用户自行设定的,也可以是服务器出厂时厂家默认设置的。具体的,当该触发条件为指定时间时,到达该指定时间即可以触发生成模块10生成爬虫识别指令。当该触发条件是指定数据量时,需要实时统计服务器最近存储的数据总量,一旦统计的总量到达指定数据量,即可触发生成模块10生成爬虫识别指令,并重新开始统计。
(2)获取模块20
获取模块20,用于根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集。
本实施例中,该预设时段可以根据实际需求而定,其可以是用户自行设定的,也可以是服务器出厂时厂家默认设置的,比如可以是一天或两天。该用户标识可以包括客户端标识和终端网络标识,该终端网络标识可以是IP地址,该客户端标识可以是用户在客户端的注册名或者客户端自动为每一用户分配的通用标识符,每一连网的终端具有唯一一个IP地址,每一用户对应唯一一个客户端标识。通过将客户端标识和终端网络标识作为用户标识,相对于现有只将IP地址作为用户标识的方法来说,可以避免将具有少数几个出口网络地址的企业或网关识别为网络爬虫,提高了识别准确性。该访问时间是指用户请求通过访问地址进行访问操作的时间。
需要说明的是,在获取模块20获取用户标识集和访问时间集之前,需要预先在服务器中存储这些数据,也即,请参阅图3b,该网络爬虫的识别装置还可以包括存储模块50,用于:
获取第一终端发送的用户访问请求;
对该用户访问请求进行数据解析,得到当前用户的用户标识和访问时间;
将当前用户的用户标识和访问时间存储在第一预设数据库中。
本实施例中,该第一终端可以包括手机、电脑和交换机等网络设备。该用户访问请求主要是超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求,其指从客户端到服务器端的请求消息,通常,一个HTTP请求可以包括请求头、请求行和请求正文等内容,可以通过对HTTP请求进行字段拆解得到所有信息,之后通过字段匹配获取当前用户的用户标识、访问地址和访问时间等信息。该第一预设数据库可以是分布式数据库,也可以是集中式数据库,通常,为提供大量数据的可靠存储和支持数据高速查询和计算,该第一预设数据库是分布式数据库。
此时,该获取模块20具体可以用于:根据该爬虫识别指令从第一预设数据库中获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集。
(3)计算模块30
计算模块30,用于计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集。
本实施例中,计算模块30可以先将访问时间集中的访问时间按照时间先后顺序或者储存的先后顺序进行排序,之后,计算每两个位于相邻位置的访问时间之间的差值,得到该时长。
(4)识别模块40
识别模块40,用于根据该间隔时长集从该用户标识集中识别出网络爬虫。
本实施例中,该网络爬虫又称网络机器人、网页蜘蛛或网页追逐者等,是一种按照一定的规则自动抓取信息的程序或者脚本。由于网络爬虫的本质是程序实现,故其访问频率是相对固定的,而人类的访问特点具有一定的随机性,其访问频率并不固定,针对这一特点,可以通过分析每一用户的访问频率固定性来判断该用户是网络爬虫用户还是人类用户。具体的,识别模块40可以统计每一间隔时长集中,时长相等或者时长在某个方差值内的情况来分析访问频率固定性,也即,该识别模块40具体可以包括:计算子模块41、确定子模块42和识别子模块43,其中:
计算子模块41,用于计算每一间隔时长集中相邻两个时长之间的差值,得到每一用户标识对应的差值集。
确定子模块42,用于根据每一差值集中不大于第一预设阀值的差值确定命中次数。
本实施例中,该第一预设阀值主要指可允许变动的误差范围,其可以是用户自行设定的,也可以是系统默认设置的,通常是一个很小的范围,主要是因为爬虫程序每次的爬取操作所花的时间可能和网页服务器当时的运行情况以及爬虫程序所在终端当时的运行情况有关,运行情况好则所花时间短,运行情况差则所花时间长,但是需要说明的是,即使爬虫程序爬取操作的间隔时长可能不固定,但是彼此之间的差值并不会很大,容易和正常人类用户的随机访问区分开。
例如,在一种实施方式中,该确定子模块42具体可以包括:分组单元和计算单元,其中:
分组单元,用于将每一差值集中相邻两个不大于第一预设阀值的差值归为同一组,得到差值组集;
计算单元,用于计算该差值组集中每一差值组的差值的数量,并获取数值最大的数量作为命中次数。
本实施例中,分组单元可以先将差值集中的差值按照时长的排列顺序进行排序,位于相邻位置的差值即为相邻的差值。比如,若排序后的差值集为0、0、37、37、0、0、0,当第一预设阀值为0时(也即时长相等),可以得到满足条件的两个差值组:0、0,以及0、0、0,此时,该命中次数应为差值最多的差值组中差值的数量3。
在另一种实施方式中,该确定子模块42具体可以用于:
统计每一差值集中所有不大于第一预设阀值的差值的数量,并将统计的数量作为命中次数。
本实施例中,若差值集为0、0、37、37、0、0、0,当第一预设阀值为0.04(也即时长在一定方差内)时,符合条件的差值为0,此时,该命中次数为0的个数总和,即为5。
识别子模块43,用于根据该命中次数从该用户标识集中识别出网络爬虫。
例如,该识别子模块43具体可以包括获取单元和识别单元,其中:
获取单元,用于从所有命中次数中获取不小于第二预设阀值的命中次数,得到目标命中次数;
识别单元,用于基于该目标命中次数从该用户标识集中识别出网络爬虫。
本实施例中,该第二预设阀值可以是实验值,该实验值可以是根据一般网络爬虫的爬取频率得到的数值,比如可以设定一个时长,根据网络爬虫的爬取频率计算爬取的间隔时长,并统计所有相等间隔时长的数量,得到该实验值。通常,只有当某个用户的命中次数达到该实验值时,才可以判定该用户的访问频率比较固定,此时,获取单元可以将该命中次数确定为目标命中次数。
例如,该识别单元具体可以用于:
将该目标命中次数对应的用户标识确定为网络爬虫;或者,
获取每一用户标识对应的访问地址集,每一访问时间对应一个访问地址;
根据该访问时间集、访问地址集和目标命中次数从该用户标识集中识别出网络爬虫。
本实施例中,通常可以将命中次数达到指定值(也即访问频率比较固定)的用户确定为爬虫用户。当然,为从多个维度识别网络爬虫,以降低识别的漏报率和误报率,识别单元除了可以针对访问频率固定性这个维度来识别网络爬虫之外,还可以通过分析每一用户的访问分布集中性来判断该用户是网络爬虫用户还是人类用户,这主要是因为网络爬虫的目标是有价值的数据(也即受保护的数据),在一个足够长的时间段中,网络爬虫访问的接口地址(访问地址)分布应该是相对集中的,而正常人类用户的访问却有一定的随机性,其访问的接口地址分布应该是较分散的。
具体的,该识别单元可以通过分析每一用户的访问地址和访问时间来得到访问分布集中性,其中,该访问地址可以包括未受保护数据的接口地址和受保护数据的接口地址,该受保护数据主要指通过公共网关接口(Common Gateway Interface,CGI)获得的数据,比如用户发布的文章、小说等,该受保护数据的接口地址也即该CGI地址,该未受保护数据主要指通过其他接口获得的数据。
进一步地,该识别单元具体可以包括第一计算子单元、第二计算子单元和识别子单元,其中:
第一计算子单元,用于根据该访问时间集计算每一用户标识对应的总访问次数。
本实施例中,该总访问次数主要指用户访问所有接口地址(包括预设接口地址和其他接口地址)的次数,由于每一访问时间指示一次访问操作,故第一计算子单元可以通过统计每一用户标识对应的所有访问时间的条数得到该总访问次数。
第二计算子单元,用于根据该访问地址集和访问时间集计算每一用户标识对应的目标访问次数。
例如,该第二计算子单元具体可以用于:
从该访问地址集中获取预设接口地址;
从该访问时间集中获取该预设接口地址的访问时间;
根据该预设接口地址的访问时间计算每一用户标识对应的目标访问次数。
本实施例中,该预设接口地址主要包括上述CGI地址,其应当由用户提前设置好。该目标访问次数主要为访问CGI地址的次数,第二计算子单元可以通过计算该预设接口地址的访问时间的条数得到该目标访问次数。
识别子单元,用于根据该总访问次数、目标访问次数和目标命中次数从该用户标识集中识别出网络爬虫。
例如,该识别子单元具体可以用于:
计算每一用户标识对应的目标访问次数和总访问次数之间的比值;
根据该比值和总访问次数从该用户标识集中确定目标用户标识;
将该目标用户标识、以及该目标命中次数对应的用户标识进行合并处理,得到网络爬虫。
本实施例中,通常,比值越接近1,代表该用户的访问分布越集中。为避免将部分人类用户有针对性的获取受保护数据的少数几次操作误认为是网络爬虫,识别子单元只计算目标访问次数和总访问次数之间的比值是不够的,还需判断该用户的总访问次数是否达到一定数量。
进一步地,该识别子单元可以用于:
将该比值和第三预设阀值进行比较分析,将该总访问次数与第四预设阀值进行比较分析;
从该用户标识集中筛选出比值不小于第三预设阀值,且同时总访问次数不小于第四预设阀值的用户标识,作为目标用户标识。
本实施例中,该第三预设阀值可以是实验值,该实验值可以是预先利用多个网络爬虫访问指定接口地址得到的多个采样比值,并对该多个采样比值取平均值或者取最小值得到的数值,比如0.99。该第四预设阀值可以是根据一般网络爬虫的爬取频率得到的数值,比如在爬取频率固定的情况下,爬取指定数据量的数据或者爬取指定时间内的数据所需的访问次数,比如100次。通常,只有当用户的总访问次数达到第四预设阀值,预设接口地址的访问率(比值)达到第三预设阀值时,识别子单元才可以将该用户的用户标识确定为目标用户标识。
此外,在识别模块40识别出所有网络爬虫之后,还可以将这些网络爬虫进行存储,之后可以向业务服务器提供爬虫查询服务,也即,该网络爬虫的识别装置还可以包括查询模块60,用于:
在该识别模块根据该间隔时长集从该用户标识集中识别出网络爬虫之后,将识别出的网络爬虫存储在第二预设数据库中;
接收第二终端发送的爬虫查询请求,该爬虫查询请求携带待查询用户的用户标识;
根据该第二预设数据库和待查询用户的用户标识生成爬虫查询结果,并将该爬虫查询结果发送至该第二终端,以使该第二终端根据该爬虫查询结果控制该待查询用户的访问操作。
本实施例中,该第二预设数据库可以根据实际需求而定,其可以是该第一预设数据库中的储存区,也可以是其他存储区。该待查询用户标识也可以包括客户端标识和终端网络标识。该爬虫查询结果可以包括指示当前用户标识为网络爬虫和指示当前用户标识为正常用户。该第二终端可以是该第一终端,也可以是其他终端,其可以包括手机、电脑或业务服务器等网络设备。当查询模块60将该爬虫查询结果发送至第二终端后,若为网络爬虫,则该第二终端可以禁止该待查询用户后续的访问操作。当然,为保证良性网络爬虫依然可以正常访问,比如一些搜索引擎的良性爬虫,可以设置一个用户标识的白名单,允许白名单上的网络爬虫继续进行访问操作。
进一步地,查询模块60可以用于:
将该待查询用户的用户标识与第二预设数据库中存储的网络爬虫进行匹配;
若匹配成功,则生成指示网络爬虫的爬虫查询结果;
若匹配失败,则生成指示人类用户的爬虫查询结果。
本实施例中,当该待查询用户标识和存储的网络爬虫一样时,查询模块60可以判定匹配成功,当该待查询用户标识和存储的网络爬虫不一样时,查询模块60可以判定匹配失败。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上述可知,本实施例提供的网络爬虫的识别装置,通过生成模块10生成爬虫识别指令,获取模块20根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集,之后,计算模块30根据计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,识别模块40根据该间隔时长集从该用户标识集中识别出网络爬虫,从而能较准确地识别出网络爬虫,降低漏报率和误报率,识别效果好。
第四实施例
相应的,本发明实施例还提供一种网络爬虫的识别系统,包括本发明实施例所提供的任一种网络爬虫的识别装置,该网络爬虫的识别装置可以集成在服务器中,具体可参见实施例三。
其中,服务器可以生成爬虫识别指令,并根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集,之后,根据计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集,并根据该间隔时长集从该用户标识集中识别出网络爬虫。
以上各个设备的具体实施可参见前面的实施例,在此不再赘述。
由于该网络爬虫的识别系统可以包括本发明实施例所提供的任一种网络爬虫的识别装置,因此,可以实现本发明实施例所提供的任一种网络爬虫的识别装置所能实现的有益效果,详见前面的实施例,在此不再赘述。
第五实施例
相应的,本发明实施例还提供一种服务器,如图4所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、射频(Radio Frequency,RF)电路703、电源704、输入单元705、以及显示单元706等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
RF电路703可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器701处理;另外,将涉及上行的数据发送给基站。通常,RF电路703包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路703还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
服务器还包括给各个部件供电的电源704(比如电池),优选的,电源704可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源704还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元705,该输入单元705可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元705可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器701,并能接收处理器701发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元705还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该服务器还可包括显示单元706,该显示单元706可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元706可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器701以确定触摸事件的类型,随后处理器701根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
尽管未示出,服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
生成爬虫识别指令;
根据该爬虫识别指令获取预设时段内存储的用户标识集、以及该用户标识集中每一用户标识对应的访问时间集;
计算该访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集;
根据该间隔时长集从该用户标识集中识别出网络爬虫。
以上各操作的实现方法具体可参见上述实施例,此处不再赘述。
该服务器可以实现本发明实施例所提供的任一种网络爬虫的识别装置所能实现的有效效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种网络爬虫的识别方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种网络爬虫的识别方法,其特征在于,包括:
生成爬虫识别指令;
根据所述爬虫识别指令获取预设时段内存储的用户标识集、以及所述用户标识集中每一用户标识对应的访问时间集;
计算所述访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集;
计算每一间隔时长集中相邻两个时长之间的差值,得到每一用户标识对应的差值集;
根据每一差值集中不大于第一预设阀值的差值确定命中次数;
根据所述命中次数从所述用户标识集中识别出网络爬虫。
2.根据权利要求1所述的网络爬虫的识别方法,其特征在于,所述根据每一差值集中不大于第一预设阀值的差值确定命中次数,包括:
将每一差值集中相邻两个不大于第一预设阀值的差值归为同一组,得到差值组集;
计算所述差值组集中每一差值组的差值的数量,并获取数值最大的数量作为命中次数。
3.根据权利要求1所述的网络爬虫的识别方法,其特征在于,所述根据所述命中次数从所述用户标识集中识别出网络爬虫,包括:
从所有命中次数中获取不小于第二预设阀值的命中次数,得到目标命中次数;
基于所述目标命中次数从所述用户标识集中识别出网络爬虫。
4.根据权利要求3所述的网络爬虫的识别方法,其特征在于,所述基于所述目标命中次数从所述用户标识集中识别出网络爬虫,包括:
将所述目标命中次数对应的用户标识确定为网络爬虫;或者,
获取每一用户标识对应的访问地址集,每一访问时间对应一个访问地址;根据所述访问时间集、访问地址集和目标命中次数从所述用户标识集中识别出网络爬虫。
5.根据权利要求4所述的网络爬虫的识别方法,其特征在于,所述根据所述访问时间集、访问地址集和目标命中次数从所述用户标识集中识别出网络爬虫,包括:
根据所述访问时间集计算每一用户标识对应的总访问次数;
根据所述访问地址集和访问时间集计算每一用户标识对应的目标访问次数;
根据所述总访问次数、目标访问次数和目标命中次数从所述用户标识集中识别出网络爬虫。
6.根据权利要求5所述的网络爬虫的识别方法,其特征在于,所述根据所述访问地址集和访问时间集计算每一用户标识对应的目标访问次数,包括:
从所述访问地址集中获取预设接口地址;
从所述访问时间集中获取所述预设接口地址的访问时间;
根据所述预设接口地址的访问时间计算每一用户标识对应的目标访问次数。
7.根据权利要求5所述的网络爬虫的识别方法,其特征在于,所述根据所述总访问次数、目标访问次数和目标命中次数从所述用户标识集中识别出网络爬虫,包括:
计算每一用户标识对应的目标访问次数和总访问次数之间的比值;
根据所述比值和总访问次数从所述用户标识集中确定目标用户标识;
将所述目标用户标识、以及所述目标命中次数对应的用户标识进行合并处理,得到网络爬虫。
8.根据权利要求7所述的网络爬虫的识别方法,其特征在于,所述根据所述比值和总访问次数从所述用户标识集中确定目标用户标识,包括:
将所述比值和第三预设阀值进行比较分析,将所述总访问次数与第四预设阀值进行比较分析;
从所述用户标识集中筛选出比值不小于第三预设阀值,且同时总访问次数不小于第四预设阀值的用户标识,作为目标用户标识。
9.一种网络爬虫的识别装置,其特征在于,包括:
生成模块,用于生成爬虫识别指令;
获取模块,用于根据所述爬虫识别指令获取预设时段内存储的用户标识集、以及所述用户标识集中每一用户标识对应的访问时间集;
计算模块,用于计算所述访问时间集中相邻两次访问时间相隔的时长,得到间隔时长集;
识别模块,用于根据所述间隔时长集从所述用户标识集中识别出网络爬虫;
其中,识别模块,包括:
计算子模块,用于计算每一间隔时长集中相邻两个时长之间的差值,得到每一用户标识对应的差值集;
确定子模块,用于根据每一差值集中不大于第一预设阀值的差值确定命中次数;
识别子模块,用于根据所述命中次数从所述用户标识集中识别出网络爬虫。
10.根据权利要求9所述的网络爬虫的识别装置,其特征在于,所述识别子模块包括:
获取单元,用于从所有命中次数中获取不小于第二预设阀值的命中次数,得到目标命中次数;
识别单元,用于基于所述目标命中次数从所述用户标识集中识别出网络爬虫。
11.根据权利要求10所述的网络爬虫的识别装置,其特征在于,所述识别单元用于:
将所述目标命中次数对应的用户标识确定为网络爬虫;或者,
获取每一用户标识对应的访问地址集,每一访问时间对应一个访问地址;根据所述访问时间集、访问地址集和目标命中次数从所述用户标识集中识别出网络爬虫。
12.根据权利要求11所述的网络爬虫的识别装置,其特征在于,所述识别单元包括:
第一计算子单元,用于根据所述访问时间集计算每一用户标识对应的总访问次数;
第二计算子单元,用于根据所述访问地址集和访问时间集计算每一用户标识对应的目标访问次数;
识别子单元,用于根据所述总访问次数、目标访问次数和目标命中次数从所述用户标识集中识别出网络爬虫。
13.根据权利要求12所述的网络爬虫的识别装置,其特征在于,所述识别子单元用于:
计算每一用户标识对应的目标访问次数和总访问次数之间的比值;
根据所述比值和总访问次数从所述用户标识集中确定目标用户标识;
将所述目标用户标识、以及所述目标命中次数对应的用户标识进行合并处理,得到网络爬虫。
14.根据权利要求13所述的网络爬虫的识别装置,其特征在于,所述识别子单元用于:
将所述比值和第三预设阀值进行比较分析,将所述总访问次数与第四预设阀值进行比较分析;
从所述用户标识集中筛选出比值不小于第三预设阀值,且同时总访问次数不小于第四预设阀值的用户标识,作为目标用户标识。
15.一种存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710081453.5A CN108429721B (zh) | 2017-02-15 | 2017-02-15 | 一种网络爬虫的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710081453.5A CN108429721B (zh) | 2017-02-15 | 2017-02-15 | 一种网络爬虫的识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108429721A CN108429721A (zh) | 2018-08-21 |
CN108429721B true CN108429721B (zh) | 2020-08-04 |
Family
ID=63155368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710081453.5A Active CN108429721B (zh) | 2017-02-15 | 2017-02-15 | 一种网络爬虫的识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108429721B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271104A (zh) * | 2018-08-30 | 2019-01-25 | 杜广香 | 一种用于确定大数据存储系统的运行状态的方法及系统 |
CN109189642A (zh) * | 2018-09-04 | 2019-01-11 | 广州供电局有限公司 | 基于插件的应用系统业务行为特征获取方法及监控系统 |
CN109472630A (zh) * | 2018-09-17 | 2019-03-15 | 平安科技(深圳)有限公司 | 核对保单中房价的方法、装置、计算机设备和存储介质 |
CN109067780B (zh) * | 2018-09-17 | 2023-02-28 | 平安科技(深圳)有限公司 | 爬虫用户的检测方法、装置、计算机设备和存储介质 |
CN109582844A (zh) * | 2018-11-07 | 2019-04-05 | 北京三快在线科技有限公司 | 一种识别爬虫的方法、装置及系统 |
CN109862018B (zh) * | 2019-02-21 | 2021-07-09 | 中国工商银行股份有限公司 | 基于用户访问行为的反爬虫方法及系统 |
CN110245280B (zh) * | 2019-05-06 | 2021-03-02 | 北京三快在线科技有限公司 | 识别网络爬虫的方法、装置、存储介质和电子设备 |
CN110609937A (zh) * | 2019-08-15 | 2019-12-24 | 平安科技(深圳)有限公司 | 一种爬虫识别方法及装置 |
CN111107074B (zh) * | 2019-12-13 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 一种防止网络爬虫窃取隐私数据的方法、训练方法及装置 |
CN111125489B (zh) * | 2019-12-25 | 2023-05-26 | 北京锐安科技有限公司 | 一种数据抓取方法、装置、设备及存储介质 |
CN111314381A (zh) * | 2020-03-20 | 2020-06-19 | 重庆富民银行股份有限公司 | 安全隔离网关 |
CN117176840B (zh) * | 2023-11-02 | 2024-03-12 | 成都汉度科技有限公司 | 一种通信协议辨识方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739427A (zh) * | 2008-11-10 | 2010-06-16 | 中国移动通信集团公司 | 一种爬虫抓取的方法及其装置 |
CN101902438A (zh) * | 2009-05-25 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种自动识别网页爬虫的方法和装置 |
CN102495861A (zh) * | 2011-11-24 | 2012-06-13 | 中国科学院计算技术研究所 | 一种网络爬虫识别系统及方法 |
CN102790700A (zh) * | 2011-05-19 | 2012-11-21 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN104391979A (zh) * | 2014-12-05 | 2015-03-04 | 北京国双科技有限公司 | 网络恶意爬虫识别方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140297669A1 (en) * | 2013-03-29 | 2014-10-02 | Broadcom Corporation | Attract mode operations associated with virtual tagging |
-
2017
- 2017-02-15 CN CN201710081453.5A patent/CN108429721B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739427A (zh) * | 2008-11-10 | 2010-06-16 | 中国移动通信集团公司 | 一种爬虫抓取的方法及其装置 |
CN101902438A (zh) * | 2009-05-25 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种自动识别网页爬虫的方法和装置 |
CN102790700A (zh) * | 2011-05-19 | 2012-11-21 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN102495861A (zh) * | 2011-11-24 | 2012-06-13 | 中国科学院计算技术研究所 | 一种网络爬虫识别系统及方法 |
CN104391979A (zh) * | 2014-12-05 | 2015-03-04 | 北京国双科技有限公司 | 网络恶意爬虫识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108429721A (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108429721B (zh) | 一种网络爬虫的识别方法及装置 | |
CN105429775B (zh) | 一种上报日志的方法及装置 | |
US10346210B2 (en) | Push signaling to run jobs on available servers | |
US20160241589A1 (en) | Method and apparatus for identifying malicious website | |
CN106778260B (zh) | 攻击检测方法和装置 | |
CN104639672A (zh) | 进行域名解析的方法和装置 | |
CN103942113A (zh) | 系统重启原因的检测方法、装置及终端设备 | |
CN110633438B (zh) | 一种新闻事件处理的方法、终端、服务器及存储介质 | |
CN112769838B (zh) | 访问用户过滤方法、装置、设备和存储介质 | |
US20190223141A1 (en) | Device positioning method and apparatus | |
WO2022000430A1 (zh) | 服务器威胁评定方法及相关产品 | |
US11308212B1 (en) | Adjudicating files by classifying directories based on collected telemetry data | |
CN112866422B (zh) | 一种数据请求处理方法和装置 | |
CN112801837B (zh) | 设备聚类方法、装置、存储介质及电子设备 | |
CN114971662A (zh) | 一种数据追踪方法、装置、设备及存储介质 | |
CN110753909B (zh) | 服务调度方法和装置、计算机设备、计算机可读存储介质 | |
CN114710501B (zh) | 服务请求处理方法、装置、服务器及计算机可读存储介质 | |
CN112711518A (zh) | 一种日志上传方法和装置 | |
CN116938605B (zh) | 网络攻击防护方法、装置、电子设备及可读存储介质 | |
CN114363406B (zh) | 推送消息处理方法、装置、设备及存储介质 | |
CN114726849B (zh) | 文件传输方法、装置、服务器及计算机可读存储介质 | |
CN111858525B (zh) | 日志追踪方法、生成方法、追踪装置、生成装置及系统 | |
CN114205094B (zh) | 一种网络攻击告警的处理方法、装置、设备和存储介质 | |
CN115421995A (zh) | 日志回捞方法、装置、电子设备及存储介质 | |
CN114168332A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |