一种应用服务器的爬虫检测方法和识别网络模型技术

技术编号:28212852 阅读:15 留言:0更新日期:2021-04-24 14:51
本发明专利技术公开了一种应用服务器的爬虫检测方法,包括:根据相同的用户字段IpId和用户字段UserAgent进行分组,对任一分组对应的日志按时间先后顺序排列,以时间间隔T1进行划分,并生成对应的会话控制id;对任一会话控制id对应的日志按时间T2进行重采样,得到时序特征;采用滑动获取时序特征,并组成训练集和测试集的样本数据;对训练集的所述样本数据进行Z

【技术实现步骤摘要】
一种应用服务器的爬虫检测方法和识别网络模型


[0001]本专利技术涉及网络
,尤其是一种应用服务器的爬虫检测方法和识别网络模型。

技术介绍

[0002]目前,现有技术中大部分的互联网应用采用前后端分离的方式提供用户服务,其中,前端系统展示用户界面,后端系统通过API的提供提供数据服务。对于公开应用,由于API暴露在互联网上,爬虫非常容易伪装成前端客户端,利用这些API绕开前端用户界面获取业务数据。因此,需要对现有技术中的爬虫进行检测,但是,现有技术中的爬虫识别方法通常有以下方式:
[0003](1)后端服务器判别客户端User

Agent,Cookie,Session等特定特征来分类;该方式的缺点是这些特征非常容易伪造。
[0004](2)后端服务检查访问来源的API使用频率;这种方式也可以简单的使用分布式代理服务绕开。
[0005](3)使用复杂的前端代码和算法计算前端指纹,然后将指纹用指定算法加密,用于和后端服务通讯,后端解密指纹数据,用来确保API调用是由指定前端发出的;这种方式由于指纹采集算法和加密算法部署在前端,因此,也可以被逆向和模拟,另外这种方式需要前后端同时部署,增加了开发和部署难度。
[0006]因此,急需要提出一种逻辑简单、检测可靠的应用服务器的爬虫检测方法。

技术实现思路

[0007]针对上述问题,本专利技术的目的在于提供一种应用服务器的爬虫检测方法和识别网络模型,本专利技术采用的技术方案如下:
[0008]一种应用服务器的爬虫检测方法,包括以下步骤:
[0009]根据相同的用户字段IpId和用户字段UserAgent进行分组,对任一分组对应的日志按时间先后顺序排列,以时间间隔T1进行划分,并生成对应的会话控制id;
[0010]对任一会话控制id对应的日志按时间T2进行重采样,得到时序特征;
[0011]采用滑动获取时序特征,并组成训练集和测试集的样本数据;
[0012]对训练集的所述样本数据进行Z

Score标准化处理,得到n个二维特征数据;根据用户字段UserAgent对二维特征数据进行标签;
[0013]构建LSTM的识别网络模型,将带标签的二维特征数据输入至LSTM的识别网络模型,并结合二分类交叉熵损失函数进行训练,得到训练后的网络模型;
[0014]将测试集的样本数据输入至网络模型,以检测出爬虫和非爬虫。
[0015]进一步地,所述训练集和测试集的占比为4:1。
[0016]进一步地,所述LSTM的识别网络模型包括从前至后依次连接的输入层、LSTM网络层、四个卷积层、滤波器和输出层。
[0017]优选地,所述输入层的输入的时序窗口长度为30,且时序特征数量为22。
[0018]优选地,所述LSTM网络层的时序窗口长度为30,且时序特征数量为64。
[0019]优选地,四个所述卷积层的卷积窗口均为2、步长均为1,且四个所述卷积层的空洞卷积的膨胀率分别为2、4、8和16。
[0020]优选地,四个所述卷积层的输出的时序窗口长度为30,且时序特征数量为16。
[0021]优选地,所述滤波器的时序窗口长度为30,且时序特征数量为1。
[0022]优选地,所述输出层为时序窗口长度为30的全连接层;所述全连接层内设置有sigmoid激活函数。
[0023]一种运用于应用服务器的爬虫检测方法的识别网络模型,包括从前至后依次连接的输入层、LSTM网络层、四个卷积层、滤波器和输出层;所述输入层的输入的时序窗口长度为30,且时序特征数量为22;所述LSTM网络层的时序窗口长度为30,且时序特征数量为64;所述滤波器的时序窗口长度为30,且时序特征数量为1;四个所述卷积层的卷积窗口均为2、步长均为1,且四个所述卷积层的空洞卷积的膨胀率分别为2、4、8和16;四个所述卷积层的输出的时序窗口长度为30,且时序特征数量为16;所述输出层为时序窗口长度为30的全连接层;所述全连接层内设置有sigmoid激活函数。
[0024]与现有技术相比,本专利技术具有以下有益效果:
[0025](1)本专利技术巧妙地采用滑动窗的方式(窗口大小为30)获取时序特征,组成训练所需的样本数据;为了避免数据量过大,可以设置较大的滑动步长;若标签(label)的分布在数量上是不均衡的,可以对数量少的标签,设置更小的滑动步长,用以采集到更多的数据;
[0026](2)本专利技术巧妙地对训练集的样本数据进行Z

