CN108133140A - 一种动态防爬虫的方式 - Google Patents
一种动态防爬虫的方式 Download PDFInfo
- Publication number
- CN108133140A CN108133140A CN201711298334.1A CN201711298334A CN108133140A CN 108133140 A CN108133140 A CN 108133140A CN 201711298334 A CN201711298334 A CN 201711298334A CN 108133140 A CN108133140 A CN 108133140A
- Authority
- CN
- China
- Prior art keywords
- reptile
- model
- access
- user
- dimension
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种动态防爬虫的方式,所述方式包括:运用机器学***。
Description
技术领域
本发明涉及网络信息领域,尤其涉及一种动态防爬虫的方式。
背景技术
爬虫技术的更新换代为搜索引擎提供了很好的技术支持,但是很多不友好的爬虫并不遵循通用的reboots协议,未经过平台允许擅自索引平台数据,不仅有可能泄露用户隐私信息,也会造成平台的服务器压力增大。为了防范这种恶意爬虫,防爬虫技术应运而生。
一般的防爬虫技术使用的是规则限制,比如允许一个IP在一定的时间内访问页面数量,限制用户使用的浏览器,用户识别字符串等等。但是这些规则都是事先设定,限制一旦被识破,就失去了防范和限制的作用,那么爬虫就可以不受限制的继续抓取平台信息。
因此设计一种能够动态调整规则,自学习的防爬虫框架成为了一种必然需求。
为了解决上述问题,本发明提出一种动态防爬虫的方式。该动态防爬虫方法通过规则与特征比对相结合,采用概率判定的方法,辅以二次验证码判定,准确快速地识别爬虫访问,保护网络信息安全。同时本方法运用机器学***台的限制规则,提高恶意爬虫防范门槛,显著提升网络信息安全。
发明内容
为了解决上述问题,本发明提出一种动态防爬虫的方式。
具体的,一种动态防爬虫的方式,所述方法包括如下步骤:
S1:运用机器学习方法采集所有用户的访问信息,确定正常用户特征数值,形成正常用户模型;
S2:将每条访问与S1生成的正常用户模型进行对比,若对比结果为非正常的访问,转到S3;若对比结果为正常的访问,转到S6;
S3:将非正常访问请求通过归集算法,将其为爬虫用户请求的概率归集到一定的区间;未达到该区间上限则转到S6,将达到该区间上限的访问转到S4;
S4:判断该访问用户的二次鉴权次数是否达到上限,到达上限转到S7,未达上限转到S5;
S5:通过二次鉴权方式验证此访问是否为爬虫。验证未通过则转到S7,通过则转到S6;
S6:允许继续访问,并更新正常用户模型,并转到S8;
S7:暂停他的访问,并更新爬虫用户模型;
S8:结束。
所述正常用户模型包含用户数据的多个维度和每个维度的正常值区间,正常用户数据的多维度集合构成了正常用户模型,作为比较的数据基础。同理的,所述爬虫用户模型包含爬虫用户数据的多个维度和每个维度的取值区间,爬虫用户数据的多维度集合构成了爬虫用户模型,作为比较的数据基础。
S1中所述机器学***台的判定标准,避免规则被爬虫程序识别并规避。
S3所述的归集算法为, X1表示一个用户的维度数据,X2表示全部用户的该维度的平均数据,设定一个时间段T,则该时间段T内的数值偏差为,将该维度的数值偏差与爬虫维度数值特征值进行比对,得到一个比值,该比值接近区间上限作为开启二次验证的条件。但当在数据有多个不同维度的时候,实际操作中会使用加权平均的方法得到一个比值来开启二次验证,但在默认情况下,采用算数平均的方法得到一个比值来开启二次验证。不同维度之间的权重取决于网站的类型和网站的负荷,在负荷较大时,可以采用简化的运算方式来进行判别。
S4与S5中所述的二次鉴权,是基于网页的验证码形式进行的。优选地,该网页验证码能可以采用图像拖动或者定时刷新的方式提升验证的难度,以便于有效提升爬虫的识别率和被突破难度。
本发明的有益效果在于:该动态防爬虫方法通过规则与特征比对相结合,采用概率判定的方法,辅以二次验证码判定,准确快速地识别爬虫访问,保护网络信息安全。同时本方法运用机器学***台的限制规则,提高恶意爬虫防范门槛,显著提升网络信息安全。
附图说明
图1是本发明的逻辑关系图;
图2是实施例示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
正常用户模型建立算法,用于建立正常用户模型的维度与正常值区间;正常用户模型更新算法,用于对正常用户模型的正常值区间进行动态更新;爬虫用户模型建立算法,用于建立爬虫用户模型的维度与取值区间;本方法能够根据访问数据的变化而自动地动态调整平台的判定标准,避免规则被识别并绕过。
如图2所示,当访问进入时,根据用户模型的特征维度进行提取,例如:PV(pageview),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标;
UV(unique visitor),指访问某个站点或点击某条新闻的不同IP地址的人数;
鼠标轨迹, 分析用户整个网页浏览过程中的先后路径、鼠标悬停时间、鼠标点击区域、操作间隔、访客来路页面和去向页面,以及不同颜色显示不同区域的点击热度等;
然后将每条访问生成的正常用户模型进行对比,若对比结果为正常的访问,允许继续访问,并更新正常用户模型;否则将非正常访问请求通过归集算法,将其为爬虫的概率归集到一定的区间,此处取区间为1到100;本处归集算法具体为:
X1表示一个用户的维度数据,X2表示全部用户的该维度的平均数据,设定一个时间段T,则该时间段T内的数值偏差为,将该维度的数值偏差与爬虫维度数值特征值进行比对,得到一个比值,该比值接近区间上限作为开启二次验证的条件。但当在数据有多个不同维度的时候,实际操作中会使用加权平均的方法得到一个比值来开启二次验证,但在默认情况下,采用算数平均的方法得到一个比值来开启二次验证。不同维度之间的权重取决于网站的类型和网站的负荷,在负荷较大时,可以采用简化的运算方式来进行判别。此处采用的平均方式为:(比值1+比值2+…比值n)/n≥90。
对于区间值大于90的请求,通过二次鉴权方式验证此访问是否为爬虫,并同时记录二次验证次数。如果多次被要求二次验证,那么就会暂停他的访问。本处所述的二次鉴权,是基于网页的验证码形式进行的。优选地,该网页验证码能可以采用图像拖动或者定时刷新的方式提升验证的难度,以便于有效提升爬虫的识别率和突破难度。
同时***根据正常用户和爬虫用户的访问特征动态地进行正常用户模型和爬虫用户模型的更新,使判断规则进行变化,以增加限制规则的适用性。本处使用正常用户模型更新算法,用于对正常用户模型的正常值区间进行动态更新;爬虫用户模型更新算法,用于对爬虫用户对取值区间进行动态更新。
所述正常用户模型包含用户数据的多个维度和每个维度的正常值区间,正常用户数据的多维度集合构成了正常用户模型,作为比较的数据基础。同理的,所述爬虫用户模型包含用户数据的多个维度和每个维度的取值区间,爬虫用户数据的多维度集合构成了爬虫用户模型,作为比较的数据基础。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (6)
1.一种动态防爬虫的方式,其特征在于,所述方式包括:
S1:运用机器学习方法采集所有用户的访问信息,确定正常用户特征数值,形成正常用户模型;
S2:将每条访问与S1生成的正常用户模型进行对比,若对比结果为非正常的访问,转到S3;若对比结果为正常的访问,转到S6;
S3:将非正常访问请求通过归集算法,将其为爬虫用户请求的概率归集到一定的区间;未达到该区间上限则转到S6,将达到该区间上限的访问转到S4;
S4:判断该访问用户的二次鉴权次数是否达到上限,到达上限转到S7,未达上限转到S5;
S5:通过二次鉴权方式验证此访问用户是否为爬虫,验证未通过则转到S7,通过则转到S6;
S6:允许继续访问,并更新正常用户模型,并转到S8;
S7:暂停他的访问,并更新爬虫用户模型;
S8:结束。
2.如权利要求1所述的一种动态防爬虫的方式,其特征在于,所述正常用户模型包含用户数据的多个维度和每个维度的正常值区间,正常用户数据的多维度集合构成了正常用户模型,作为比较的数据基础。
3.如权利要求1所述的一种动态防爬虫的方式,其特征在于,所述爬虫用户模型包含用户数据的多个维度和每个维度的取值区间,爬虫用户数据的多维度集合构成了爬虫用户模型,作为比较的数据基础。
4.如权利要求1所述的一种动态防爬虫的方式,其特征在于,S1中所述机器学习方法,包括:正常用户模型建立算法,用于建立正常用户模型,包括创建新的数据维度和对每个维度赋予正常值区间;正常用户模型更新算法,用于对正常用户模型的正常值区间进行动态更新;爬虫用户模型建立算法,用于建立爬虫用户模型,包括创建新的数据维度和对每个维度赋予取值区间;爬虫用户模型更新算法,用于对爬虫用户模型的取值区间进行动态更新。
5.如权利要求1所述的一种动态防爬虫的方式,其特征在于,S3所述的归集算法为, X1表示某用户的一个维度数据,X2表示全部用户的该维度的平均数据,设定一个时间段T,则该时间段T内的数值偏差为,将该维度的数值偏差与爬虫维度数值特征值进行比对,得到一个比值,该比值接近区间上限作为开启二次验证的条件;在数据有多个维度需要联合检测时,实际操作中会对多维度的归集结果使用加权平均的方法,得到一个比值来判断是否开启二次验证,但在默认情况下,采用算术平均的方法得到一个比值来判断是否开启二次验证。
6.如权利要求1所述的一种动态防爬虫的方式,其特征在于,S4与S5中所述的二次鉴权,是基于网页的验证码形式进行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711298334.1A CN108133140A (zh) | 2017-12-08 | 2017-12-08 | 一种动态防爬虫的方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711298334.1A CN108133140A (zh) | 2017-12-08 | 2017-12-08 | 一种动态防爬虫的方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108133140A true CN108133140A (zh) | 2018-06-08 |
Family
ID=62390081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711298334.1A Pending CN108133140A (zh) | 2017-12-08 | 2017-12-08 | 一种动态防爬虫的方式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108133140A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815385A (zh) * | 2019-01-31 | 2019-05-28 | 无锡火球普惠信息科技有限公司 | 基于app客户端的爬虫及爬取方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676783B1 (en) * | 2011-06-28 | 2014-03-18 | Google Inc. | Method and apparatus for managing a backlog of pending URL crawls |
CN105138665A (zh) * | 2015-09-02 | 2015-12-09 | 东南大学 | 一种基于改进lda模型的互联网话题在线挖掘方法 |
CN105512285A (zh) * | 2015-12-07 | 2016-04-20 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN105930727A (zh) * | 2016-04-25 | 2016-09-07 | 无锡中科富农物联科技有限公司 | 基于Web的爬虫识别算法 |
CN106657057A (zh) * | 2016-12-20 | 2017-05-10 | 北京金堤科技有限公司 | 反爬虫***及方法 |
CN107392022A (zh) * | 2017-07-20 | 2017-11-24 | 北京小度信息科技有限公司 | 爬虫识别、处理方法及相关装置 |
CN107426148A (zh) * | 2017-03-30 | 2017-12-01 | 成都优易数据有限公司 | 一种基于运行环境特征识别的反爬虫方法及*** |
-
2017
- 2017-12-08 CN CN201711298334.1A patent/CN108133140A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676783B1 (en) * | 2011-06-28 | 2014-03-18 | Google Inc. | Method and apparatus for managing a backlog of pending URL crawls |
CN105138665A (zh) * | 2015-09-02 | 2015-12-09 | 东南大学 | 一种基于改进lda模型的互联网话题在线挖掘方法 |
CN105512285A (zh) * | 2015-12-07 | 2016-04-20 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN105930727A (zh) * | 2016-04-25 | 2016-09-07 | 无锡中科富农物联科技有限公司 | 基于Web的爬虫识别算法 |
CN106657057A (zh) * | 2016-12-20 | 2017-05-10 | 北京金堤科技有限公司 | 反爬虫***及方法 |
CN107426148A (zh) * | 2017-03-30 | 2017-12-01 | 成都优易数据有限公司 | 一种基于运行环境特征识别的反爬虫方法及*** |
CN107392022A (zh) * | 2017-07-20 | 2017-11-24 | 北京小度信息科技有限公司 | 爬虫识别、处理方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
吴晓晖 等: "Web爬虫检测技术综述", 《湖北汽车工业学院学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815385A (zh) * | 2019-01-31 | 2019-05-28 | 无锡火球普惠信息科技有限公司 | 基于app客户端的爬虫及爬取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848957B1 (en) | Session management | |
US10785241B2 (en) | URL attack detection method and apparatus, and electronic device | |
ES2945836T3 (es) | Sistemas y métodos para la detección de amenazas de comportamiento | |
Fan et al. | Using artificial anomalies to detect unknown and known network intrusions | |
Frank et al. | Mining permission request patterns from android and facebook applications | |
US9038134B1 (en) | Managing predictions in data security systems | |
Zhu et al. | Mobile app recommendations with security and privacy awareness | |
CN105590055B (zh) | 用于在网络交互***中识别用户可信行为的方法及装置 | |
CN107872452A (zh) | 一种恶意网站的识别方法、装置、存储介质及程序产品 | |
ES2946062T3 (es) | Sistemas y métodos para la detección de amenazas de comportamiento | |
CA3056394A1 (en) | Systems and methods for evaluating data access signature of third-party applications | |
CN105653725A (zh) | 基于条件随机场的mysql数据库强制访问控制自适应优化方法 | |
US10929923B1 (en) | Security scoring | |
CN114091042A (zh) | 风险预警方法 | |
US20240135379A1 (en) | Authenticating Based on Behavioral Transactional Patterns | |
US20220366058A1 (en) | Systems and methods for evaluating data access signature of third-party applications | |
Xu et al. | I2DS: interpretable intrusion detection system using autoencoder and additive tree | |
Gao et al. | Detection of abnormal item based on time intervals for recommender systems | |
US20240214405A1 (en) | Web Page Risk Analysis Using Machine Learning | |
CN108133140A (zh) | 一种动态防爬虫的方式 | |
CN109284590A (zh) | 访问行为安全防护的方法、设备、存储介质及装置 | |
Montaruli et al. | Raze to the ground: Query-efficient adversarial html attacks on machine-learning phishing webpage detectors | |
CN116436683A (zh) | 一种零信任电力网络设备接入安全信任评估方法及装置 | |
Pang et al. | Mineauth: Mining behavioural habits for continuous authentication on a smartphone | |
CN107194259B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180608 |