一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质与流程

文档序号:21363718发布日期:2020-07-04 04:38阅读:234来源:国知局
一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质与流程

本说明书实施例涉及计算机领域,尤其涉及一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质。



背景技术:

现有技术中,可以通过网络爬虫等手段来获取网络中的数据,这也使得各种隐私数据存在泄漏风险,如何识别网络爬虫已是网络安全等领域的重要课题。

有鉴于此,需要更有效和更高效的网络爬虫识别方案。



技术实现要素:

本说明书实施例的主要目的在于提供一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质,以解决如何更有效和更高效地识别爬虫的技术问题。

为解决上述技术问题,本说明书实施例是这样实现的:

本说明书实施例提供一种爬虫识别模型训练方法,包括:

确定指向预设隐私数据的目标行为数据以及所述目标行为数据对应的目标行为链路,从所述目标行为链路中确定第一数量个第一爬虫链路,将所述第一数量个第一爬虫链路作为第一类标记样本;

确定第二数量个第二爬虫链路,将所述第二数量个第二爬虫链路作为第二类标记样本;其中,所述第二爬虫链路的确定方式异于所述第一爬虫链路;

确定第三数量个未标记网络行为链路,将所述第三数量个未标记网络行为链路作为未标记类样本;

基于所述第一类标记样本、第二类标记样本以及未标记类样本进行半监督学习的模型训练,得到爬虫识别模型。

本说明书实施例提供一种爬虫识别方法,包括:

接收网络请求;

通过爬虫识别模型对所述网络请求进行爬虫识别,确定爬虫识别结果,所述爬虫识别模型根据上述爬虫识别模型训练方法得到。

本说明书实施例提供一种爬虫识别模型训练装置,包括:

第一标记样本确定模块,用于确定指向预设隐私数据的目标行为数据以及所述目标行为数据对应的目标行为链路,从所述目标行为链路中确定第一数量个第一爬虫链路,将所述第一数量个第一爬虫链路作为第一类标记样本;

第二标记样本确定模块,用于确定第二数量个第二爬虫链路,将所述第二数量个第二爬虫链路作为第二类标记样本;其中,所述第二爬虫链路的确定方式异于所述第一爬虫链路;

未标记样本确定模块,用于确定第三数量个未标记网络行为链路,将所述第三数量个未标记网络行为链路作为未标记类样本;

模型训练模块,用于基于所述第一类标记样本、第二类标记样本以及未标记类样本进行半监督学习的模型训练,得到爬虫识别模型。

本说明书实施例提供一种爬虫识别系统,包括:

请求接收模块,用于接收网络请求;

爬虫识别模块,用于通过爬虫识别模型对所述网络请求进行爬虫识别,确定爬虫识别结果,所述爬虫识别模型根据上述爬虫识别模型训练方法得到。

本说明书实施例提供一种网络请求处理系统,包括:业务前端、业务后台、人机校验前端和爬虫识别装置,所述爬虫识别装置如上所述;

所述业务前端用于可以接收网络请求,以及将所述网络请求发送至所述业务后台;

所述业务后台用于接收所述网络请求,并将所述网络请求发送至所述爬虫识别装置;

所述爬虫识别装置用于接收以及识别业务后台发送的网络请求,确定爬虫识别结果以及与识别结果对应的反馈信息,并将反馈信息反馈至业务后台;

所述业务后台根据反馈信息确定是否需要校验;若需要,则向所述人机校验前端发送校验指令;

人机校验前端用于执行校验。

本说明书实施例提供一种爬虫识别模型训练设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的爬虫识别模型训练方法。

本说明书实施例提供一种爬虫识别设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的爬虫识别方法。

本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的爬虫识别模型训练方法。

本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的爬虫识别方法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

确定第一爬虫链路所使用的网络行为数据既可以包括过往数据,又可以包括新出现数据,从而既能够涵盖过往的爬虫行为,又能够适应新的爬虫模式,丰富且时效性强;第二爬虫链路的确定方式不同于第一爬虫链路的确定方式,能够充分利用已知的爬虫信息。所使用的第一爬虫链路和第二爬虫链路兼顾了新爬虫与已知爬虫,以此来得到爬虫识别模型,能够提高爬虫识别模型和爬虫识别方法的爬虫识别准确率和对隐私数据的保护作用。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书第一个实施例中的爬虫识别模型训练方法的流程示意图。

