CN111143654B - 辅助识别爬虫的、爬虫识别方法、装置及电子设备 - Google Patents
辅助识别爬虫的、爬虫识别方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111143654B CN111143654B CN201911387124.9A CN201911387124A CN111143654B CN 111143654 B CN111143654 B CN 111143654B CN 201911387124 A CN201911387124 A CN 201911387124A CN 111143654 B CN111143654 B CN 111143654B
- Authority
- CN
- China
- Prior art keywords
- target
- crawler
- access
- network resource
- access sequence
- 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
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种辅助识别爬虫的、爬虫识别方法、装置和电子设备,其中,爬虫识别方法可以确定通过目标会话访问目标应用的网络资源地址的目标访问序列;然后基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,该词向量字典是以网络资源地址为分词,以多个访问序列为语料进行训练得到的;基于目标访问序列的特征向量和目标模型,确定目标会话的爬虫评估参数,该目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;最后基于爬虫评估参数,确定目标会话中是否存在爬虫。本说明书实施例采用机器学习的方式识别爬虫。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种辅助识别爬虫、爬虫识别方法、装置及电子设备。
背景技术
网络爬虫(简称爬虫),是一种按照一定的规则自动抓取互联网信息的程序或脚本。一般情况下,通过网络爬虫可以帮助人们抓取需要的网页信息,给人们带来正面帮助。例如,搜索引擎可以通过网络爬虫抓取网页信息,从而给用户返回更丰富的搜索结果。
然而,在有些情况下,会出现一些恶意的网络爬虫,它们专门爬取互联网中的用户隐私信息,导致用户隐私发生泄漏。例如,一些P2P借贷平台会引导用户授权,爬取该用户在某一第三方支付应用中的信用分或信用额度等隐私信息。此时,如何有效地识别出这些恶意的网络爬虫,然后采取相应的措施予以制止,从而防止用户隐私信息发生泄露显得尤为重要。
发明内容
本说明书实施例提供了一种辅助识别爬虫的爬虫识别方法、装置及电子设备,以准确、有效地识别出网络爬虫。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种辅助识别爬虫的方法,包括:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
基于所述词向量字典,分别确定所述多个访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
第二方面,提出了一种爬虫识别方法,包括:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
第三方面,提出了一种辅助识别爬虫的装置,包括:
第一序列确定模块,用于基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
第一训练模块,用于将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
第一向量确定模块,用于基于所述词向量字典,分别确定所述多个访问序列的特征向量;
第二训练模块,用于将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
第四方面,提出了一种爬虫识别装置,包括:
第二序列确定模块,用于确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
第二向量确定模块,用于基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
爬虫参数确定模块,用于基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
爬虫确定模块,用于基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
第五方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
基于所述词向量字典,分别确定所述多个访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
第六方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
基于所述词向量字典,分别确定所述多个访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
第七方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
第八方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
由以上本说明书实施例提供的技术方案可见,本说明书实施例提供的方案至少具备如下一种技术效果:由于爬虫的核心目的是访问指定网络资源地址,以获取隐私或敏感信息,为了实现该目的爬虫是无法替代或绕过对指定网络资源地址的访问的,因此,通过该方法可以显著提升爬虫识别的准确性和有效性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本说明书实施例提供的辅助识别爬虫的方法的流程示意图之一。
图2是本说明书实施例提供的辅助识别爬虫的方法的流程示意图之二。
图3是本说明书实施例提供的辅助识别爬虫的方法的流程示意图之三。
图4是本说明书实施例提供的一种爬虫识别方法的流程示意图之一。
图5是本说明书实施例提供的一种爬虫识别方法的流程示意图之二。
图6是本说明书实施例提供的一种电子设备的结构示意图。
图7是本说明书实施例提供的辅助识别爬虫的装置的结构示意图。
图8是本说明书实施例提供的一种爬虫识别装置的结构示意图之一。
图9是本说明书实施例提供的一种爬虫识别装置的结构示意图之二。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为准确、有效地识别访问目标应用的网络资源地址的网络爬虫(以下简称爬虫),本说明书实施例提供一种辅助识别爬虫的方法及装置,以及一种爬虫识别方法及装置。本说明书实施例提供的方法及装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
目标应用,可以是需要通过网页浏览器访问的网络应用,也可以是通过安装在用户终端中的应用程序(Application,APP)。
网络资源地址可以包括但不限于统一资源定位符(uniform resourcelocator,URL)。为了方便说明,下文中以网络资源地址是URL为例进行介绍。
下面先通过图1对本说明书实施例提供的一种辅助识别爬虫的方法进行说明。
如图1所示,本说明书的一个实施例提供的一种辅助识别爬虫的方法,可以应用于目标模型的离线训练阶段,其中,目标模型用于确定访问目标应用的网络资源地址的会话的爬虫评估参数,该方法可以包括:
步骤102、基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户。
爬虫用户是指有爬虫通过该用户账户访问目标应用的用户,非爬虫用户是指没有爬虫通过该用户账户访问目标应用的用户。其中,爬虫包括得到用户授权的爬虫(简称授权爬虫)和未得到用户授权爬虫(简称非授权爬虫)。
多个用户可以是在预设历史时段内访问目标应用的全部或部分用户。预设历史时段可以是过去一天/一周/几周/一月/几个月,等等。在获取到多个用户在预设历史时段内访问目标应用的网络资源地址的数据之后,分别基于用户id统计该用户的网络资源地址访问序列。在统计时,可以根据历史数据中的爬虫标记来区分爬虫用户和非爬虫用户,历史数据中的爬虫标记来自爬虫拦截记录或由人工标记,其中人工标记依赖于专家经验。
一个用户对应的访问序列中的网络资源地址按一定的方式排序,例如,按时间顺序排序,按首字母的先后顺序排序。假如网络资源地址为URL,那么一个用户对应的访问序列可以为:{URL1,URL2,URL3,URL4}。
步骤104、将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典。
词向量模型包括但不限于word2vec、Bert和Graph2vec中的任一种,其中,word2vec又可以包括连续词袋模型(Continuous Bag-of-Words Model,CBOW)和skim-gram中的任一种。
将网络资源地址作为分词,可以理解为将网络资源地址作为单词(word),例如将一个URL作为一个单词。将多个访问序列作为语料,可以理解为将多个访问序列作为文本,例如,将多个URL序列作为文本。
举例来说,将URL作为单词,将多个URL序列作为文本,使用word2vec进行训练,得到目标应用的各URL的词向量(embedding),各URL及其词向量构成的集合即为目标应用的URL的词向量字典。可以理解,作为URL的词向量字典,当确定一个URL之后,可以从该词向量字典中查询出该URL的词向量。
步骤106、基于所述词向量字典,分别确定所述多个访问序列的特征向量。
具体而言,步骤106可以包括:对所述多个访问序列,分别基于所述词向量字典确定所述访问序列中的网络资源地址的词向量;从所述访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述访问序列的特征向量。
其中,目标值可以包括最大值、最小值和平均值中的至少一种。当然,目标值也可以是从目标访问序列中的网络资源地址的词向量的相应维度中随机选取的值。
在一个例子中,目标值包括最大值、最小值和平均值。例如,假如所述多个访问序列包括URL序列1、URL序列2和URL序列3,则可以先分别从上一步骤中训练得到的词向量字典中查询出URL序列1中的各URL的词向量、URL序列2中的各URL的词向量和URL3中的各URL的词向量;然后,分别从URL序列1中各URL的词向量的各维度中抽取最大值、最小值和平均值,组成URL序列1的特征向量,分别从URL序列2中各URL的词向量的各维度中抽取最大值、最小值和平均值,组成URL序列2的特征向量,分别从URL序列3中各URL的词向量的各维度中抽取最大值、最小值和平均值,组成URL序列3的特征向量。
可以理解,如果一个URL的词向量是M维,则按照上述例子确定的URL序列的特征向量为3M维。例如,假如一个URL的词向量为100维(M=100),那么,从该URL的词向量的各维度中抽取最大值可以得到100维特征,从该URL的词向量的各维度中抽取最小值可以得到100维特征,从该URL的词向量的各维度中确定平均值可以得到100维特征,这三个100维特征拼接起来就可以得到一个具有300维(3M=300)的特征向量。
步骤108、将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话(session)的爬虫评估参数。
可以理解,目标模型的训练样本为用户对应的网络资源地址序列。此外,由于目标模型的训练样本包括标记好的黑样本和白样本,因此目标模型的训练过程可以理解为是有监督的训练过程。爬虫评估参数包括但不限于爬虫评分或爬虫概率中的任一种。
作为一个例子,可以使用但不限于极端梯度提升(eXtreme Gradient Boosting,xgboost)模型训练目标模型。在实际应用中,训练好的目标模型可以预测模型标记语言(Predictive Model Markup Language,PMML)格式的文件存储,以便于将来在线检测时使用。
一般情况下,用户通过客户端登录目标应用以后,目标应用的服务端会创建针对该用户的会话(session)并向客户端返回Session ID,然后客户端可以向服务端发送携带该Session ID的网络资源地址访问请求,以获取该网络资源地址存储的信息。爬虫也是通过客户端与服务端建立的会话爬取相关敏感信息。因此,在本说明书实施例中,可以将会话作为爬虫识别对象,实现会话级别的爬虫实时检测。
本说明书实施例提供的一种辅助识别爬虫的方法,通过对用户访问的网络资源地址进行词向量刻画,在此基础上进一步地对用户的网络资源地址访问序列进行特征向量的刻画,然后以爬虫用户的网络资源地址的特征向量为黑样本,以非爬虫用户的网络资源地址访问序列的特征向量为黑样本,有监督的训练出了能够用户确定一个会话是否为爬虫的目标模型,进而辅助识别访问目标应用的会话是否由爬虫发起。由于爬虫的核心目的是访问指定网络资源地址,以获取隐私或敏感信息,为了实现该目的爬虫是无法替代或绕过对指定网络资源地址的访问的,因此,通过该方法训练出的目标模型,可以显著提升爬虫识别的准确性和有效性,鲁棒性好。
此外,本方法既能辅助识别爬虫行为,又能通过特征向量对资源网络地址访问序列的相关语义信息进行刻画(比如经常出现在同一访问序列中的URL),自动对抗爬虫刻意访问部分正常的(不含隐私或敏感信息的)网络资源地址,再访问指定的(含隐私或敏感信息)网络资源地址,以掩盖或干扰自己的爬虫身份的行为,这使得本方法在爬虫识别的准确性和召回率上均有非常好的提升,相比于相关技术中的识别方法,召回率可以提升30%以上。
需要说明的是,上述词向量字典和上述目标模型的训练属于机器学习的范畴,因此,本说明书实施例提供的辅助识别爬虫的方法,以及下文中描述的应用这两个模型进行爬虫识别的方法,可以理解为是采用机器学习的方式识别爬虫,从而大大提高爬虫识别效率,有效防止用户的隐私信息不被爬虫窃取。另外,上述词向量字典和目标模型易于在线部署,解决了相关技术中的爬虫识别方法在线部署复杂的问题。
上述训练词向量字典和目标模型的过程可以认为是离线进行的。可选地,在离线训练出词向量字典和目标模型之后,可以将该词向量字典和该目标模型进行在线部署,以在线检测访问目标应用的爬虫。具体如图2所示,在步骤108之后,本说明书实施例提供的一种辅助识别爬虫的方法还可以包括如下步骤。
步骤110、确定目标访问序列,所述目标访问序列中包含通过目标会话访问的所述目标应用的网络资源地址。
在一个例子中,目标会话可以是当前时刻/时段访问目标应用的任一访问流量对应的会话。
在另一个例子中,目标会话可以是当前时刻/时段访问目标应用的目标访问流量对应的会话。对于目标应用来说,当前时刻/时段的访问流量可能很多,但并非所有的访问流量都来自爬虫。因此,可选地,在步骤108之后,在步骤110之前,可以对目标应用在当前时刻/时段的访问流量进行筛选,筛选出部分访问流量作为目标访问流量进行爬虫检测,以提高检测效率。其中,访问流量可以是用户的访问日志,一条访问日志对应一个访问流量。
具体的,在步骤108之后,在步骤110之前,可以获取当前时刻/时段访问所述目标应用的访问流量,然后基于已知爬虫所访问的所述目标应用的业务服务,对所述访问流量进行筛选,确定目标访问流量,将所述目标访问流量对应的会话,确定为所述目标会话。由于一般情况下,爬虫感兴趣的是目标应用的部分业务服务对应的网络资源地址,因此,可以预先对已知爬虫经常访问的业务服务器进行统计,然后将这些业务服务对应的访问流量筛选出来作为目标访问流量。
在筛选出目标访问流量之后,可以使用Blink等流式处理引擎,构建目标访问流量对应的会话(目标会话)的滑动窗口,然后对目标会话中的网络资源访问地址进行汇总,得到目标访问序列。其中,Blink流式处理引擎中还部署有上述词向量字典和保存有目标模型的PMML文件。
步骤112、基于所述词向量字典,确定所述目标访问序列的特征向量。
类似于上述步骤106,步骤112具体可以包括:基于所述词向量字典确定所述目标访问序列中的网络资源地址的词向量;从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量。
其中,目标值可以包括最大值、最小值和平均值中的至少一种。当然,目标值也可以是从目标访问序列中的网络资源地址的词向量的相应维度中随机选取的值。
在一个具体的例子中,目标值包括最大值、最小值和平均值。例如,假如所述目标访问序列为URL序列4,则可以先分别从词向量字典中查询出URL序列4中的各URL的词向量;然后,从URL序列4中各URL的词向量的各维度中抽取最大值、最小值和平均值,组成URL序列4的特征向量。同样可以理解,如果一个URL的词向量是M维,则按照上述例子确定的URL序列的特征向量为3M维。
步骤114、基于所述目标访问序列的特征向量和所述目标模型,确定所述目标会话的爬虫评估参数。
具体的,将所述目标访问序列的特征向量输入所述目标模型,即可输出所述目标会话的爬虫评估参数。如前文所述,爬虫评估参数可以分数或概率。
步骤116、基于所述目标会话的爬虫评估参数,确定所述目标会话中是否存在爬虫。
一般情况下,当目标会话的爬虫评估参数满足一定条件时,说明目标会话中存在爬虫,否则说明目标会话中不存在爬虫。例如,如果爬虫评估参数大于或等于预设阈值,则说明目标会话中存在爬虫,否则目标会话中不存在爬虫。
图2所示的实施例提供的一种辅助识别爬虫的方法,通过预先训练好的词向量字典确定目标访问序列的特征向量,通过预先训练好的目标模型确定目标访问序列对应的会话中是否存在爬虫,由于目标模型在区分爬虫用户的访问序列和非爬虫用户的访问序列上有很好地鲁棒性,因此,通过本方法可以显著提升爬虫识别的准确性和有效性。
此外,本方法通过特征向量对资源网络地址访问序列的相关语义信息进行刻画(比如经常出现在同一访问序列中的URL),因此可以自动对抗爬虫刻意访问部分正常的(不含隐私或敏感信息的)网络资源地址,再访问指定的(含隐私或敏感信息)网络资源地址,以掩盖或干扰自己的爬虫身份的行为,这使得本方法在爬虫识别的准确性和召回率上均有非常好的提升,相比于相关技术中的识别方法,召回率可以提升30%以上。
可选地,如图3所示,本说明书实施例提供的一种辅助识别爬虫的方法,还可以包括:
步骤118、当基于所述目标会话的爬虫评估参数确定所述目标会话中存在爬虫时,对预设爬虫指标进行监控;
步骤120、在所述预设爬虫指标出现异常时报警。
具体的,当确定多个目标会话中的某一会话中存在爬虫时,可以提取该会话对应的用户ID、爬虫的IP以及爬虫所访问的网络资源地址等数据,并对访问量(Page View,PV)、独立访客(Unique Visitor,UV)和独立IP数等预设爬虫指标中的至少一种进行监控,在这些指标发生异常时进行报警。具体的报警方式可以包括显示提示信息、发出提示音等。
通过该实施例,可以及时提醒用户或服务端采取措施对爬虫做出应急反应,从而防止目标应用中用户的隐私或敏感信息发生泄漏。
如图4所示,本说明书的另一个实施例还提供了一种爬虫识别方法,该方法可以应用于目标应用的服务端,以实现对访问目标应用的爬虫的在线检测。
该方法可以包括如下步骤:
步骤402、确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址。
在一个例子中,目标会话可以是当前时刻/时段访问目标应用的任一访问流量对应的会话。
在另一个例子中,目标会话可以是当前时刻/时段访问目标应用的目标访问流量对应的会话。对于目标应用来说,当前时刻/时段的访问流量可能很多,但并非所有的访问流量都来自爬虫。因此,可选地,在步骤108之后,在步骤110之前,可以对目标应用在当前时刻/时段的访问流量进行筛选,筛选出部分访问流量作为目标访问流量进行爬虫检测,以提高检测效率。其中,访问流量可以是用户的访问日志,一条访问日志对应一个访问流量。
具体的,在步骤108之后,在步骤110之前,可以获取当前时刻/时段访问所述目标应用的访问流量,然后基于已知爬虫所访问的所述目标应用的业务服务,对所述访问流量进行筛选,确定目标访问流量,将所述目标访问流量对应的会话,确定为所述目标会话。由于一般情况下,爬虫感兴趣的是目标应用的部分业务服务对应的网络资源地址,因此,可以预先对已知爬虫经常访问的业务服务器进行统计,然后将这些业务服务对应的访问流量筛选出来作为目标访问流量。
在筛选出目标访问流量之后,可以使用Blink等流式处理引擎,构建目标访问流量对应的会话(目标会话)的滑动窗口,然后对目标会话中的网络资源访问地址进行汇总,得到目标访问序列。
步骤404、基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户。
其中,预先训练得到的词向量字典可以部署在Blink流式处理引擎中。
具体的,步骤404可以包括:基于所述词向量字典确定所述目标访问序列中的网络资源地址的词向量;从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量。
其中,目标值可以包括最大值、最小值和平均值中的至少一种。当然,目标值也可以是从目标访问序列中的网络资源地址的词向量的相应维度中随机选取的值。
在一个更为详细的例子中,目标值包括最大值、最小值和平均值。例如,假如所述目标访问序列为URL序列4,则可以先分别从词向量字典中查询出URL序列4中的各URL的词向量;然后,从URL序列4中各URL的词向量的各维度中抽取最大值、最小值和平均值,组成URL序列4的特征向量。同样可以理解,如果一个URL的词向量是M维,则按照上述例子确定的URL序列的特征向量为3M维。
步骤406、基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的。
其中,预先训练得到的目标模型也可以部署在Blink流式处理引擎中。
具体的,将所述目标访问序列的特征向量输入所述目标模型,即可输出所述目标会话的爬虫评估参数。如前文所述,爬虫评估参数可以分数或概率。
步骤408、基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
一般情况下,当目标会话的爬虫评估参数满足一定条件时,说明目标会话中存在爬虫,否则说明目标会话中不存在爬虫。例如,如果爬虫评估参数大于或等于预设阈值,则说明目标会话中存在爬虫,否则目标会话中不存在爬虫。
图4所示的实施例提供的一种爬虫识别方法,通过预先训练好的词向量字典确定目标访问序列的特征向量,通过预先训练好的目标模型确定目标访问序列对应的会话中是否存在爬虫,由于目标模型在区分爬虫用户的访问序列和非爬虫用户的访问序列上有很好地鲁棒性,因此,通过本方法可以显著提升爬虫识别的准确性和有效性。
此外,本方法通过特征向量对资源网络地址访问序列的相关语义信息进行刻画(比如经常出现在同一访问序列中的URL),因此可以自动对抗爬虫刻意访问部分正常的(不含隐私或敏感信息的)网络资源地址,再访问指定的(含隐私或敏感信息)网络资源地址,以掩盖或干扰自己的爬虫身份的行为,这使得本方法在爬虫识别的准确性和召回率上均有非常好的提升,相比于相关技术中的识别方法,召回率可以提升30%以上。
可选地,在步骤402之前,本说明书实施例提供的一种爬虫识别方法还可以包括训练词向量字典和目标模型的步骤,具体训练过程请参见前文对图1所示的实施例的描述,此处不重复描述。
可选地,如图5所示,在步骤408之后,本说明书实施例提供的一种爬虫识别方法,还可以包括:
步骤410、当基于所述目标会话的爬虫评估参数确定所述目标会话中存在爬虫时,对预设爬虫指标进行监控。
步骤412、在所述预设爬虫指标出现异常时报警。
具体的,当确定多个目标会话中的某一会话中存在爬虫时,可以提取该会话对应的用户ID、爬虫的IP以及爬虫所访问的网络资源地址等数据,并对访问量(Page View,PV)、独立访客(Unique Visitor,UV)和独立IP数等预设爬虫指标中的至少一种进行监控,在这些指标发生异常时进行报警。具体的报警方式可以包括显示提示信息、发出提示音等。
通过该实施例,可以及时提醒用户或服务端采取措施对爬虫做出应急反应,从而防止目标应用中用户的隐私或敏感信息发生泄漏。
需要说明的是,本说明书实施例提供的一种爬虫识别方法,既可用于识别授权爬虫,也可用于识别非授权爬虫。当目标应用为第三方支付应用时,通过本方法,可以防止一些P2P借贷平台通过引导用户授权,爬取该用户在该第三方支付应用中的信用分或信用额度等隐私信息,保护了用户隐私的安全。
以上是对本说明书提供的方法实施例的说明,下面对本说明书提供的电子设备进行介绍。
图6是本说明书的一个实施例提供的电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-AccessMemory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(Extended IndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成辅助识别爬虫的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
基于所述词向量字典,分别确定所述多个访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
或者,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成爬虫识别装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
上述如本说明书图1或图4所示实施例揭示的爬虫识别方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1或图4的方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
基于所述词向量字典,分别确定所述多个访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图4所示实施例的方法,并具体用于执行以下操作:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
下面对本说明书提供的辅助识别爬虫的装置进行说明。
如图7所示,本说明书的一个实施例提供了一种辅助识别爬虫的装置,在一种软件实施方式中,该辅助识别爬虫的装置700可包括:第一序列确定模块701、第一训练模块702、第一向量确定模块703和第二训练模块704。
第一序列确定模块701,用于基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户。
第一训练模块702,用于将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典。
第一向量确定模块703,用于基于所述词向量字典,分别确定所述多个访问序列的特征向量。
具体而言,第一向量确定模块703可用于:对所述多个访问序列,分别基于所述词向量字典确定所述访问序列中的网络资源地址的词向量;从所述访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述访问序列的特征向量。
其中,目标值可以包括最大值、最小值和平均值中的至少一种。当然,目标值也可以是从目标访问序列中的网络资源地址的词向量的相应维度中随机选取的值。
第二训练模块704,用于将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
一般情况下,用户通过客户端登录目标应用以后,目标应用的服务端会创建针对该用户的会话(session)并向客户端返回Session ID,然后客户端可以向服务端发送携带该Session ID的网络资源地址访问请求,以获取该网络资源地址存储的信息。爬虫也是通过客户端与服务端建立的会话爬取相关敏感信息。因此,在本说明书实施例中,可以将会话作为爬虫识别对象,实现会话级别的爬虫实时检测。
本说明书实施例提供的一种辅助识别爬虫的装置,通过对用户访问的网络资源地址进行词向量刻画,在此基础上进一步地对用户的网络资源地址访问序列进行特征向量的刻画,然后以爬虫用户的网络资源地址的特征向量为黑样本,以非爬虫用户的网络资源地址访问序列的特征向量为黑样本,有监督的训练出了能够用户确定一个会话是否为爬虫的目标模型,进而辅助识别访问目标应用的会话是否由爬虫发起。由于爬虫的核心目的是访问指定网络资源地址,以获取隐私或敏感信息,为了实现该目的爬虫是无法替代或绕过对指定网络资源地址的访问的,因此,通过该装置训练出的目标模型,可以显著提升爬虫识别的准确性和有效性,鲁棒性好。
此外,本装置既能辅助识别爬虫行为,又能通过特征向量对资源网络地址访问序列的相关语义信息进行刻画(比如经常出现在同一访问序列中的URL),自动对抗爬虫刻意访问部分正常的(不含隐私或敏感信息的)网络资源地址,再访问指定的(含隐私或敏感信息)网络资源地址,以掩盖或干扰自己的爬虫身份的行为,这使得本装置在爬虫识别的准确性和召回率上均有非常好的提升,相比于相关技术中的识别方法,召回率可以提升30%以上。
再有,上述词向量字典和目标模型易于在线部署,解决了相关技术中的爬虫识别方法在线部署复杂的问题。
需要说明的是,辅助识别爬虫的装置700能够实现图1的方法实施例的方法,具体可参考图1所示实施例的爬虫识别方法,不再赘述。
下面对本说明书实施例提供的爬虫识别装置进行介绍。
如图8所示,本说明书的一个实施例提供了一种爬虫识别装置800,在一种软件实施方式中,该爬虫识别装置800可包括:第二序列确定模块801、第二向量确定模块802、爬虫参数确定模块803和爬虫确定模块804。
第二序列确定模块801,用于确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址。
在一个例子中,目标会话可以是当前时刻/时段访问目标应用的任一访问流量对应的会话。
在另一个例子中,目标会话可以是当前时刻/时段访问目标应用的目标访问流量对应的会话。对于目标应用来说,当前时刻/时段的访问流量可能很多,但并非所有的访问流量都来自爬虫。因此,可选地,装置800还可以包括:流量筛选模块,用于在确定目标访问序列之前,获取当前时刻/时段访问所述目标应用的访问流量,然后基于已知爬虫所访问的所述目标应用的业务服务,对所述访问流量进行筛选,确定目标访问流量,将所述目标访问流量对应的会话,确定为所述目标会话。由于一般情况下,爬虫感兴趣的是目标应用的部分业务服务对应的网络资源地址,因此,可以预先对已知爬虫经常访问的业务服务器进行统计,然后将这些业务服务对应的访问流量筛选出来作为目标访问流量,可以提高爬虫检测效率。
第二向量确定模块802,用于基于预先训练得到的词向量字典,确定所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户。
具体的,第二向量确定模块802可用于:基于所述词向量字典确定所述目标访问序列中的网络资源地址的词向量;从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量。
其中,目标值可以包括最大值、最小值和平均值中的至少一种。当然,目标值也可以是从目标访问序列中的网络资源地址的词向量的相应维度中随机选取的值。
爬虫参数确定模块803,用于基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的。
具体的,将所述目标访问序列的特征向量输入所述目标模型,即可输出所述目标会话的爬虫评估参数。如前文所述,爬虫评估参数可以分数或概率。
爬虫确定模块804,用于基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
需要说明的是,爬虫识别装置800能够实现图4的方法实施例的方法,具体可参考图4所示实施例的爬虫识别方法,不再赘述。
一般情况下,当目标会话的爬虫评估参数满足一定条件时,说明目标会话中存在爬虫,否则说明目标会话中不存在爬虫。例如,如果爬虫评估参数大于或等于预设阈值,则说明目标会话中存在爬虫,否则目标会话中不存在爬虫。
图8所示的实施例提供的一种爬虫识别装置,通过预先训练好的词向量字典确定目标访问序列的特征向量,通过预先训练好的目标模型确定目标访问序列对应的会话中是否存在爬虫,由于目标模型在区分爬虫用户的访问序列和非爬虫用户的访问序列上有很好地鲁棒性,因此,通过本装置可以显著提升爬虫识别的准确性和有效性。
此外,本方法通过特征向量对资源网络地址访问序列的相关语义信息进行刻画(比如经常出现在同一访问序列中的URL),因此可以自动对抗爬虫刻意访问部分正常的(不含隐私或敏感信息的)网络资源地址,再访问指定的(含隐私或敏感信息)网络资源地址,以掩盖或干扰自己的爬虫身份的行为,这使得本装置在爬虫识别的准确性和召回率上均有非常好的提升,相比于相关技术中的识别方法,召回率可以提升30%以上。
可选地,如图9所示,本说明书实施例提供的爬虫识别装置800,还可以包括:监控模块805和报警模块806。
监控模块805,用于当基于所述目标会话的爬虫评估参数确定所述目标会话中存在爬虫时,对预设爬虫指标进行监控;
报警模块806,用于在所述预设爬虫指标出现异常时报警。
具体的,当确定多个目标会话中的某一会话中存在爬虫时,可以提取该会话对应的用户ID、爬虫的IP以及爬虫所访问的网络资源地址等数据,并对访问量(Page View,PV)、独立访客(Unique Visitor,UV)和独立IP数等预设爬虫指标中的至少一种进行监控,在这些指标发生异常时进行报警。具体的报警方式可以包括显示提示信息、发出提示音等。
通过该实施例,可以及时提醒用户或服务端采取措施对爬虫做出应急反应,从而防止目标应用中用户的隐私或敏感信息发生泄漏。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制时,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (19)
1.一种辅助识别爬虫的方法,包括:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
对所述多个访问序列,分别基于所述词向量字典确定所述访问序列中的网络资源地址的词向量;从所述访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
2.根据权利要求1所述的方法,还包括:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的所述目标应用的网络资源地址;
基于所述词向量字典,确定所述目标访问序列的特征向量;
基于所述目标访问序列的特征向量和所述目标模型,确定所述目标会话的爬虫评估参数;
基于所述目标会话的爬虫评估参数,确定所述目标会话中是否存在爬虫。
3.根据权利要求2所述的方法,其中,所述基于所述词向量字典,确定所述目标访问序列的特征向量,包括:
基于所述词向量字典确定所述目标访问序列中的网络资源地址的词向量;
从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量。
4.根据权利要求1或3所述的方法,
所述目标值包括最大值、最小值和平均值中的至少一个。
5.根据权利要求1-3中任一项所述的方法,还包括:
当基于所述目标会话的爬虫评估参数确定所述目标会话中存在爬虫时,对预设爬虫指标进行监控;
在所述预设爬虫指标出现异常时报警。
6.根据权利要求5所述的方法,
所述预设爬虫指标包括访问量PV、独立访客UV和独立IP数中的至少一种。
7.根据权利要求1-3、6中任一项所述的方法,
所述词向量模型包括word2vec、Bert和Graph2vec中的任一种。
8.一种爬虫识别方法,包括:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列中的网络资源地址的词向量,从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
9.根据权利要求8所述的方法,
所述目标值包括最大值、最小值和平均值中的至少一个。
10.根据权利要求8-9任一项所述的方法,还包括:
当基于所述目标会话的爬虫评估参数确定所述目标会话中存在爬虫时,对预设爬虫指标进行监控;
在所述预设爬虫指标出现异常时报警。
11.根据权利要求10所述的方法,
所述预设爬虫指标包括访问量PV、独立访客UV和独立IP数中的至少一种。
12.根据权利要求8-9、11中任一项所述的方法,
所述词向量模型包括word2vec、Bert和Graph2vec中的任一种。
13.根据权利要求8-9、11中任一项所述的方法,在所述确定目标访问序列前,还包括:
获取当前时刻/时段访问所述目标应用的访问流量;
基于已知爬虫所访问的所述目标应用的业务服务,对所述访问流量进行筛选,确定目标访问流量;
将所述目标访问流量对应的会话,确定为所述目标会话。
14.一种辅助识别爬虫的装置,包括:
第一序列确定模块,用于基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
第一训练模块,用于将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
第一向量确定模块,用于对所述多个访问序列,分别基于所述词向量字典确定所述访问序列中的网络资源地址的词向量;从所述访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述访问序列的特征向量;
第二训练模块,用于将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
15.一种爬虫识别装置,包括:
第二序列确定模块,用于确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
第二向量确定模块,用于基于预先训练得到的词向量字典,确定所述目标访问序列中的网络资源地址的词向量,从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
爬虫参数确定模块,用于基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
爬虫确定模块,用于基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
16.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
对所述多个访问序列,分别基于所述词向量字典确定所述访问序列中的网络资源地址的词向量;从所述访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
17.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
基于多个用户在预设历史时段内访问目标应用的网络资源地址的数据,分别确定所述多个用户的网络资源地址访问序列,得到多个访问序列,其中,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
将网络资源地址作为分词,将所述多个访问序列作为语料进行词向量模型训练,以得到所述目标应用的网络资源地址的词向量字典;
对所述多个访问序列,分别基于所述词向量字典确定所述访问序列中的网络资源地址的词向量;从所述访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述访问序列的特征向量;
将所述多个访问序列中爬虫用户对应的访问序列的特征向量作为黑样本,将所述多个访问序列中非爬虫用户对应的访问序列的特征向量作为白样本,训练目标模型,所述目标模型用于确定访问所述目标应用的网络资源地址的会话的爬虫评估参数。
18.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列中的网络资源地址的词向量,从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
19.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
确定目标访问序列,所述目标访问序列中包含通过目标会话访问的目标应用的网络资源地址;
基于预先训练得到的词向量字典,确定所述目标访问序列中的网络资源地址的词向量,从所述目标访问序列中的网络资源地址的词向量的相应维度中,选取至少一个目标值,组成所述目标访问序列的特征向量,其中,所述词向量字典是以所述目标应用的网络资源地址为分词,且以多个访问序列为语料进行词向量模型训练得到的,所述多个访问序列是基于多个用户在预设历史时段内访问所述目标应用的网络资源地址的数据确定的,一个用户对应一个访问序列,所述多个用户包括爬虫用户和非爬虫用户;
基于所述目标访问序列的特征向量和目标模型,确定所述目标会话的爬虫评估参数,其中,所述目标模型是以所述多个访问序列中爬虫用户对应的访问序列的特征向量为黑样本,且以所述多个访问序列中非爬虫用户对应的访问序列的特征向量为白样本训练得到的;
基于所述爬虫评估参数,确定所述目标会话中是否存在爬虫。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911387124.9A CN111143654B (zh) | 2019-12-25 | 2019-12-25 | 辅助识别爬虫的、爬虫识别方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911387124.9A CN111143654B (zh) | 2019-12-25 | 2019-12-25 | 辅助识别爬虫的、爬虫识别方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143654A CN111143654A (zh) | 2020-05-12 |
CN111143654B true CN111143654B (zh) | 2023-06-16 |
Family
ID=70521478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911387124.9A Active CN111143654B (zh) | 2019-12-25 | 2019-12-25 | 辅助识别爬虫的、爬虫识别方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143654B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858929A (zh) * | 2020-06-22 | 2020-10-30 | 网宿科技股份有限公司 | 一种基于图神经网络的网络爬虫检测方法、系统及装置 |
CN111914905B (zh) * | 2020-07-09 | 2021-07-20 | 北京人人云图信息技术有限公司 | 一种基于半监督的反爬虫系统及设计方法 |
CN111859069B (zh) * | 2020-07-15 | 2021-10-15 | 北京市燃气集团有限责任公司 | 一种网络恶意爬虫识别方法、系统、终端及存储介质 |
CN113746790B (zh) * | 2020-07-22 | 2023-09-05 | 北京沃东天骏信息技术有限公司 | 一种异常流量管理方法、电子设备及存储介质 |
CN114978674B (zh) * | 2022-05-18 | 2023-12-05 | 中国电信股份有限公司 | 一种爬虫识别增强的方法及装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072089A (zh) * | 2015-07-10 | 2015-11-18 | 中国科学院信息工程研究所 | 一种web恶意扫描行为异常检测方法与系统 |
CN108763274A (zh) * | 2018-04-09 | 2018-11-06 | 北京三快在线科技有限公司 | 访问请求的识别方法、装置、电子设备及存储介质 |
CN109582844A (zh) * | 2018-11-07 | 2019-04-05 | 北京三快在线科技有限公司 | 一种识别爬虫的方法、装置及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014018630A1 (en) * | 2012-07-24 | 2014-01-30 | Webroot Inc. | System and method to provide automatic classification of phishing sites |
CN103179105B (zh) * | 2012-10-25 | 2016-03-30 | 四川省电力公司信息通信公司 | 一种基于网络流量中行为特征的智能木马检测装置及其方法 |
CN104239582A (zh) * | 2014-10-14 | 2014-12-24 | 北京奇虎科技有限公司 | 基于特征向量模型识别钓鱼网页的方法及装置 |
CN106789888B (zh) * | 2016-11-18 | 2020-08-04 | 重庆邮电大学 | 一种多特征融合的钓鱼网页检测方法 |
CN107133202A (zh) * | 2017-06-01 | 2017-09-05 | 北京百度网讯科技有限公司 | 基于人工智能的文本校验方法和装置 |
CN109756467B (zh) * | 2017-11-07 | 2021-04-27 | 中国移动通信集团广东有限公司 | 一种钓鱼网站的识别方法及装置 |
CN108509426B (zh) * | 2018-04-11 | 2019-03-26 | 焦点科技股份有限公司 | 一种深度多维度流量语义分析方法 |
CN109241733A (zh) * | 2018-08-07 | 2019-01-18 | 北京神州绿盟信息安全科技股份有限公司 | 基于Web访问日志的爬虫行为识别方法及装置 |
CN110245280B (zh) * | 2019-05-06 | 2021-03-02 | 北京三快在线科技有限公司 | 识别网络爬虫的方法、装置、存储介质和电子设备 |
-
2019
- 2019-12-25 CN CN201911387124.9A patent/CN111143654B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072089A (zh) * | 2015-07-10 | 2015-11-18 | 中国科学院信息工程研究所 | 一种web恶意扫描行为异常检测方法与系统 |
CN108763274A (zh) * | 2018-04-09 | 2018-11-06 | 北京三快在线科技有限公司 | 访问请求的识别方法、装置、电子设备及存储介质 |
CN109582844A (zh) * | 2018-11-07 | 2019-04-05 | 北京三快在线科技有限公司 | 一种识别爬虫的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
面向订票服务器端爬虫的可视检测方法研究;吴向阳等;计算机辅助设计与图形学学报;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111143654A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143654B (zh) | 辅助识别爬虫的、爬虫识别方法、装置及电子设备 | |
CN113098870B (zh) | 一种网络诈骗检测方法、装置、电子设备及存储介质 | |
CN110602029B (zh) | 一种用于识别网络攻击的方法和系统 | |
CN109360089B (zh) | 贷款风险预测方法及装置 | |
EP3703329A1 (en) | Webpage request identification | |
CN108038173B (zh) | 一种网页分类方法、系统及一种网页分类设备 | |
CN110826006A (zh) | 基于隐私数据保护的异常采集行为识别方法和装置 | |
CN113949527B (zh) | 异常访问的检测方法、装置、电子设备及可读存储介质 | |
CN116668089B (zh) | 基于深度学习的网络攻击检测方法、系统及介质 | |
Wu et al. | TrackerDetector: A system to detect third-party trackers through machine learning | |
Shyni et al. | Phishing detection in websites using parse tree validation | |
CN110619075A (zh) | 一种网页识别方法与设备 | |
CN115470489A (zh) | 检测模型训练方法、检测方法、设备以及计算机可读介质 | |
CN110474890A (zh) | 一种基于智能流量导向切换的数据反爬取方法及装置 | |
CN112347457A (zh) | 异常账户检测方法、装置、计算机设备和存储介质 | |
Alidoosti et al. | Evaluating the web‐application resiliency to business‐layer DoS attacks | |
CN109462582A (zh) | 文本识别方法、装置、服务器及存储介质 | |
CN111107074B (zh) | 一种防止网络爬虫窃取隐私数据的方法、训练方法及装置 | |
CN110443291B (zh) | 一种模型训练方法、装置及设备 | |
CN116662987A (zh) | 业务系统监控方法、装置、计算机设备及存储介质 | |
Kaur et al. | Five-tier barrier anti-phishing scheme using hybrid approach | |
CN116225950A (zh) | 一种基于多模态融合的诈骗app的识别方法及系统 | |
CN111581533B (zh) | 目标对象的状态识别方法、装置、电子设备和存储介质 | |
CN114595482A (zh) | 一种基于静态检测的软件源代码隐私检测方法及系统 | |
CN110825976B (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 |