Score标准化处理,以保证后续的模型训练能快速收敛和得到更稳定的模型;
[0027](3)本专利技术巧妙地构建基于LSTM(长短期记忆模型)的识别网络,LSTM中包含记忆单元,能够全局化的表示和变换日志的时序特征;另外LSTM采用了门机制,能够将注意力集中到更有用的信息上来;
[0028](4)本专利技术巧妙地采用四个卷积层,以获得不同的时间序列尺度上的特征;
[0029](5)本专利技术巧妙地设置滤波器,其卷积窗口(kernel_size)为1的Conv1D层;其效用等效于一个过渡隐藏全连接层,由于全连接层的参数数量更大,更容易过拟合;
[0030](6)本专利技术巧妙地在输出层加载sigmoid激活函数,以解决二分类问题,保证模型输出结果在0~1的区间范围内,表示结果是否为爬虫的置信度;
[0031](7)本专利技术在训练时巧妙地采用二分类交叉熵损失函数,用于度量模型输出结果是否为爬虫这两个概率分布间的差异性;
[0032]综上所述,本专利技术具有逻辑简单、检测可靠等优点,在网络
具有很高的实用价值和推广价值。
附图说明
[0033]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需使用的附图作简单介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对保护范围的限定,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0034]图1为本专利技术的网络模型的结构示意图。
具体实施方式
[0035]为使本申请的目的、技术方案和优点更为清楚,下面结合附图和实施例对本专利技术作进一步说明,本专利技术的实施方式包括但不限于下列实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036]实施例
[0037]如图1所示,本实施例提供了一种应用服务器的爬虫检测方法和识别网络模型。其中,本实施例的识别网络模型包括从前至后依次连接的输入层、LSTM网络层、四个卷积层、滤波器和输出层;所述输入层的输入的时序窗口长度为30,且时序特征数量为22;所述LSTM网络层的时序窗口长度为30,且时序特征数量为64;所述滤波器的时序窗口长度为30,且时序特征数量为1;四个所述卷积层的卷积窗口均为2、步长均为1,且四个所述卷积层的空洞卷积的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用服务器的爬虫检测方法,其特征在于,包括以下步骤:根据相同的用户字段IpId和用户字段UserAgent进行分组,对任一分组对应的日志按时间先后顺序排列,以时间间隔T1进行划分,并生成对应的会话控制id;对任一会话控制id对应的日志按时间T2进行重采样,得到时序特征;采用滑动获取时序特征,并组成训练集和测试集的样本数据;对训练集的所述样本数据进行Z

Score标准化处理,得到n个二维特征数据;根据用户字段UserAgent对二维特征数据进行标签;构建LSTM的识别网络模型,将带标签的二维特征数据输入至LSTM的识别网络模型,并结合二分类交叉熵损失函数进行训练,得到训练后的网络模型;将测试集的样本数据输入至网络模型,以检测出爬虫和非爬虫。2.根据权利要求1所述的一种应用服务器的爬虫检测方法,其特征在于,所述训练集和测试集的占比为4:1。3.根据权利要求1所述的一种应用服务器的爬虫检测方法,其特征在于,所述LSTM的识别网络模型包括从前至后依次连接的输入层、LSTM网络层、四个卷积层、滤波器和输出层。4.根据权利要求3所述的一种应用服务器的爬虫检测方法,其特征在于,所述输入层的输入的时序窗口长度为30,且时序特征数量为22。5.根据权利要求3所述的一种应用服务器的爬虫检测方法,其特征在于,所述LSTM网络层的时序窗口长度为30,且时序特...

【专利技术属性】
技术研发人员:王勇科杨亮刘国宏
申请(专利权)人:成都瑞小博科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1