图2是本说明书第一个实施例的执行示意图。

图3为本说明书第二个实施例中的爬虫识别方法的流程示意图。

图4为本说明书的第一和/或第二个实施例的应用意图。

图5是本说明书第四个实施例中的爬虫识别模型训练装置的结构示意图。

图6是本说明书第五个实施例中的爬虫识别装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

现有技术中,可以通过网络爬虫等手段来获取网络中的数据,这也使得各种隐私数据存在泄漏风险,例如:

目前有一些业务提供方(例如金融服务公司),在用户办理相关业务时,会要求用户填写个人信息,例如互联网账号和密码,然后业务提供方就可以登录用户账户并通过网络爬虫获取用户的数据,例如用户资产、消费、联系方式等数据,其中包括众多隐私数据。同样的,这些业务提供方也可以成为其他人的数据爬取对象。可见,对于隐私数据的掌握方来说,需要有效识别网络爬虫或网络爬虫的数据爬取行为,以保护其所掌握的隐私数据。

现有的爬虫识别可分为两类:

1)基于专家规则的爬虫识别:所谓的专家规则是指根据专业人员的经验,通过数据分析和挖掘得到的一系列的识别规则,例如满足某某条件执行某某操作等,包括但不限于基于无头浏览器特征、基于爬虫ua特征(ua为user-agent的缩写,即用户代理,它是一个特殊字符串头,使得服务器能够识别用户使用的操作系统及版本、cpu类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等)、基于ip访问频次等来指定一系列的执行规则。然而,这种爬虫识别方法是基于爬虫的静态特征,爬虫设计者可以轻易将其绕过(如不断拨号换ip,不断更换ua等),并且操作成本很低。。

2)基于无监督学习的异常检测方法:通过无监督学习的方式提取用户访问过程中的行为特征,然后通过刻画正常访问的行为路径去识别异常访问行为。但由于用来刻画正常访问行为路径的行为样本数量有限,故该方法准确率较低,误报较多,特别是一些新的业务功能,短时间之内无法精准刻画针对这些业务功能的正常访问行为。此外,该方法也没有把已经识别的爬虫作标记。

以下结合附图,详细说明本说明书的一个或多个实施例提供的技术方案。

如图1所示,本说明书的第一个实施例提供了一种爬虫识别模型训练方法,本实施例的执行主体可以是终端或者服务器或者相应的爬虫识别模型训练系统,即执行主体可以是多种多样的,可以根据实际情况进行设置或者变换。另外,也可以有第三方应用程序协助所述执行主体执行本实施例,例如,可以由服务器来执行本实施例中的爬虫识别模型训练方法,并且还可以在终端(包括但不限于手机、计算机)上安装相应的应用程序,服务器与应用程序对应,服务器与终端之间可以进行数据传输,通过终端或应用程序来进行页面或信息展示或数据输入输出,如图2所示。

本实施例提供的爬虫识别模型训练方法包括:

s100:确定指向预设隐私数据的用户行为数据以及所述用户行为数据对应的用户行为链路,从所述用户行为链路中确定第一数量个第一爬虫链路,将所述第一数量个第一爬虫链路作为第一类标记样本。

不管是用户或爬虫,都可以通过网络操作发出网络请求,网络请求一般都对应有请求目标,例如用户或爬虫向某些网络地址或网站或服务器发送网络请求,则网络地址或网站或服务器可以作为请求目标。网络请求在计算机或者数据库或者网络中可以产生对应的网络行为数据,而网络请求对应有访问路径或访问地址,访问路径或访问地址可以指向请求目标,故网络行为数据至少可以包括访问路径或访问地址(还可以包含时间等内容)。网络行为数据可以是url或其他形式的,本实施例不作限定。

网络行为数据在计算机或者数据库或者网络中都可以存储或记录,例如计算机系统日志可以记录网络请求数据,数据库同样可以存储或记录网络请求数据,当然还可以在其他位置或通过其他方式记录和/或存储网络行为数据,本实施例不作限定。

