一种基于集成学习的反爬虫系统技术方案

技术编号:38150649 阅读:10 留言:0更新日期:2023-07-13 09:14
本发明专利技术提供了一种基于集成学习的反爬虫系统及方法,该系统包括:数据识别模块,用于从网站服务端的访问数据中提取用户特征数据包括单位时间内的IP段访问量,访问总量,关键页面访问总量,UserAgent出现次数,关键页面最短访问间隔,小于自设最短访问间隔的关键页面查询次数,关键页面的访问次数的cookies数,查询不同页面的次数,并且转换成用户特征编码;爬虫识别模块,用于通过用户特征编码进行学习,并根据用户特征编码判断用户是否为爬虫用户,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问。本发明专利技术可以提高识别爬虫的精准度,降低误识别普通用户的概率。误识别普通用户的概率。误识别普通用户的概率。

【技术实现步骤摘要】
一种基于集成学习的反爬虫系统


[0001]本专利技术涉及计算机领域,特别是一种集成学习的反爬虫系统及方法。

技术介绍

[0002]随着网络的普及和发展,人们获取数据的效率越来越高,获取数据的量也越来越庞大,而在有限的时间内,人们可以搜索到的数据也是有限的。网络爬虫被使用自动批量抓取更多的数据,但是由此导致网站在短时间内收到过量的访问从而造成服务器能力下降甚至崩溃。
[0003]现有的反爬虫手段主要是针对单个访问数据设置阈值如:IP地址访问量或者UserAgent出现次数。因为仅对单一的数据设定阈值,在判断用户是否为普通用户的精准度不高,从而导致普通用户被误封,或者爬虫抓取数据的现象依旧存在。目前对于反爬虫有更高的要求,没有一种基于集成学习的反爬虫系统。

技术实现思路

