CN109657119A - 一种基于访问日志ip分析的网络爬虫检测方法 - Google Patents
一种基于访问日志ip分析的网络爬虫检测方法 Download PDFInfo
- Publication number
- CN109657119A CN109657119A CN201811403690.XA CN201811403690A CN109657119A CN 109657119 A CN109657119 A CN 109657119A CN 201811403690 A CN201811403690 A CN 201811403690A CN 109657119 A CN109657119 A CN 109657119A
- Authority
- CN
- China
- Prior art keywords
- crawler
- access
- log
- resource
- detection method
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 230000003542 behavioural effect Effects 0.000 claims abstract description 11
- 230000004069 differentiation Effects 0.000 claims description 3
- 239000010979 ruby Substances 0.000 claims description 3
- 229910001750 ruby Inorganic materials 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 3
- 230000009193 crawling Effects 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于访问日志IP分析的网络爬虫检测方法,具体步骤是:使用特征检测法检测访问请求数据包中的特征来判断是否为普通爬虫;使用访问行为检测法检测IP访问静态资源和动态资源的比例来判断该IP是否为高级爬虫;使用特殊爬虫检测法检测网站接口的访问量来判断是否为爬虫;输出判定结果;本发明通过三种检测方法对IP进行识别,可以覆盖普通爬虫、高级爬虫和特殊爬虫,能够从更大范围内进行有效爬虫识别,在检测过程中还可以通过调节参数控制误报率,更加符合实际工作需要。
Description
技术领域
本发明涉及网络爬虫检测领域,具体涉及一种基于访问日志IP分析的网络爬虫检测方法。
背景技术
随着互联网的发展,越来越多的行业开始通过网站的形式向广大网民展示其主营的各项业务和数据,而网络爬虫则可以自动的获取这些数据,从而爬虫所有者可以通过这些数据获利,例如有的人通过编写爬虫程序爬取电商网站的商品信息,从这些数据中可以获取到每个商品的价格,而作为竞争对手可以以此价格为参考,适当降低自己商场的同款商品的价格,从而保持销售优势。又或者对于一些权威信息,如企业信用信息查询,这些数据只能通过政府网站进行查询,而爬虫编写者可以通过网络爬虫批量获取数据,然后将这些数据转卖给需要这些信息的人从而获利。
目前常用的反爬虫手段是通过访问频率来对爬虫IP进行封锁。首先设置一个访问阈值,当某个IP的访问频率超过阈值则拦截此IP的访问请求。
这种方法对于普通爬虫来说可以起到很好的拦截效果,但是对于高级爬虫则并不能有效进行拦截。爬虫可以通过降低访问频率、增加IP数量等方式绕过检测。而且这种方法还容易产生误拦截,如公司出口IP、小区出口IP等,一个IP并不一定代表唯一一个正常用户,有时候一个IP可能有几百个用户在使用,如果单通过访问频率来识别则有可能会对正常用户进行误拦截。
术语定义:
网络爬虫:又称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫被广泛应用于搜索引擎或用来爬取特定网站内容。
访问日志:即网站用户访问记录,访问日志详细记录了每个用户访问网站的情况,其中包含访问者的IP地址、访问的RUL、访问时间等等内容。
发明内容
为解决上述问题,本发明分别从特征识别、访问行为识别的角度针对普通爬虫、高级爬虫和特殊爬虫进行多重检测。
本发明提供一种基于访问日志IP分析的网络爬虫检测方法,具体包括以下步骤:
1、使用特征检测法检测访问请求数据包中的特征来判断是否为普通爬虫,如果识别成功则判定该IP属于网络爬虫,否则进入下一步;
2、使用访问行为检测法检测IP访问静态资源和动态资源的比例来判断该IP是否为高级爬虫,如果识别成功则判定该IP属于网络爬虫,否则进入下一步;
3、使用特殊爬虫检测法检测网站接口的访问量来判断是否为爬虫,如果识别成功则判定该IP属于网络爬虫,否则判定为非爬虫IP;
4、输出判定结果。
其中三种检测方法具体如下:
一、特征检测法
特征检测法适用于普通爬虫,首先获取访问请求中的UserAgent字段,检测UserAgent中是否包含自动化程序特征,包括python、ruby、PhantomJS、pycurl、httpunit、Wget、Java,如果检测到以上关键词特征则判定为爬虫。
二、访问行为检测法
访问行为检测法适用于高级爬虫,分为以下几个步骤:
(1)、将网站访问日志按照IP维度进行划分,即获取每个IP的全部网站访问日志;
(2)、在步骤(1)的基础上过滤出HTTP状态码等于200的日志,其它日志均去除掉;
(3)、在步骤(2)的基础上统计每个IP访问日志中访问静态资源和动态资源的比例;所述动、静态资源的区分标准通过访问资源的后缀名进行判断;
(4)、通过步骤(3)得到每个IP访问静态资源和动态资源的比例,如果该IP访问动态资源的比例超过静态资源的比例+预设值,则判定该IP属于爬虫IP。
静态资源文件后缀名包括但不限于:.jpg、.png、.js、.css、.gif、.ttf、.ico、.pdf、.mp3、.xls,可以根据网站的静态资源类型进行增减。
三、特殊爬虫检测法
特殊爬虫检测法适用于特殊爬虫,分为以下几个步骤:
(1)、筛选出网站日志中HTTP状态码等于200的日志,其它日志均去除掉;
(2)、从步骤(1)筛选的日志中过滤出动态资源的访问日志;
(3)、统计步骤(2)结果中的日志条数和去重复后IP数,从而可以得到每个IP访问动态资源的平均次数;
(4)、在步骤(2)的基础上,统计出每个IP访问单个动态资源的次数列表;
(5)、将每个IP访问单个动态资源的次数与步骤3得到的平均访问次数进行对比,如果该IP访问某个动态资源的次数高于平均访问次数+预设值,则判定该IP为爬虫IP。
本发明技术方案带来的有益效果为:
从特征识别和访问行为识别两个角度切入,通过三种检测方法对IP进行识别,可以覆盖普通爬虫、高级爬虫和特殊爬虫,能够从更大范围内进行有效爬虫识别,在检测过程中还可以通过调节参数控制误报率,更加符合实际工作需要。
附图说明
图1为本方案的流程图;
图2为访问行为检测法的流程图;
图3为特殊爬虫检测法平均参考值获取流程图;
图4为特殊爬虫检测法的流程图。
具体实施方式
下面结合附图对本发明进一步详细说明。
本发明的流程如图1所示,具体为:
1、使用特征检测法检测访问请求数据包中的特征来判断是否为普通爬虫,如果识别成功则判定该IP属于网络爬虫。
首先获取访问请求中的UserAgent字段,检测UserAgent中是否包含自动化程序特征,包括python、ruby、PhantomJS、pycurl、httpunit、Wget、Java,如果检测到以上关键词特征则判定为爬虫。
注:以上的特征关键词是通过收集常见的自动化程序的UserAgent而来,在技术领域能够发起HTTP请求的工具通常是被技术人员熟知的,因此收集这些工具的特征并不困难。如果遇到新的工具出现可以将其特征添加到我们的UserAegnt特征库中。
如果识别失败则进入下一步。
2、使用访问行为检测法检测IP访问静态资源和动态资源的比例来判断该IP是否为高级爬虫,如果识别成功则判定该IP属于网络爬虫。
问行为检测法如图2所示,具体分为以下几个步骤:
2.1、将网站访问日志按照IP维度进行划分,即获取每个IP的全部网站访问日志;
2.2、在步骤2.1的基础上过滤出HTTP状态码等于200的日志,其它日志均去除掉;
2.3、在步骤2.2的基础上统计每个IP访问日志中访问静态资源和动态资源的比例;所述动、静态资源的区分标准通过访问资源的后缀名进行判断;
2.4、通过步骤2.3得到每个IP访问静态资源和动态资源的比例,如果该IP访问动态资源的比例超过静态资源的比例+预设值,则判定该IP属于爬虫IP。
注:在一般情况下,正常用户访问一个网页通常会附带多个静态资源请求,即在正常情况下网站用户访问动态资源的比例应当比访问静态资源的比例小得多,而网络爬虫通常不会去访问静态资源,它们多以获取数据为主(某些以获取静态资源的爬虫除外),由于静态资源通常对于爬虫没有意义,因此这类爬虫多以访问动态资源为主,由此,这些爬虫具备了访问动态资源明显多于访问静态资源的行为特征。本方法也是基于这样的行为特征来判断该IP是否为网络爬虫。
如果识别失败则进入下一步;
3、使用特殊爬虫检测法检测网站接口的访问量来判断是否为爬虫,如果识别成功则判定该IP属于网络爬虫,
特殊爬虫检测法如图4所示,具体分为以下几个步骤:
3.1、筛选出网站日志中HTTP状态码等于200的日志,其它日志均去除掉;
3.2、从步骤3.1筛选的日志中过滤出动态资源的访问日志;
3.3、统计步骤3.2结果中的日志条数和去重复后IP数,从而可以得到每个IP访问动态资源的平均次数,如图3所示;例如,整个网站的动态资源访问次数为100次,去重复后的IP有20个,那么平均每个IP访问了动态资源5次。
3.4、在步骤3.2的基础上,统计出每个IP访问单个动态资源的次数列表;例如:
3.5、将每个IP访问单个动态资源的次数与步骤3得到的平均访问次数进行对比,如果该IP访问某个动态资源的次数高于平均访问次数+预设值,则判定该IP为爬虫IP。
注:本方法主要是对网站接口类爬虫进行检测,这类爬虫通常只会访问网站的某几个接口,而且访问量特别大,因此它们具备了访问URL数量少,访问次数多的特点。本方法首先计算出整个网站动态资源的平均访问次数,然后再计算出每个IP访问单个动态资源的次数,注意是单个动态资源,假如某个IP在爬取网站接口数据,那么它对这些网站接口的访问量将明显高出平均访问次数,本方法以此可以识别出这类网络爬虫的IP。
如果识别失败则判定为非爬虫IP。
4、输出判定结果。
Claims (5)
1.一种基于访问日志IP分析的网络爬虫检测方法,其特征在于,包括以下步骤:
(1)、使用特征检测法检测访问请求数据包中的特征来判断是否为普通爬虫,如果识别成功则判定该IP属于网络爬虫,否则进入下一步;
(2)、使用访问行为检测法检测IP访问静态资源和动态资源的比例来判断该IP是否为高级爬虫,如果识别成功则判定该IP属于网络爬虫,否则进入下一步;
(3)、使用特殊爬虫检测法检测网站接口的访问量来判断是否为爬虫,如果识别成功则判定该IP属于网络爬虫,否则判定为非爬虫IP;
(4)、输出判定结果。
2.根据权利要求1所述的一种基于访问日志IP分析的网络爬虫检测方法,其特征在于,所述特征检测法适用于普通爬虫,首先获取访问请求中的UserAgent字段,检测UserAgent中是否包含自动化程序特征,包括python、ruby、PhantomJS、pycurl、httpunit、Wget、Java,如果检测到以上关键词特征则判定为爬虫。
3.根据权利要求1所述的一种基于访问日志IP分析的网络爬虫检测方法,其特征在于,所述访问行为检测法适用于高级爬虫,分为以下几个步骤:
(1)、将网站访问日志按照IP维度进行划分,即获取每个IP的全部网站访问日志;
(2)、在步骤(1)的基础上过滤出HTTP状态码等于200的日志,其它日志均去除掉;
(3)、在步骤(2)的基础上统计每个IP访问日志中访问静态资源和动态资源的比例;所述动、静态资源的区分标准通过访问资源的后缀名进行判断;
(4)、通过步骤(3)得到每个IP访问静态资源和动态资源的比例,如果该IP访问动态资源的比例超过静态资源的比例+预设值,则判定该IP属于爬虫IP。
4.根据权利要求3所述的一种基于访问日志IP分析的网络爬虫检测方法,其特征在于,所述静态资源文件后缀名包括但不限于:.jpg、.png、.js、.css、.gif、.ttf、.ico、.pdf、.mp3、.xls,可以根据网站的静态资源类型进行增减。
5.根据权利要求3所述的一种基于访问日志IP分析的网络爬虫检测方法,其特征在于,所述特殊爬虫检测法适用于特殊爬虫,分为以下几个步骤:
(1)、筛选出网站日志中HTTP状态码等于200的日志,其它日志均去除掉;
(2)、从步骤(1)筛选的日志中过滤出动态资源的访问日志;
(3)、统计步骤(2)结果中的日志条数和去重复后IP数,从而可以得到每个IP访问动态资源的平均次数;
(4)、在步骤(2)的基础上,统计出每个IP访问单个动态资源的次数列表;
(5)、将每个IP访问单个动态资源的次数与步骤3得到的平均访问次数进行对比,如果该IP访问某个动态资源的次数高于平均访问次数+预设值,则判定该IP为爬虫IP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811403690.XA CN109657119A (zh) | 2018-11-23 | 2018-11-23 | 一种基于访问日志ip分析的网络爬虫检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811403690.XA CN109657119A (zh) | 2018-11-23 | 2018-11-23 | 一种基于访问日志ip分析的网络爬虫检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109657119A true CN109657119A (zh) | 2019-04-19 |
Family
ID=66112282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811403690.XA Pending CN109657119A (zh) | 2018-11-23 | 2018-11-23 | 一种基于访问日志ip分析的网络爬虫检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657119A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351248A (zh) * | 2019-06-14 | 2019-10-18 | 北京纵横无双科技有限公司 | 一种基于智能分析和智能限流的安全防护方法及装置 |
CN110351280A (zh) * | 2019-07-15 | 2019-10-18 | 杭州安恒信息技术股份有限公司 | 一种威胁情报提取的方法、系统、设备及可读存储介质 |
CN111832024A (zh) * | 2020-07-27 | 2020-10-27 | 广州智云尚大数据科技有限公司 | 一种大数据安全防护方法及系统 |
CN113890762A (zh) * | 2021-09-29 | 2022-01-04 | 中孚安全技术有限公司 | 一种基于流量数据的网络爬虫行为检测方法及系统 |
CN114330466A (zh) * | 2020-09-30 | 2022-04-12 | 北京达佳互联信息技术有限公司 | 行为识别方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140101294A1 (en) * | 2012-08-31 | 2014-04-10 | Tencent Technology (Shenzhen) Company Limited | Transit-mode-based webpage accessing method, system, and crawler route server |
CN105871850A (zh) * | 2016-04-05 | 2016-08-17 | 携程计算机技术(上海)有限公司 | 爬虫检测方法和系统 |
CN107707574A (zh) * | 2017-11-23 | 2018-02-16 | 四川长虹电器股份有限公司 | 一种基于访问行为的反爬虫方法 |
CN108388794A (zh) * | 2018-02-01 | 2018-08-10 | 金蝶软件(中国)有限公司 | 页面数据保护方法、装置、计算机设备和存储介质 |
-
2018
- 2018-11-23 CN CN201811403690.XA patent/CN109657119A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140101294A1 (en) * | 2012-08-31 | 2014-04-10 | Tencent Technology (Shenzhen) Company Limited | Transit-mode-based webpage accessing method, system, and crawler route server |
CN105871850A (zh) * | 2016-04-05 | 2016-08-17 | 携程计算机技术(上海)有限公司 | 爬虫检测方法和系统 |
CN107707574A (zh) * | 2017-11-23 | 2018-02-16 | 四川长虹电器股份有限公司 | 一种基于访问行为的反爬虫方法 |
CN108388794A (zh) * | 2018-02-01 | 2018-08-10 | 金蝶软件(中国)有限公司 | 页面数据保护方法、装置、计算机设备和存储介质 |
Non-Patent Citations (6)
Title |
---|
JIANG YUANSHU: "Offensive and defensive strategy of web crawler", 《IEEE》, 24 November 2012 (2012-11-24) * |
夏敏捷,张西广主编: "应用机器学习方法度量在线品牌忠诚度模型构建研究", 北京交通大学出版社, pages: 253 - 256 * |
张海等: "浅析如何应对网络爬虫流量", 《中国市场》 * |
张海等: "浅析如何应对网络爬虫流量", 《中国市场》, no. 23, 12 June 2016 (2016-06-12) * |
黄克敏: "网站信息安全之反爬虫策略", 《保密科学技术》 * |
黄克敏: "网站信息安全之反爬虫策略", 《保密科学技术》, 20 October 2018 (2018-10-20) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351248A (zh) * | 2019-06-14 | 2019-10-18 | 北京纵横无双科技有限公司 | 一种基于智能分析和智能限流的安全防护方法及装置 |
CN110351248B (zh) * | 2019-06-14 | 2022-03-18 | 北京纵横无双科技有限公司 | 一种基于智能分析和智能限流的安全防护方法及装置 |
CN110351280A (zh) * | 2019-07-15 | 2019-10-18 | 杭州安恒信息技术股份有限公司 | 一种威胁情报提取的方法、系统、设备及可读存储介质 |
CN111832024A (zh) * | 2020-07-27 | 2020-10-27 | 广州智云尚大数据科技有限公司 | 一种大数据安全防护方法及系统 |
CN111832024B (zh) * | 2020-07-27 | 2021-09-24 | 东方财富信息股份有限公司 | 一种大数据安全防护方法及系统 |
CN114330466A (zh) * | 2020-09-30 | 2022-04-12 | 北京达佳互联信息技术有限公司 | 行为识别方法及装置 |
CN113890762A (zh) * | 2021-09-29 | 2022-01-04 | 中孚安全技术有限公司 | 一种基于流量数据的网络爬虫行为检测方法及系统 |
CN113890762B (zh) * | 2021-09-29 | 2023-09-29 | 中孚安全技术有限公司 | 一种基于流量数据的网络爬虫行为检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848760B2 (en) | Malware data clustering | |
CN109657119A (zh) | 一种基于访问日志ip分析的网络爬虫检测方法 | |
US9305302B2 (en) | Weighting sentiment information | |
US9646077B2 (en) | Time-series analysis based on world event derived from unstructured content | |
CN105447184B (zh) | 信息抓取方法及装置 | |
US8615516B2 (en) | Grouping similar values for a specific attribute type of an entity to determine relevance and best values | |
US8412712B2 (en) | Grouping methods for best-value determination from values for an attribute type of specific entity | |
US20180191759A1 (en) | Systems and methods for modeling and monitoring data access behavior | |
CN103401835A (zh) | 一种展现微博页面的安全检测结果的方法及装置 | |
CN106991175B (zh) | 一种客户信息挖掘方法、装置、设备以及存储介质 | |
US11308502B2 (en) | Method for detecting web tracking services | |
WO2011065211A1 (ja) | 文書分析装置、文書分析方法、及びコンピュータ読み取り可能な記録媒体 | |
CN114528457B (zh) | Web指纹检测方法及相关设备 | |
CN111859076B (zh) | 数据爬取方法、装置、计算机设备及计算机可读存储介质 | |
CN109558555B (zh) | 基于人工免疫危险理论的微博水军检测方法及检测系统 | |
WO2021160883A1 (en) | System and method of providing and updating rules for classifying actions and transactions in a computer system | |
JP2002279047A (ja) | 電子掲示板監視システム | |
CN107493275A (zh) | 异构网络安全日志信息的自适应提取和分析方法及系统 | |
CN113688346A (zh) | 一种违法网站识别方法、装置、设备及存储介质 | |
CN108959398A (zh) | 异构存储扩展系统及方法 | |
CN108334629A (zh) | 一种基于自动化测试框架的电网设备状态数据获取系统 | |
CN210804423U (zh) | 一种网站信息采集发布平台系统 | |
Wang et al. | Network behavior abnormal detection for electricity management system based on long short-term memory | |
KR100992069B1 (ko) | 인터넷상의 개인정보 노출대응 시스템 및 방법 | |
CN112804192A (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: 20190419 |