本实施例中,可以用终端id,mac地址或账户等来指代用户,并对网络行为数据进行分类,例如基于同一终端的用户请求所对应的网络行为数据分为一类,可以认为是同一用户的操作;或者若用户登陆了互联网账户,那么可以用互联网账户来指代用户,例如基于同一互联网账户的用户请求所对应的网络行为数据分为一类,可以认为是同一用户的操作,从而可以建立用户与网络行为数据之间的对应关系。

本实施例中,根据网络行为数据可以确定对应的网络行为链路,网络行为链路可以是一系列的网络行为数据(例如一系列的访问路径或访问地址)。例如,对任一类网络行为数据,将该类中网络行为数据进行排序(例如请求执行开始时间、请求执行完成时间、网络行为数据对应的执行目标等排序),根据排序结果确定该类网络行为数据对应的网络行为链路。当然还可以基于网络行为数据采用其他方式得到网络行为链路。

以url格式的网络行为数据为例,某一用户的网络行为数据(可看作一类)

可以如下所示:

url1:/account/index.htm,

url2:/asset/assetitemquery.json,

url3:/certify/v3/personal/channel/entrance,

url4:/error.htm,

url5:/contacts/getcontactuser.json,

url6:/gold/assetmanage.htm,

url7:/asset/asset.htm,

url8:/asset/banklist.htm,

url9:/zhx/detail.htm,

url10:/asset/bindquery.json,

url11:/contacts/tradegroup.json,

url12:/home/accessdenied.htm,

url13:/market/chargeremindinfoentering.htm,

url14:/nav/getunidata.json,

url15:/record/advanced.htm,

url16:/record/statistic.json,

url17:/user/msgcenter/getmsginfosnew.json,

url18:/yeb/index.htm,

url19:/yeb/asset.htm,

url20:/yeb/purchase.htm,

url21:/ua_personalweb_portal_account.js,

url22:/transfercore/withdraw/apply.htm,

url23:/record/standard.htm,

url24:/login/index.htm,

url25:/portal/i.htm,

url26:/mservice/marketing/index.htm,

url27:/login/certcheck.htm,

可见,上述用户访问的url序列为从url1至url27,根据这些url数据可以确定该用户的网络行为链路。例如将上述url序列根据时间进行排序,根据排序结果确定网络行为链路,所确定的网络行为链路代表了用户按照时间所进行的一系列访问行为,每个url可看作网络行为链路的节点。

有些数据可以预设为隐私数据,例如用户的资金、消费、个人信息数据等,若有网络请求指向预设隐私数据(例如网络请求的访问地址指向预设隐私数据所在位置或服务器),则指向预设隐私数据的网络请求所对应的网络行为数据就是指向预设隐私数据的网络行为数据,这样的网络行为数据在本实施例中为目标行为数据。

目标行为数据属于网络行为数据,故采用前述的内容,可以对目标行为数据进行分类,以及对任一类目标行为数据,确定该类目标行为数据对应的网络行为链路。目标行为数据对应的网络行为链路不妨称为目标行为链路。

通过以上内容可以确定多个或预定数量个目标行为链路(不妨称为目标行为链路组)后,可以从目标行为链路组中确定第一数量个第一爬虫链路,将这第一数量个第一爬虫链路作为第一类标记样本。

从目标行为链路中确定第一爬虫链路包括:

s101:将目标行为链路组中的各个目标行为链路进行聚合,得到聚合结果。

本实施例中,将目标行为链路组中的各个目标行为链路进行聚合,得到聚合结果包括:

s1011:对目标行为链路组中任一目标行为链路,将该目标行为链路对应的目标行为数据进行排序(例如按字母排序)。

s1013:将该目标行为链路排序后的目标行为数据进行拼接(拼接结果可以为一个字符串),将拼接结果作为该目标行为链路的聚合结果。当然还可以采用其他聚合方法,本实施例不作限定。

仍以上述的url为例,假设上述url都是指向预设隐私数据的,在确定包括url1~url27的目标行为链路之后,对这些url进行排序。其中,排序规则可以是字母排序,即先比较url中第一个字母在26个拼音字母中的排位,第一个字母排位相同的比较第二个字母,以此类推,从而将url进行排序。当然还可以采用其他排序规则,本实施例不作限定。

将按照预设排序规则排序后的url进行拼接,得到一个拼接后的字符串,即为上述url对应的目标行为链路的聚合结果。如下所示:

排序结果:

url1:/account/index.htm,

url7:/asset/asset.htm,