[0004]基于此,本专利技术提供一种基于集成学习的反爬虫系统及方法,主要目的是处理识别爬虫用户和普通用户的准确度低,容易误封普通用户的问题。
[0005]基于上述目的,本专利技术提供的一种基于集成学习的反爬虫系统,包括:
[0006]数据识别模块,用于从网站服务端的访问数据中提取用户特征数据,并且转换成用户特征编码;
[0007]爬虫识别模块,用于通过用户特征编码进行学习,并根据用户特征编码判断用户是否为爬虫用户,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问。
[0008]优选地,所述用户特征数据包括:
[0009]单位时间内的IP段访问量、单位时间内访问总量、单位时间内关键页面访问总量、单位时间内UserAgent出现次数、单位时间内关键页面最短访问间隔、单位时间内小于自设最短访问间隔的关键页面查询次数、单位时间内关键页面的访问次数的cookies数以及单位时间内查询不同页面的次数。
[0010]优选地,爬虫识别模块包括:
[0011]第一爬虫识别子模块,用于通过逻辑回归模型以及用户特征编码判断用户是否为爬虫用户;
[0012]第二爬虫识别子模块,用于通过支持向量机模型以及用户特征编码判断用户是否为爬虫用户;
[0013]第三爬虫识别子模块,用于通过朴素贝叶斯模型以及用户特征编码判断用户是否为爬虫用户。
[0014]本专利技术的另一方面提供了,一种基于集成学习的反爬虫方法,包括如下步骤:
[0015]数据识别模块从网站服务端的访问数据中提取用户特征数据,并且转换成用户特
征编码;
[0016]爬虫识别模块通过用户特征编码进行学习,并根据用户特征编码判断用户是否为爬虫用户,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问。
[0017]优选地,数据识别模块从网站服务端的访问数据中提取用户特征数据,并且转换成用户特征编码的具体方法包括如下步骤:
[0018]数据识别模块从网站服务端的访问数据中提取单位时间内的IP段访问量、单位时间内访问总量、单位时间内关键页面访问总量、单位时间内UserAgent出现次数、单位时间内关键页面最短访问间隔、单位时间内小于自设最短访问间隔的关键页面查询次数、单位时间内关键页面的访问次数的cookies数以及单位时间内查询不同页面的次数;
[0019]数据识别模块将单位时间内的IP段访问量、单位时间内访问总量、单位时间内关键页面访问总量、单位时间内UserAgent出现次数、单位时间内关键页面最短访问间隔、单位时间内小于自设最短访问间隔的关键页面查询次数、单位时间内关键页面的访问次数的cookies数以及单位时间内查询不同页面的次数转换成0和1的onehot编码,即[x
1 x
2 x
3 x
4 x
5 x
6 x
7 x8]。
[0020]优选地,据用户特征编码判断用户是否为爬虫用户的具体方法包括如下步骤:
[0021]第一爬虫识别子模块通过逻辑回归模型以及用户特征编码判断用户是否为爬虫用户;
[0022]第二爬虫识别子模块通过支持向量机模型以及用户特征编码判断用户是否为爬虫用户;
[0023]第三爬虫识别子模块通过朴素贝叶斯模型以及用户特征编码判断用户是否为爬虫用户。
[0024]优选地,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问的具体方法,包括如下步骤:
[0025]通过第一爬虫识别子模块、第二爬虫子模块以及第三爬虫子模块输出结果判定用户为爬虫或普通用户,爬虫识别子模块有两个或以上输出结果为爬虫,则判定用户为爬虫,以下或没有则判定为普通用户;
[0026]判定为爬虫用户的IP地址添加到黑名单,判定为普通用户则允许继续访问;
[0027]黑名单中的IP地址禁止访问网站。
[0028]本专利技术具有的有益的技术效果:本专利技术实施例提供的一种集成学习的反爬虫系统和一种集成学习的反爬虫方法,爬虫识别模块通过学习爬虫脚本和普通用户的访问行为,用以提高识别爬虫的精准度。第一爬虫识别子模块、第二爬虫子模块以及第三爬虫子模块分别识别用8项用户访问网站的特征数据生成的用户特征编码,从而降低误识别普通用户的概率。识别为爬虫用户的IP地址被添加到黑名单,进而限制爬虫用户的访问。
附图说明
[0029]从以下结合附图的描述可以进一步理解本专利技术。
[0030]图1为本专利技术一种基于集成学习的反爬虫系统的结构图;
[0031]图2为本专利技术一种基于集成学习的反爬虫方法的流程图。
具体实施方式
[0032]为了使得本专利技术的目的、技术方案及优点更加清楚明白,以下结合其实施例,对本专利技术进行进一步详细说明。应当理解的是,此处所描述的具体实施方式仅用以解释本专利技术,并不限定本专利技术的保护范围。
[0033]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本专利技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0034]本专利技术中所述“第一”、“第二”不代表具体的数量及顺序,仅仅是用于名称的区分。
[0035]如图1所示,为本专利技术一实施例提供的反爬虫系统的结构图,其中包括用户端,网站服务端,数据识别模块以及爬虫识别模块。
[0036]各模块所具备的功能如下:
[0037]数据识别模块,用于从网站服务端的访问数据中提取用户特征数据,并且转换成用户特征编码;
[0038]爬虫识别模块,用于通过用户特征编码进行学习,并根据用户特征编码判断用户是否为爬虫用户,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问;
[0039]第一爬虫识别子模块,用于通过逻辑回归模型以及用户特征编码判断用户是否为爬虫用户;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于集成学习的反爬虫系统,其特征在于,包括:数据识别模块,用于从网站服务端的访问数据中提取用户特征数据,并且转换成用户特征编码;爬虫识别模块,用于通过用户特征编码进行学习,并根据用户特征编码判断用户是否为爬虫用户,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问。2.如权利要求1所述的一种基于集成学习的反爬虫系统,其特征在于,所述用户特征数据包括:单位时间内的IP段访问量、单位时间内访问总量、单位时间内关键页面访问总量、单位时间内UserAgent出现次数、单位时间内关键页面最短访问间隔、单位时间内小于自设最短访问间隔的关键页面查询次数、单位时间内关键页面的访问次数的cookies数以及单位时间内查询不同页面的次数。3.如权利要求1所述的一种基于集成学习的反爬虫系统,其特征在于,所述爬虫识别模块包括:第一爬虫识别子模块,用于通过逻辑回归模型以及用户特征编码判断用户是否为爬虫用户;第二爬虫识别子模块,用于通过支持向量机模型以及用户特征编码判断用户是否为爬虫用户;第三爬虫识别子模块,用于通过朴素贝叶斯模型以及用户特征编码判断用户是否为爬虫用户。4.一种基于集成学习的反爬虫方法,其特征在于,包括如下步骤:数据识别模块从网站服务端的访问数据中提取用户特征数据,并且转换成用户特征编码;爬虫识别模块通过用户特征编码进行学习,并根据用户特征编码判断用户是否为爬虫用户,是爬虫用户则标记此IP地址为爬虫用户并禁止此IP地址的访问,是普通用户则允许此用户继续访问。5.如权利要求4所述的一种基于集成学习的反爬虫方法,其特征在于,数据识别模块从网站服务端的访问数据中提取用户特征数据,并且转换成用户特征编码的具体方法包括如下...

【专利技术属性】
技术研发人员:游棉州陈洪钧刘飞生赵玉刚杨俊钟静婷
申请(专利权)人:广州理工学院
类型:发明
国别省市:

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

1