CN110175278B - 网络爬虫的检测方法及装置 - Google Patents
网络爬虫的检测方法及装置 Download PDFInfo
- Publication number
- CN110175278B CN110175278B CN201910440436.5A CN201910440436A CN110175278B CN 110175278 B CN110175278 B CN 110175278B CN 201910440436 A CN201910440436 A CN 201910440436A CN 110175278 B CN110175278 B CN 110175278B
- Authority
- CN
- China
- Prior art keywords
- network connection
- detected
- feature
- characteristic
- network
- 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
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种网络爬虫的检测方法及装置,涉及互联网技术领域。该方法包括:接收客户端通过与服务器建立的待检测网络连接发送的第一访问请求;根据第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;根据多个第一特征值,生成与待检测网络连接对应的待检测特征向量;将待检测特征向量输入预先训练的网络连接分类模型,得到待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。采用本申请可以降低服务器的运维成本。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种网络爬虫的检测方法及装置。
背景技术
网络爬虫是一种自动获取网页内容的程序,非法用户可以在客户端部署网络爬虫,客户端可以通过网络爬虫与服务器进行网络连接,并通过网络爬虫不断地向服务器发送访问请求以获取服务器中的信息。因服务器需要不断地响应客户端通过网络爬虫发送的访问请求,会导致服务器不能及时响应合法用户的访问请求。
因此,需要检测客户端与服务器之间的网络连接是否为采用网络爬虫的网络连接,以在检测出客户端与服务器之间的网络连接为采用网络爬虫的网络连接时,服务器拒绝响应该客户端发送的访问请求,从而保证服务器可以及时响应合法用户的访问请求。现有技术中,运维人员通过人工分析服务器日志中记载的客户端的访问信息,来判断客户端与服务器的网络连接是否为采用网络爬虫的网络连接。
然而,通过运维人员进行人工分析,会需要一定的人力资源,导致服务器的运维成本较高。
发明内容
有鉴于此,本申请提供了一种网络爬虫的检测方法及装置,可以降低服务器的运维成本。具体技术方案如下:
第一方面,本申请提供了一种网络爬虫的检测方法,所述方法应用于服务器,所述方法包括:
接收客户端通过与所述服务器建立的待检测网络连接发送的第一访问请求;
根据所述第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;
根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量;
将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。
可选的,所述待检测特征向量包括多个特征元素;
所述根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量,包括:
将多个第一特征值按序排列;
将排列后的所述多个第一特征值中的每个第一特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
可选的,所述待检测特征向量包括多个特征元素;
所述根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量,包括:
获取所述客户端通过与所述服务器建立的历史网络连接发送的第二访问请求,所述历史网络连接为所述客户端与所述服务器在所述待检测网络连接之前建立的网络连接;
根据所述第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;
将多个第一特征值和多个第二特征值按序排列;
将排列后的特征值中的每个特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与所述排列后的特征值中的每个特征值一一对应。
可选的,所述网络连接分类模型为支持向量机;
所述将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果,包括:
根据所述待检测特征向量和所述网络连接分类模型中的分类函数,计算所述待检测网络连接对应的预测值,所述预测值用于表示所述待检测网络连接属于采用网络爬虫的网络连接的可能性大小;
根据所述预测值和预设的置信度计算公式,计算所述待检测网络连接属于采用网络爬虫的网络连接的置信度;
若所述置信度大于预设阈值,则确定所述待检测网络连接为采用网络爬虫的网络连接;若所述置信度小于所述预设阈值,则确定所述待检测网络连接不为采用网络爬虫的网络连接。
可选的,所述方法还包括:
获取第一预设数目个负样本特征向量,所述负样本特征向量为采用网络爬虫的网络连接对应的特征向量;
获取第二预设数目个正样本特征向量,所述正样本特征向量为未采用网络爬虫的网络连接对应的特征向量,所述正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零;
采用所述正样本特征向量和所述负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到所述网络连接分类模型。
可选的,所述方法还包括:
若所述待检测网络连接为采用网络爬虫的网络连接,则停止响应所述客户端发送的访问请求。
第二方面,本申请提供了一种网络爬虫的检测装置,所述装置应用于服务器,所述装置包括:
接收模块,用于接收客户端通过与所述服务器建立的待检测网络连接发送的第一访问请求;
确定模块,用于根据所述第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;
生成模块,用于根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量;
计算模块,用于将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。
可选的,所述待检测特征向量包括多个特征元素;
所述生成模块,具体用于:
将多个第一特征值按序排列;
将排列后的所述多个第一特征值中的每个第一特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
可选的,所述待检测特征向量包括多个特征元素;
所述生成模块,还具体用于:
获取所述客户端通过与所述服务器建立的历史网络连接发送的第二访问请求,所述历史网络连接为所述客户端与所述服务器在所述待检测网络连接之前建立的网络连接;
根据所述第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;
将多个第一特征值和多个第二特征值按序排列;
将排列后的特征值中的每个特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与所述排列后的特征值中的每个特征值一一对应。
可选的,所述网络连接分类模型为支持向量机;
所述计算模块,具体用于:
根据所述待检测特征向量和所述网络连接分类模型中的分类函数,计算所述待检测网络连接对应的预测值,所述预测值用于表示所述待检测网络连接属于采用网络爬虫的网络连接的可能性大小;
根据所述预测值和预设的置信度计算公式,计算所述待检测网络连接属于采用网络爬虫的网络连接的置信度;
若所述置信度大于预设阈值,则确定所述待检测网络连接为采用网络爬虫的网络连接;若所述置信度小于所述预设阈值,则确定所述待检测网络连接不为采用网络爬虫的网络连接。
可选的,所述装置还包括训练模块;
所述训练模块,具体用于:
获取第一预设数目个负样本特征向量,所述负样本特征向量为采用网络爬虫的网络连接对应的特征向量;
获取第二预设数目个正样本特征向量,所述正样本特征向量为未采用网络爬虫的网络连接对应的特征向量,所述正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零;
采用所述正样本特征向量和所述负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到所述网络连接分类模型。
可选的,所述装置还包括响应模块;
所述响应模块,用于若所述待检测网络连接为采用网络爬虫的网络连接,则停止响应所述客户端发送的访问请求。
第三方面,本申请提供了一种服务器,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面所述的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请实施例提供的一种网络爬虫的检测方法及装置,可以接收客户端通过与服务器建立的待检测网络连接发送的第一访问请求;根据第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;根据多个第一特征值,生成与待检测网络连接对应的待检测特征向量;将待检测特征向量输入预先训练的网络连接分类模型,得到待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。相比于现有技术,本申请通过网络连接分类模型检测出网络爬虫,无需运维人员进行人工分析,降低了服务器的运维成本。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络爬虫的检测方法流程图;
图2为本申请实施例提供的一种网络连接分类模型的训练方法流程图;
图3为本申请实施例提供的一种网络爬虫的检测装置结构示意图;
图4为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种网络爬虫的检测方法,可以接收客户端通过与服务器建立的待检测网络连接发送的第一访问请求;根据第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;根据多个第一特征值,生成与待检测网络连接对应的待检测特征向量;将待检测特征向量输入预先训练的网络连接分类模型,得到待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。相比于现有技术,本申请通过网络连接分类模型检测出网络爬虫,无需运维人员进行人工分析,降低了服务器的运维成本。
下面将结合具体实施方式,对本申请实施例提供的一种网络爬虫的检测方法进行详细的说明,如图1所示,具体步骤如下:
步骤101,接收客户端通过与服务器建立的待检测网络连接发送的第一访问请求。
本申请实施例中,客户端可以向服务器发送连接请求,服务器接收到连接请求后,与客户端建立网络连接。服务器可以接收客户端通过与服务器建立的待检测网络连接发送的第一访问请求,其中,访问请求可以包括网页访问请求、链接访问请求等。
步骤102,根据第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值。
其中,预设的多个第一网络属性维度可以包括:客户端通过待检测网络连接访问网页的数量、待检测网络连接的连接时长、客户端通过待检测网络连接访问链接的次数、客户端通过待检测网络连接访问链接的间隔时间、客户端通过待检测网络连接访问网页的时间间隔、客户端通过待检测网络连接访问网页的次数、待检测网络连接是否结束。
本申请实施例中,服务器在接收到第一访问请求后,可以记录接收到的各个第一访问请求的访问内容,及各个第一访问请求的接收时间。服务器还可以记录待检测网络连接的建立时间和关闭时间。基于记录的信息,服务器可以获取与每个第一网络属性维度对应的第一特征值,比如,服务器可以确定客户端通过待检测网络连接访问网页的数量的参数值A1,待检测网络连接的连接时长的参数值A2、客户端通过待检测网络连接访问链接的次数的参数值A3、客户端通过待检测网络连接访问链接的间隔时间的参数值A4、客户端通过待检测网络连接访问网页的时间间隔的参数值A5、客户端通过待检测网络连接访问网页的次数的参数值A6、表示待检测网络连接是否结束的参数值A7。其中,若待检测网络连接未结束,则A7可以为0;若待检测网络连接结束,则A7可以为1。然后,服务器可以将A1-A7作为第一特征值。
步骤103,根据多个第一特征值,生成与待检测网络连接对应的待检测特征向量。
其中,待检测特征向量包括多个特征元素。
本申请实施例中,根据多个第一特征值,生成与待检测网络连接对应的待检测特征向量的方式多种多样,本申请实施例提供了如下两种可行的实现方式:
方式一:将多个第一特征值按序排列;将排列后的多个第一特征值中的每个第一特征值依次作为多个特征元素中的每个特征元素的值;获取待检测特征向量,待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
本申请实施例中,服务器可以将多个第一特征值按序排列,例如,将第一特征值A1-A7,按序排列为A1,A2,A3,A4,A5,A6,A7。其中,对多个第一特征值进行排序的规则可以由技术人员进行设定。然后,服务器将排列后的多个第一特征值中的每个第一特征值依次作为多个特征元素中的每个特征元素的值,得到待检测特征向量。例如,待检测特征向量为[A1,A2,A3,A4,A5,A6,A7]。
方式二:获取客户端通过与服务器建立的历史网络连接发送的第二访问请求,历史网络连接为客户端与服务器在待检测网络连接之前建立的网络连接;根据第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;将多个第一特征值和多个第二特征值按序排列;将排列后的特征值中的每个特征值依次作为多个特征元素中的每个特征元素的值;获取待检测特征向量,待检测特征向量包括的每个特征元素的值与排列后的特征值中的每个特征值一一对应。
其中,预设的多个第二网络属性维度可以包括:客户端通过历史网络连接访问网页的平均时间间隔,客户端通过历史网络连接访问网页的平均次数,在待检测网络连接之前是否存在历史网络连接,历史网络连接的个数,历史网络连接的平均连接时长,历史网络连接的最大连接时长,历史网络连接的平均间隔时间。
本申请实施例中,客户端与服务器在待检测网络连接之前可能还建立过多个历史网络连接。针对每一历史网络连接,服务器获取客户端通过与服务器建立的该历史网络连接发送的第二访问请求,并记录接收到的各个第二访问请求的访问内容,及各个第二访问请求的接收时间。服务器还可以记录各个历史网络连接的建立时间和关闭时间。基于记录的信息,服务器可以获取与每个第二网络属性维度对应的第二特征值,比如,服务器可以确定客户端通过历史网络连接访问网页的平均时间间隔的参数值B1,客户端通过历史网络连接访问网页的平均次数的参数值B2,表示在待检测网络连接之前是否存在历史网络连接对应的的参数值B3,历史网络连接的个数的参数值B4,历史网络连接的平均连接时长的参数值B5,历史网络连接的最大连接时长的参数值B6,历史网络连接的平均间隔时间的参数值B7。其中,若在待检测网络连接之前未存在历史网络连接,则B3可以为0;若在待检测网络连接之前存在历史网络连接,则B3可以为1。然后,服务器可以将B1-B7作为第二特征值。
服务器可以将多个第一特征值和多个第二特征值按序排列,例如,将第一特征值A1-A7和第二特征值B1-B7,按序排列为A1,A2,A3,A4,A5,A6,A7,B3,B4,B5,B6,B7,B1,B2。其中,对多个第一特征值和多个第二特征值进行排序的规则可以由技术人员进行设定。然后,服务器将排列后的特征值中的每个特征值依次作为多个特征元素中的每个特征元素的值,得到待检测特征向量。例如,待检测特征向量为[A1,A2,A3,A4,A5,A6,A7,B3,B4,B5,B6,B7,B1,B2]。
步骤104,将待检测网络连接对应的特征向量输入预先训练的网络连接分类模型,得到待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。
其中,网络连接分类模型可以为支持向量机(Support Vector Machine,SVM)。
本申请实施例中,服务器可以将待检测网络连接对应的特征向量输入预先训练的网络连接分类模型,得到待检测网络连接是否属于采用网络爬虫的网络连接的检测结果,具体处理过程可以为:
根据待检测特征向量和网络连接分类模型中的分类函数,计算待检测网络连接对应的预测值;根据预测值和预设的置信度计算公式,计算待检测网络连接属于采用网络爬虫的网络连接的置信度。
若置信度大于预设阈值,则确定待检测网络连接为采用网络爬虫的网络连接;若置信度小于预设阈值,则确定待检测网络连接不为采用网络爬虫的网络连接。
本申请实施例中,服务器可以根据待检测特征向量和网络连接分类模型中的分类函数,计算待检测网络连接对应的预测值。其中,分类函数为:y=wT x+b,w表示超平面的法向量,T表示转置,b表示截距,x表示待检测特征向量,y表示待检测网络连接对应的预测值,预测值用于表示待检测网络连接属于采用网络爬虫的网络连接的可能性大小,其取值范围是(-1,1)。
服务器根据预测值和预设的置信度计算公式,计算待检测网络连接属于采用网络爬虫的网络连接的置信度。其中,置信度计算公式为:z=(y+1)/2,z表示置信度、y表示待检测网络连接对应的预测值。
若置信度大于预设阈值,则服务器确定待检测网络连接为采用网络爬虫的网络连接;若置信度小于预设阈值,则服务器确定待检测网络连接不为采用网络爬虫的网络连接。
本申请实施例中,通过网络连接分类模型检测网络爬虫,无需运维人员进行人工分析,降低了服务器的运维成本。
可选的,若待检测网络连接为采用网络爬虫的网络连接,则停止响应客户端发送的访问请求。
本申请实施例中,在将待检测网络连接确定为采用网络爬虫的网络连接之后,如果服务器再次接收到客户端发送的访问请求,则服务器停止响应该访问请求。
可选的,如图2所示,本申请实施例还提供了一种网络连接分类模型的训练方法,具体步骤如下:
步骤201,获取第一预设数目个负样本特征向量,负样本特征向量为采用网络爬虫的网络连接对应的特征向量。
本申请实施例中,技术人员可以通过人工分析客户端向服务器访问的访问信息,确定第一预设数目个采用网络爬虫的网络连接。服务器可以获取确定的每一采用网络爬虫的网络连接对应的特征向量,并可以将获取的每一采用网络爬虫的网络连接的特征向量作为负样本特征向量。
步骤202,获取第二预设数目个正样本特征向量,正样本特征向量为未采用网络爬虫的网络连接对应的特征向量。
其中,正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零。
第一预设数目与第二预设数目满足如下关系:M2/M1=a。其中,M2为第二预设数目,M1为第一预设数目,a为预设系数。
本申请实施例中,服务器获取多个未采用网络爬虫的网络连接对应的特征向量。并在预设的多个网络属性维度下,服务器可以从获取的多个未采用网络爬虫的网络连接对应的特征向量中,确定每个网络属性维度对应的第三数目个正样本特征向量,该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零。其中,预设的多个网络属性维度的个数乘以第三预设数目等于第二预设数目。
步骤203,采用正样本特征向量和负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到网络连接分类模型。
其中,初始分类模型可以为初始的SVM。
本申请实施例中,服务器可以采用获取的正样本特征向量和负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到网络连接分类模型。其中,分类函数的参数包括超平面的法向量w和截距b。
这样,负样本特征向量的个数与正样本特征向量的个数满足一定的比例,可以使得训练得到的网络连接分类模型的准确性较高。并且,正样本特征向量中包含预设每个网络维度对应的正样本特征向量,使得各个网络维度对应的正样本特征向量均可以训练到初始分类模型,得到的网络连接分类模型的准确性较高。
基于相同的技术构思,如图3所示,本申请实施例还提供了一种网络爬虫的检测装置,所述装置应用于服务器,所述装置包括:
接收模块301,用于接收客户端通过与所述服务器建立的待检测网络连接发送的第一访问请求;
确定模块302,用于根据所述第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;
生成模块303,用于根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量;
计算模块304,用于将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。
可选的,所述待检测特征向量包括多个特征元素;
所述生成模块303,具体用于:
将多个第一特征值按序排列;
将排列后的所述多个第一特征值中的每个第一特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
可选的,所述待检测特征向量包括多个特征元素;
所述生成模块303,还具体用于:
获取所述客户端通过与所述服务器建立的历史网络连接发送的第二访问请求,所述历史网络连接为所述客户端与所述服务器在所述待检测网络连接之前建立的网络连接;
根据所述第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;
将多个第一特征值和多个第二特征值按序排列;
将排列后的特征值中的每个特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与所述排列后的特征值中的每个特征值一一对应。
可选的,所述网络连接分类模型为支持向量机;
所述计算模块304,具体用于:
根据所述待检测特征向量和所述网络连接分类模型中的分类函数,计算所述待检测网络连接对应的预测值,所述预测值用于表示所述待检测网络连接属于采用网络爬虫的网络连接的可能性大小;
根据所述预测值和预设的置信度计算公式,计算所述待检测网络连接属于采用网络爬虫的网络连接的置信度;
若所述置信度大于预设阈值,则确定所述待检测网络连接为采用网络爬虫的网络连接;若所述置信度小于所述预设阈值,则确定所述待检测网络连接不为采用网络爬虫的网络连接。
可选的,所述装置还包括训练模块;
所述训练模块,具体用于:
获取第一预设数目个负样本特征向量,所述负样本特征向量为采用网络爬虫的网络连接对应的特征向量;
获取第二预设数目个正样本特征向量,所述正样本特征向量为未采用网络爬虫的网络连接对应的特征向量,所述正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零;
采用所述正样本特征向量和所述负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到所述网络连接分类模型。
可选的,所述装置还包括响应模块;
所述响应模块,用于若所述待检测网络连接为采用网络爬虫的网络连接,则停止响应所述客户端发送的访问请求。
本申请实施例还提供了一种服务器,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
接收客户端通过与所述服务器建立的待检测网络连接发送的第一访问请求;
根据所述第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;
根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量;
将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果。
可选的,所述待检测特征向量包括多个特征元素;
所述根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量,包括:
将多个第一特征值按序排列;
将排列后的所述多个第一特征值中的每个第一特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
可选的,所述待检测特征向量包括多个特征元素;
所述根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量,包括:
获取所述客户端通过与所述服务器建立的历史网络连接发送的第二访问请求,所述历史网络连接为所述客户端与所述服务器在所述待检测网络连接之前建立的网络连接;
根据所述第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;
将多个第一特征值和多个第二特征值按序排列;
将排列后的特征值中的每个特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与所述排列后的特征值中的每个特征值一一对应。
可选的,所述网络连接分类模型为支持向量机;
所述将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果,包括:
根据所述待检测特征向量和所述网络连接分类模型中的分类函数,计算所述待检测网络连接对应的预测值,所述预测值用于表示所述待检测网络连接属于采用网络爬虫的网络连接的可能性大小;
根据所述预测值和预设的置信度计算公式,计算所述待检测网络连接属于采用网络爬虫的网络连接的置信度;
若所述置信度大于预设阈值,则确定所述待检测网络连接为采用网络爬虫的网络连接;若所述置信度小于所述预设阈值,则确定所述待检测网络连接不为采用网络爬虫的网络连接。
可选的,所述方法还包括:
获取第一预设数目个负样本特征向量,所述负样本特征向量为采用网络爬虫的网络连接对应的特征向量;
获取第二预设数目个正样本特征向量,所述正样本特征向量为未采用网络爬虫的网络连接对应的特征向量,所述正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零;
采用所述正样本特征向量和所述负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到所述网络连接分类模型。
可选的,所述方法还包括:
若所述待检测网络连接为采用网络爬虫的网络连接,则停止响应所述客户端发送的访问请求。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一网络爬虫的检测方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一网络爬虫的检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种网络爬虫的检测方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收客户端通过与所述服务器建立的待检测网络连接发送的第一访问请求;
根据所述第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;所述第一网络属性维度包括:客户端通过待检测网络连接访问页面的数量、待检测网络连接的连接时长、客户端通过待检测网络连接访问网页的时间间隔、客户端通过待检测网络连接访问网页的次数、待检测网络连接是否结束;
根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量;
将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果;
获取所述预先训练的网络连接分类模型的步骤为:
获取第一预设数目个负样本特征向量,所述负样本特征向量为采用网络爬虫的网络连接对应的特征向量;
获取第二预设数目个正样本特征向量,所述正样本特征向量为未采用网络爬虫的网络连接对应的特征向量;其中,所述正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零;所述第一预设数目与所述第二预设数目满足如下关系:M2/M1=a,其中,M2为第二预设数目,M1为第一预设数目,a为预设系数;
采用所述正样本特征向量和所述负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到所述网络连接分类模型。
2.根据权利要求1所述的方法,其特征在于,所述待检测特征向量包括多个特征元素;
所述根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量,包括:
将多个第一特征值按序排列;
将排列后的所述多个第一特征值中的每个第一特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
3.根据权利要求1所述的方法,其特征在于,所述待检测特征向量包括多个特征元素;
所述根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量,包括:
获取所述客户端通过与所述服务器建立的历史网络连接发送的第二访问请求,所述历史网络连接为所述客户端与所述服务器在所述待检测网络连接之前建立的网络连接;
根据所述第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;
将多个第一特征值和多个第二特征值按序排列;
将排列后的特征值中的每个特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与所述排列后的特征值中的每个特征值一一对应。
4.根据权利要求1所述的方法,其特征在于,所述网络连接分类模型为支持向量机;
所述将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果,包括:
根据所述待检测特征向量和所述网络连接分类模型中的分类函数,计算所述待检测网络连接对应的预测值,所述预测值用于表示所述待检测网络连接属于采用网络爬虫的网络连接的可能性大小;
根据所述预测值和预设的置信度计算公式,计算所述待检测网络连接属于采用网络爬虫的网络连接的置信度;
若所述置信度大于预设阈值,则确定所述待检测网络连接为采用网络爬虫的网络连接;若所述置信度小于所述预设阈值,则确定所述待检测网络连接不为采用网络爬虫的网络连接。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待检测网络连接为采用网络爬虫的网络连接,则停止响应所述客户端发送的访问请求。
6.一种网络爬虫的检测装置,其特征在于,所述装置应用于服务器,所述装置包括:
接收模块,用于接收客户端通过与所述服务器建立的待检测网络连接发送的第一访问请求;
确定模块,用于根据所述第一访问请求,在预设的多个第一网络属性维度下,获取与每个第一网络属性维度对应的第一特征值;所述第一网络属性维度包括:客户端通过待检测网络连接访问页面的数量、待检测网络连接的连接时长、客户端通过待检测网络连接访问网页的时间间隔、客户端通过待检测网络连接访问网页的次数、待检测网络连接是否结束;
生成模块,用于根据多个第一特征值,生成与所述待检测网络连接对应的待检测特征向量;
计算模块,用于将所述待检测特征向量输入预先训练的网络连接分类模型,得到所述待检测网络连接是否属于采用网络爬虫的网络连接的检测结果;
所述装置还包括训练模块;
所述训练模块,具体用于:
获取第一预设数目个负样本特征向量,所述负样本特征向量为采用网络爬虫的网络连接对应的特征向量;
获取第二预设数目个正样本特征向量,所述正样本特征向量为未采用网络爬虫的网络连接对应的特征向量,所述正样本特征向量包含预设的每个网络属性维度对应的正样本特征向量,且该网络属性维度对应的正样本特征向量中该网络属性维度对应的特征值不为零;所述第一预设数目与所述第二预设数目满足如下关系:M2/M1=a,其中,M2为第二预设数目,M1为第一预设数目,a为预设系数;
采用所述正样本特征向量和所述负样本特征向量对预设的初始分类模型中的分类函数的参数进行训练,得到所述网络连接分类模型。
7.根据权利要求6所述的装置,其特征在于,所述待检测特征向量包括多个特征元素;
所述生成模块,具体用于:
将多个第一特征值按序排列;
将排列后的所述多个第一特征值中的每个第一特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与每个第一特征值一一对应。
8.根据权利要求6所述的装置,其特征在于,所述待检测特征向量包括多个特征元素;
所述生成模块,还具体用于:
获取所述客户端通过与所述服务器建立的历史网络连接发送的第二访问请求,所述历史网络连接为所述客户端与所述服务器在所述待检测网络连接之前建立的网络连接;
根据所述第二访问请求,在预设的多个第二网络属性维度下,获取与每个第二网络属性维度对应的第二特征值;
将多个第一特征值和多个第二特征值按序排列;
将排列后的特征值中的每个特征值依次作为所述多个特征元素中的每个特征元素的值;
获取所述待检测特征向量,所述待检测特征向量包括的每个特征元素的值与所述排列后的特征值中的每个特征值一一对应。
9.根据权利要求6所述的装置,其特征在于,所述网络连接分类模型为支持向量机;
所述计算模块,具体用于:
根据所述待检测特征向量和所述网络连接分类模型中的分类函数,计算所述待检测网络连接对应的预测值,所述预测值用于表示所述待检测网络连接属于采用网络爬虫的网络连接的可能性大小;
根据所述预测值和预设的置信度计算公式,计算所述待检测网络连接属于采用网络爬虫的网络连接的置信度;
若所述置信度大于预设阈值,则确定所述待检测网络连接为采用网络爬虫的网络连接;若所述置信度小于所述预设阈值,则确定所述待检测网络连接不为采用网络爬虫的网络连接。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括响应模块;
所述响应模块,用于若所述待检测网络连接为采用网络爬虫的网络连接,则停止响应所述客户端发送的访问请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910440436.5A CN110175278B (zh) | 2019-05-24 | 2019-05-24 | 网络爬虫的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910440436.5A CN110175278B (zh) | 2019-05-24 | 2019-05-24 | 网络爬虫的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175278A CN110175278A (zh) | 2019-08-27 |
CN110175278B true CN110175278B (zh) | 2022-02-25 |
Family
ID=67695700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910440436.5A Active CN110175278B (zh) | 2019-05-24 | 2019-05-24 | 网络爬虫的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175278B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989157A (zh) * | 2019-12-13 | 2021-06-18 | 网宿科技股份有限公司 | 一种检测爬虫请求的方法和装置 |
CN111476610B (zh) * | 2020-04-16 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 一种信息检测方法、装置及计算机可读存储介质 |
CN111641643A (zh) * | 2020-05-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 网络爬虫检测方法、网络爬虫检测装置及终端设备 |
CN111858929A (zh) * | 2020-06-22 | 2020-10-30 | 网宿科技股份有限公司 | 一种基于图神经网络的网络爬虫检测方法、系统及装置 |
CN113821705B (zh) * | 2021-08-30 | 2024-02-20 | 湖南大学 | 网页内容的获取方法、终端设备及可读存储介质 |
CN114710318B (zh) * | 2022-03-03 | 2024-03-22 | 戎行技术有限公司 | 一种限制爬虫高频访问的方法、装置、设备及介质 |
CN114726610B (zh) * | 2022-03-31 | 2024-01-19 | 拉扎斯网络科技(上海)有限公司 | 一种网络数据自动获取器攻击的检测方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150133370A (ko) * | 2014-05-19 | 2015-11-30 | 주식회사 케이티 | 웹서비스 접속제어 시스템 및 방법 |
CN105930727B (zh) * | 2016-04-25 | 2018-11-09 | 无锡中科富农物联科技有限公司 | 基于Web的爬虫识别方法 |
CN108023868B (zh) * | 2016-10-31 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 恶意资源地址检测方法和装置 |
CN108616491B (zh) * | 2016-12-13 | 2020-11-10 | 北京酷智科技有限公司 | 一种恶意用户的识别方法和系统 |
CN106790102A (zh) * | 2016-12-26 | 2017-05-31 | 中南林业科技大学 | 一种基于url特征的qr码网络钓鱼识别方法及系统 |
US10491622B2 (en) * | 2017-01-04 | 2019-11-26 | Synack, Inc. | Automatic webpage change detection |
CN109214181A (zh) * | 2017-07-01 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 识别网络爬虫的方法、存储介质、电子设备及系统 |
CN107392022B (zh) * | 2017-07-20 | 2020-12-29 | 北京星选科技有限公司 | 爬虫识别、处理方法及相关装置 |
CN107888616B (zh) * | 2017-12-06 | 2020-06-05 | 北京知道创宇信息技术股份有限公司 | 基于URI的分类模型的构建方法和Webshell攻击网站的检测方法 |
CN109145185B (zh) * | 2018-02-02 | 2019-07-02 | 北京数安鑫云信息技术有限公司 | 识别网络爬虫以及提取网络爬虫特征的方法及装置 |
CN109582844A (zh) * | 2018-11-07 | 2019-04-05 | 北京三快在线科技有限公司 | 一种识别爬虫的方法、装置及系统 |
-
2019
- 2019-05-24 CN CN201910440436.5A patent/CN110175278B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110175278A (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175278B (zh) | 网络爬虫的检测方法及装置 | |
CN110275958B (zh) | 网站信息识别方法、装置和电子设备 | |
US9258316B1 (en) | Systems and methods for generating reputation-based ratings for uniform resource locators | |
TWI684151B (zh) | 一種非法交易檢測方法及裝置 | |
JP2020030868A (ja) | 画像ベースのcaptchaチャレンジ | |
CN108763274B (zh) | 访问请求的识别方法、装置、电子设备及存储介质 | |
CN107992738B (zh) | 一种账号登录异常检测方法、装置及电子设备 | |
JP6595718B2 (ja) | クレジット点数モデルトレーニング方法、クレジット点数計算方法、装置及びサーバー | |
EP3703329A1 (en) | Webpage request identification | |
CN110351299B (zh) | 一种网络连接检测方法和装置 | |
KR102313843B1 (ko) | 다중 기계 학습 기반 악성 url 예측 방법, 그리고 이를 구현하기 위한 장치 | |
WO2022199185A1 (zh) | 用户操作检测方法及程序产品 | |
CN111143654B (zh) | 辅助识别爬虫的、爬虫识别方法、装置及电子设备 | |
CN111160783B (zh) | 数字资产价值的评价方法、系统及电子设备 | |
CN111860568B (zh) | 数据样本的均衡分布方法、装置及存储介质 | |
CN110348471B (zh) | 异常对象识别方法、装置、介质及电子设备 | |
CN114143049B (zh) | 异常流量检测方法、装置、存储介质以及电子设备 | |
TWI727323B (zh) | 返修板檢測裝置、方法及電腦可讀取存儲介質 | |
CN111027428A (zh) | 一种多任务模型的训练方法、装置及电子设备 | |
CN111600894A (zh) | 一种网络攻击检测方法及装置 | |
CN112434717B (zh) | 一种模型训练方法及装置 | |
CN108804501B (zh) | 一种检测有效信息的方法及装置 | |
US10817601B2 (en) | Hypervisor enforcement of cryptographic policy | |
CN112347457A (zh) | 异常账户检测方法、装置、计算机设备和存储介质 | |
CN111382432A (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 |