url2:/asset/assetitemquery.json,

url8:/asset/banklist.htm,

url10:/asset/bindquery.json,

url3:/certify/v3/personal/channel/entrance,

url5:/contacts/getcontactuser.json,

url11:/contacts/tradegroup.json,

url4:/error.htm,

url6:/gold/assetmanage.htm,

url12:/home/accessdenied.htm,

url27:/login/certcheck.htm,

url24:/login/index.htm,

url13:/market/chargeremindinfoentering.htm,

url26:/mservice/marketing/index.htm,

url14:/nav/getunidata.json,

url25:/portal/i.htm,

url15:/record/advanced.htm,

url23:/record/standard.htm,

url16:/record/statistic.json,

url22:/transfercore/withdraw/apply.htm,

url21:/ua_personalweb_portal_account.js,

url17:/user/msgcenter/getmsginfosnew.json,

url19:/yeb/asset.htm,

url18:/yeb/index.htm,

url20:/yeb/purchase.htm,

url9:/zhx/detail.htm。

拼接结果(即聚合结果):

/account/index.htm/asset/asset.htm/asset/assetitemquery.json/asset/banklist.htm/asset/bindquery.json/certify/v3/personal/channel/entrance/contacts/getcontactuser.json/contacts/tradegroup.json/error.htm/gold/assetmanage.htm/home/accessdenied.htm/login/certcheck.htm/login/index.htm/market/chargeremindinfoentering.htm/mservice/marketing/index.htm/nav/getunidata.json/portal/i.htm/record/advanced.htm/record/standard.htm/record/statistic.json/transfercore/withdraw/apply.htm/ua_personalweb_portal_account.js/user/msgcenter/getmsginfosnew.json/yeb/asset.htm/yeb/index.htm/yeb/purchase.htm/zhx/detail.htm。

s103:将目标行为链路组中各个目标行为链路的聚合结果进行对比,将对比结果满足预设条件的目标行为链路作为第一爬虫链路。

对目标行为链路组中的任一目标行为链路,将该目标行为链路的聚合结果与目标行为链路组中的其他目标行为链路的聚合结果分别进行相似度对比,得到相似度(此处为值)。可以将url和/或url的排位作为对比内容,例如同一个url,在两个目标行为链路中都排第三,这两个目标行为链路的相似度相对更高;或者两个目标行为链路出现了相同的url,这两个目标行为链路的相似度相对更高。

当某两个目标行为链路的相似度值大于(或大于等于)相似度阈值时,说明这两个目标行为链路或这两个目标行为链路对应的用户行为相似,属于同一团伙,这两个目标行为链路可以作为潜在目标;当某两个目标行为链路的相似度值小于等于(或小于)相似度阈值时,说明这两个目标行为链路或这两个目标行为链路对应的用户行为不相似,不属于同一团伙。

确定相似度值,即对比结果后,将对比结果满足预设条件的目标行为链路作为第一爬虫对应的目标行为链路。这里的预设条件可以是,对任一目标行为链路,目标行为链路组中与该目标行为链路相似度值大于(或大于等于)相似度阈值的目标行为链路数量大于(或大于等于)预定数量,即与该目标行为链路相似的目标行为链路数量大于(或大于等于)预定数量。

由于目标行为链路组中的目标行为链路进行了两两对比,对组内任一目标行为链路,若目标行为链路组中与该目标行为链路相似度值大于(或大于等于)相似度阈值的目标行为链路数量大于(或大于等于)预定数量,则该目标行为链路为第一爬虫链路。

若目标行为链路组中确定的第一爬虫链路不足第一数量,则可以适当增加目标行为链路组中的目标行为链路数。确定了第一数量个第一爬虫链路后,可以将这第一数量个第一爬虫链路作为第一类标记样本。

本实施例中,爬虫链路即为爬虫对应的网络行为链路,能够代表爬虫的网络行为。

上面通过目标行为数据确定目标行为链路,从目标行为链路中确定第一爬虫链路,将第一爬虫链路作为第一类标记样本,能够充分利用已有的新出现的网络行为数据,并为得到爬虫识别模型提供更多的样本,进而得到更好的爬虫识别模型。

s300:确定第二数量个第二爬虫链路,将所述第二数量个第二爬虫链路作为第二类标记样本;其中,所述第二爬虫链路的确定方式异于所述第一爬虫链路。

本实施例中,第二爬虫链路(第二爬虫链路也可以是指向预设隐私数据的)的确定方式不同于第一爬虫链路的确定方式,例如第二爬虫链路可以是通过前述的专家规则、基于无监督学习的异常检测方法等方法识别出来的爬虫对应的网络行为链路。

s500:确定第三数量个未标记用户行为链路,将所述第三数量个未标记用户行为链路作为未标记类样本。

本实施例中,未标记网络行为链路即未确定是或不是爬虫链路的网络行为链路,或者说未标记网络行为链路可能是,也可能不是爬虫链路。

特别的,第三数量可以远大于第一数量和/或第二数量。

s700:基于所述第一类标记样本、第二类标记样本以及未标记类样本进行半监督学习的模型训练,得到爬虫识别模型。

通过上述内容,得到了第一类标记样本、第二类标记样本和未标记类样本,就可以用这三类用本进行模型训练。第一类标记样本不妨记为第一标记样本集合,即第一数量个第一爬虫链路形成第一标记样本集合;第二类标记样本不妨记为第二标记样本集合,即第二数量个第二爬虫链路形成第二标记样本集合;未标记类样本不妨记为未标记样本集合,即第三数量个未标记网络行为链路形成未标记样本集合。

用来训练的模型可以机器学习模型、神经网络模型等,所用的模型训练方式可以是半监督学习。半监督学习包括但不限于正样本无标签学习算法(positiveunlabeledlearning)、生成模型算法(generatesemi-supervisedmodels)、自训练算法(self-training)、联合训练(co-training)、半监督支持向量机(s3vms)、基于图论的方法等等。

以下以正样本无标签学习算法(pulearnning)为例进行说明:

样本无标签学习是一种半监督学习二元分类算法,可以通过标注有标签的正样本和大量未标注标签的样本训练得到一个二元分类器,通过该二元分类器对输入样本进行分类。第一标记样本集合、第二标记样本集合中的样本共同作为标注有标签的正例(爬虫),这里将第一标记样本集合和第二标记样本集合简称为p集合;未标记样本集合中的样本作为未标注标签的样本,将未标记样本集合简称为u集合。

模型训练可以包括两个阶段,第一阶段:从未标记样本集合中选择可靠的负例集(正常请求)rn,具体为:

在p集合中随机选取一部分正例s加入u集合中,p集合变为p-s,这里称为ps,u集合变为和u+s,这里称为us,然后用ps和us训练一个模型g。然后用g对未标记样本集合u做分类,得到u集合中每个样本的概率,预先设定一个阈值a,如果u集合中的未标记样本经过模型g分类之后得到的概率低于a,将该未标记样本作为一个可靠负例,即正常请求(不是爬虫),将这些可靠负例作为一个可靠的负例集合rn。

第二阶段:利用正例集合p和可靠的负例集合rn,训练一个传统的机器学习分类模型,用来预测新输入的样本。

训练后的分类模型即为本实施例中的爬虫识别模型。

本实施例中,确定第一爬虫链路所使用的网络行为数据既可以包括过往数据,又可以包括新出现数据,从而既能够涵盖过往的爬虫行为,又能够适应新的爬虫模式,丰富且时效性强;第二爬虫链路的确定方式不同于第一爬虫链路的确定方式,能够充分利用已知的爬虫信息。本实施例所使用的第一爬虫链路和第二爬虫链路兼顾了新爬虫与已知爬虫,以此来得到爬虫识别模型,能够提高所得到的爬虫识别模型的爬虫识别准确率和对隐私数据的保护作用。

如图3所示,本说明书的第二个实施例提供了一种爬虫识别方法,本实施例的执行主体可以是终端或者服务器或者相应的爬虫识别系统,即执行主体可以是多种多样的,可以根据实际情况进行设置或者变换。另外,也可以有第三方应用程序协助所述执行主体执行本实施例,例如,可以由服务器来执行本实施例中的爬虫识别方法,并且还可以在终端(包括但不限于手机、计算机)上安装相应的应用程序,服务器与应用程序对应,服务器与终端之间可以进行数据传输,通过终端或应用程序来进行页面或信息展示或数据输入输出。

本实施例提供的爬虫识别方法包括:

s200:接收网络请求。

网络请求参照第一个实施例。

s400:通过爬虫识别模型对所述网络请求进行爬虫识别,确定爬虫识别结果,所述爬虫识别模型根据第一个实施例得到。

在接收到网络请求之后,网络请求对应有行为链路,将网络请求或网络请求对应的网络行为链路输入至第一个实施例所得到的爬虫识别模型中,通过爬虫识别模型对网络请求或网络请求对应的网络行为链路进行爬虫识别,得到爬虫识别结果,从而判定所接收的网络请求是否为爬虫行为,或判定网络请求对应的网络行为链路是否为爬虫链路,从而判定网络请求是否为爬虫行为。本实施例中,若网络请求为爬虫行为,则可称为爬虫请求。由于网络请求和网络行为链路相互对应,可以相互确定,因而确定爬虫链路和确定爬虫请求可以等同。

本实施例中,根据爬虫识别结果确定与爬虫识别结果对应的反馈信息,反馈信息包括高危信息、中危信息和低危信息。

当反馈信息为高危信息时,,拦截上述网络请求。

当反馈信息为中危信息时,对上述网络请求进行二次校验。二次校验包括但不限于滑动验证和/或选字验证和/或计算结果验证;若二次校验通过,则放行上述网络请求;否则,拦截上述网络请求。

当反馈信息为低危信息时,放行上述网络请求。

本实施例中,每一次确定爬虫识别结果后,都可以更新标记样本,这里的标记样本是用来训练爬虫识别模型的,第一个实施例中的第一类标记样本和第二类标记样本都属于标记样本。

在利用第一个实施例得到的爬虫识别模型进行识别后,可能确定了一个或多个爬虫链路,不妨记为第三爬虫链路,根据本实施例识别出的第三爬虫链路可以对爬虫识别模型的样本进行更新。

具体的,在本实施例中,若每确定了第四数量个第三爬虫链路,则将这第四数量个第三爬虫链路作为第三类标记样本,从而形成第三标记样本集合。第一个实施例中,用来训练爬虫识别模型的标记样本包括第一类标记样本和第二类标记样本;本实施例中,将第一类标记样本、第二类标记样本、第三类标记样本共同作为标记样本,从而实现标记样本的更新和丰富。由于用来更新标记样本的爬虫链路是最新识别出来的,更提高了标记样本的时效性。本实施例中,还可以更新未标记类样本。

在更新标记样本后,就可以基于更新后的标记样本和(更新后的)未标记类样本进行半监督学习的模型训练,具体训练过程参照第一个实施例,从而得到更新后的爬虫识别模型。

利用更新后的爬虫识别模型进行爬虫识别,可以得到第四爬虫链路,进而更新标记样本。

以此类推,训练模型-识别爬虫-更新样本-训练模型-……可以不断迭代进行,由于用来训练爬虫识别模型的标记样本的丰富性、时效性,能够不断提高爬虫识别模型和爬虫识别方法的识别准确性,能够更好识别出新出现和新模式的爬虫,提高对隐私数据的保护作用。

如图4所示,本说明书第三个实施例提供了第一和/或第二个实施例的场景应用,本实施例可以通过网络请求处理系统实施或执行。该网络请求处理系统可以包括:业务前端、业务后台、人机校验前端和爬虫识别装置,业务前端、业务后台、人机校验前端可以为虚拟模块,不一定为现实可见的装置或者设备等。业务前端和人机校验前端主要面向用户,提供具体的互联网服务功能和二次人机校验的能力(如滑动验证码、选字验证码等)。

其中,业务前端可以接收网络请求(网络请求可以是用户通过业务前端发起的),并将其发送至业务后台。

业务后台可以接收业务前端发送的网络请求,并将网络请求发送至爬虫识别装置进行爬虫识别。

爬虫识别装置可以接收以及识别业务后台发送的网络请求,确定爬虫识别结果以及与识别结果对应的反馈信息,并将反馈信息通过rdsserves反馈至业务后台,反馈信息包括高危、中危和低危。

业务后台会可以请求rds服务端以获得反馈信息。

当反馈信息为高危时,业务后台拦截上述请求。

当反馈信息为中危时,需要进行校验。业务后台将反馈信息(或校验指令)发送至人机校验前端;

人机校验前端接收到反馈信息(或校验指令)后,执行校验,具体包括滑动验证、选字验证、计算结果验证等方式,这里不再一一举例,以供用户进行校验。当通过二次校验时,说明上述网络请求为正常请求,业务后台将网络请求放行;否则,业务后台将该网络请求拦截。

当反馈信息为低危时,业务后台将上述网络请求放行,以便网络请求的执行。

数据库(rdsserve)中有rds日志,rds日志中记载有正常网络行为数据或正常网络行为链路以及爬虫链路。当爬虫请求或爬虫链路被识别出后,则将爬虫请求或爬虫链路记录在rdsserve中。

如图5所示,本说明书第四个实施例提供了一种爬虫识别模型训练装置,包括:

第一标记样本确定模块801,用于确定指向预设隐私数据的目标行为数据以及所述目标行为数据对应的目标行为链路,从所述目标行为链路中确定第一数量个第一爬虫链路,将所述第一数量个第一爬虫链路作为第一类标记样本;

第二标记样本确定模块803,用于确定第二数量个第二爬虫链路,将所述第二数量个第二爬虫链路作为第二类标记样本;其中,所述第二爬虫链路的确定方式异于所述第一爬虫链路;

未标记样本确定模块805,用于确定第三数量个未标记网络行为链路,将所述第三数量个未标记网络行为链路作为未标记类样本;

模型训练模块807,用于基于所述第一类标记样本、第二类标记样本以及未标记类样本进行半监督学习的模型训练,得到爬虫识别模型。

可选的,确定目标行为数据对应的目标行为链路包括:

对所述目标行为数据进行分类;

对任一类目标行为数据,将该类中目标行为数据进行排序,根据排序结果确定该类目标行为数据对应的目标行为链路。

可选的,从所述目标行为链路中确定第一爬虫链路包括:

将各个目标行为链路进行聚合,得到聚合结果;

将各个目标行为链路的聚合结果进行对比,将对比结果满足预设条件的目标行为链路作为第一爬虫链路。

可选的,将各个目标行为链路进行聚合,得到聚合结果包括:

对任一目标行为链路,将该目标行为链路对应的目标行为数据进行排序;

将该目标行为链路排序后的目标行为数据进行拼接,将拼接结果作为该目标行为链路的聚合结果。

可选的,所述预定条件为:

对任一目标行为链路,与该目标行为链路相似度大于相似度阈值的目标行为链路数量大于预定数量。

可选的,所述第三数量大于所述第一数量;

和/或,

所述第三数量大于所述第一数量。

如图6所示,本说明书第五个实施例提供了一种爬虫识别装置,包括:

请求接收模块901,用于接收网络请求;

爬虫识别模块903,用于通过爬虫识别模型对所述网络请求进行爬虫识别,确定爬虫识别结果,所述爬虫识别模型根据第一或第二或第三或第四个实施例得到。

可选的,所述爬虫识别模块903还用于:确定所述爬虫识别结果后,确定与所述爬虫识别结果对应的反馈信息,所述反馈信息包括高危信息、中危信息和低危信息;

当所述反馈信息为高危信息时,拦截所述网络请求;

当所述反馈信息为中危信息时,对所述用户请求进行二次校验;

当所述反馈信息为低危信息时,放行所述网络请求。

可选的,所述二次校验包括滑动验证和/或选字验证和/或计算结果验证;

若二次校验不通过,则拦截所述网络请求。

可选的,所述装置还包括:

模型训练模块,用于确定所述爬虫识别结果后,更新标记样本;

基于更新后的标记样本进行半监督学习的模型训练,得到更新后的爬虫识别模型。

可选的,所述更新标记样本包括:

将所述爬虫识别模型识别出的爬虫链路作为新标记样本,用于训练爬虫识别模型。

本说明书第六个实施例提供了一种爬虫识别模型训练设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述实施例所述的爬虫识别模型训练方法。

本说明书第七个实施例提供了一种爬虫识别设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述实施例所述的爬虫识别方法。

本说明书第八个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述实施例所述的爬虫识别模型训练方法。

本说明书第九个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述实施例所述的爬虫识别方法。

上述各实施例可以结合使用。

上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescrip地址tionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescrip地址tionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescrip地址tionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescrip地址tionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescrip地址tionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchip地址pic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1