CN107196968B - 一种爬虫识别方法 - Google Patents
一种爬虫识别方法 Download PDFInfo
- Publication number
- CN107196968B CN107196968B CN201710563685.4A CN201710563685A CN107196968B CN 107196968 B CN107196968 B CN 107196968B CN 201710563685 A CN201710563685 A CN 201710563685A CN 107196968 B CN107196968 B CN 107196968B
- Authority
- CN
- China
- Prior art keywords
- access
- crawler
- equipment
- time
- mobile
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Abstract
本发明公开一种爬虫识别方法。所述方法包括由服务端执行的如下步骤:接收移动设备发送的访问信号,每接收一条访问信号保存一条访问日志,所述访问日志包括以下信息:设备ID,访问时间,发送访问信号时的位置,访问页面,查询参数;根据访问日志计算同一移动设备的参数A~G;对A~G进行加权求和得到H,当A或B或H超过设定的阈值时判为爬虫。本发明实现了根据同一设备ID的移动设备的多个参数进行爬虫识别。由于同一爬虫无法伪造注册多个设备ID,因此服务端能利用设备ID准确地识别哪些访问信号来自同一用户或爬虫,提高了爬虫识别的准确率。
Description
技术领域
本发明属于计算机网络技术领域,具体涉及一种爬虫识别方法。
背景技术
爬虫也称为网络爬虫,是一种自动获取网页内容的程序,是搜索引擎的重要组成部分。
传统的爬虫识别方法主要针对请求来源IP,通过统计来源IP的访问频率,如果频率高于设定的阈值,所述来源IP被判为爬虫程序,然后对其进行限制。此方法最大的缺点是误判率较高,因为即使是正常用户,其使用的IP也可能经常发生变化,或者多个正常用户可能共用一个IP,所以单纯根据IP访问频率反爬虫,会经常误伤了正常的用户。目前针对此问题有一些优化方法,常见的方法主要有以下几种:
在浏览器展示的页面中添加特殊js代码,代码运行结果会发送给服务端,服务端再根据运行结果判断是否是真实浏览器,如果不是真实的浏览器,则是爬虫;
服务端向用户浏览器发送一些特殊的Cookie,然后在后续的关键请求中,对Cookie属性进行判断验证,如果Cookie无效,则是爬虫;
服务端对http请求中的header进行判断,认为header不完整或者符合特定模式的则是爬虫。
以上优化方法的优点是能降低误伤率,缺点都是能被爬虫有针对性的破解,识别爬虫的准确率较低。
发明内容
为了解决现有技术中存在的上述问题,本发明提出一种爬虫识别方法,根据安装了客户端的移动设备的设备ID的多个参数进行爬虫识别,提高了判断爬虫的准确率。
为了便于理解本发明的技术方案,对两个名词进行解释:
服务端:基于web向用户提供查询、下单等服务的程序;
客户端:安装于手机、平板电脑等移动设备的应用程序APP。本发明技术方案中的移动设备均指安装了客户端的移动设备。
本发明提供一种爬虫识别方法,包括由服务端执行的如下步骤:
接收移动设备发送的访问信号,每接收一条访问信号保存一条访问日志,所述访问日志包括以下信息:设备ID,访问时间,发送访问信号时的位置,访问页面,查询参数;
根据访问日志计算同一移动设备的以下参数:
A为访问频率,即单位时间内的访问次数;
B为并发访问量,即同时访问服务端的移动设备的数量;
C为当前时刻前一段时间内访问列表页的次数与访问次数(总访问次数)的比值;
D为业务低峰时段每小时的访问次数与业务高峰时段访问次数的比值;
E为当前时刻前一段时间内访问次数与订单数量的比值,所述订单为购买服务端提供的商品或服务创建的订单;
F为当前时刻前一段时间T内移动设备的位置没有发生变化的时间T1和移动设备处于位置黑名单中的时间T2的和(T1+T2)与T的比值;
G为当前时刻前一段时间内访问的查询参数与所有可选查询参数的比值;
对A、B、C、D、E、F、G进行加权求和得到H,如果A>A0,或B>B0,或H>H0,则判为爬虫;其中,A0、B0、H0为设定的三个爬虫判断阈值,H的表达式为:
H=a*A+b*B+c*C+d*D+e*E+f*F+g*G
式中,a、b、c、d、e、f、g分别为A、B、C、D、E、F、G的权值。
进一步地,所述方法还包括:
获取移动设备发送的经加密处理的设备ID,实现所述移动设备在服务端的注册;
根据发送访问信号的移动设备的设备ID对所述移动设备进行校验,判断所述移动设备是否为注册设备;
设置非注册设备的三个爬虫判断阈值分别小于注册设备的三个爬虫判断阈值。
进一步地,a=2,b=3,c=1,d=0.8,e=1.5,f=0.3,g=0.5。
与现有技术相比,本发明具有以下有益效果:
本发明提出的一种爬虫识别方法,通过服务端接收安装了客户端的移动设备发送的访问信号,每接收一条访问信号保存一条包括设备ID、访问时间、发送访问信号时的位置、访问页面和查询参数的访问日志,根据访问日志计算同一移动设备的访问频率A、并发访问数量B等7个参数A~G,对A~G进行加权求和得到H,当A或B或H超过设定的阈值时判为爬虫,实现了根据同一设备ID的移动设备的多个参数进行爬虫识别。由于同一爬虫无法伪造注册多个设备ID,因此服务端能利用设备ID准确地识别哪些访问信号来自同一用户或爬虫,提高了爬虫识别的准确率。
附图说明
图1为本发明实施例一种爬虫识别方法的流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明实施例提供一种爬虫识别方法,由服务端程序实现,所述方法流程图如图1所示,包括以下步骤:
步骤101,接收移动设备发送的访问信号,每接收一条访问信号保存一条访问日志,所述访问日志包括以下信息:设备ID,访问时间,发送访问信号时的位置,访问页面,查询参数;
在本步骤中,服务端实时接收移动设备发送的访问信号。本实施例中的移动设备都是指安装了客户端APP的手机、平板电脑等。本实施例以设备ID作为识别不同移动设备的唯一标识,因此,每一条访问信号都包含移动设备的设备ID信息。为了方便后面的参数计算,每接收一条访问信号创建一条访问日志,用于保存访问信号中的以下信息:设备ID,访问时间,发送访问信号时的位置,访问页面,查询参数。
步骤102,根据访问日志计算同一移动设备的以下参数:
A为访问频率,即单位时间内的访问次数;
B为并发访问量,即同时访问服务端的移动设备的数量;
C为当前时刻前一段时间内访问列表页的次数与访问次数的比值;
D为业务低峰时段每小时的访问次数与业务高峰时段访问次数的比值;
E为当前时刻前一段时间内访问次数与订单数量的比值,所述订单为购买服务端提供的商品或服务创建的订单;
F为当前时刻前一段时间T内移动设备的位置没有发生变化的时间T1和移动设备处于位置黑名单中的时间T2的和(T1+T2)与T的比值;
G为当前时刻前一段时间内访问的查询参数与所有可选查询参数的比值;
在本步骤中,根据上一步创建的访问日志计算同一移动设备的参数A~G,这些参数将用于判断是不是爬虫。
A为访问频率,一般指1分钟内的访问次数。获得访问频率的方法很多,比如,可以采用一个计数器,每接收到一次访问信号,计数器的值加1,每1分钟重置一次计数器。访问频率越A高,是爬虫的可能性越大。访问频率A为实时测量参数,只要计数器的值超过设定的阈值,就可以判为爬虫。
B为并发访问量。B的值也可以通过计数器获得,每收到一次访问信号计数器的值加1,访问信号结束时计数器的值减1,计数器的值就是并发访问量B。同样,并发访问量B越大,是爬虫的可能性越大。而且并发访问量B也是实时测量参数,只要计数器的值超过设定的阈值,就可以判为爬虫。
C为当前时刻前一段时间内访问列表页的次数与访问次数的比值。C的值可通过统计最近一段时间内的访问轨迹(由访问的页面组成)获得。访问的页面包括首页、详情页、列表页等。访问列表页的次数越多,是爬虫的可能性越大。因此,C值越大,是爬虫的可能性越大。
D为业务低峰时段每小时的访问次数与业务高峰时段访问次数的比值。D的值可以通过统计一天内每个小时的访问次数,得到低峰时段每小时的访问次数和业务高峰时段访问次数,然后求二者的比值得到。业务低峰时段每小时的访问次数越多,是爬虫的可能性越大。因此,D值越大,是爬虫的可能性越大。
E为当前时刻前一段时间内访问次数与订单数量的比值。访问次数通过统计访问日志获得;创建的订单数量保存在服务端的数据库中,通过访问数据库可获得订单数量。订单数量越多,是爬虫的可能性越小。因此,E值越大,是爬虫的可能性越大。
F为当前时刻前一段时间T内移动设备的位置没有发生变化的时间T1和移动设备处于位置黑名单中的时间T2的和(T1+T2)与T的比值。根据访问日志中的位置信息可以判断移动设备的位置有没有发生变化,从而得到位置没有发生变化的时间T1;获得位置信息后,与服务端的位置黑名单进行比对即可知道是否处于位置黑名单中,从而得到移动设备处于位置黑名单中的时间T2。用户使用移动设备时,移动设备位置不发生变化的次数越多,是爬虫的可能性越大;移动设备处于位置黑名单范围内的时间越长,是爬虫的可能性越大。因此,F值越大,是爬虫的可能性越大。
G为当前时刻前一段时间内访问的查询参数与所有可选查询参数的比值。根据访问日志中的查询参数信息可获得移动设备在当前时刻前一段时间内共使用了哪些查询参数,再与可选查询参数求比值得到G。访问的查询参数越接近所有可选查询参数,是爬虫的概率越高。因此,G值越大,是爬虫的可能性越大。
与A、B不同的是,C~G均为非实时测量参数,一般称为延时测量参数,测量周期较长,不能单独用来判断是否为爬虫。
步骤103,对A、B、C、D、E、F、G进行加权求和得到H,如果A>A0,或B>B0,或H>H0,则判为爬虫;其中,A0、B0、H0为设定的爬虫判断阈值,H的表达式为:
H=a*A+b*B+c*C+d*D+e*E+f*F+g*G
式中,a、b、c、d、e、f、g分别为A、B、C、D、E、F、G的权值。
本步骤给出了根据步骤102得到的参数识别爬虫的技术方案。如前所述,C~G均为非实时测量参数,不能单独用来判断是否为爬虫。所以,通过对A~G进行加权求和得到一个综合参数H,分别用A、B、H与设定的阈值A0、B0、H0进行比较来判断是不是爬虫,A、B、H中只要有一个超过设定的阈值就判为爬虫。H的表达式中A~G的权值a~g的大小与各个参数对爬虫的敏感度有关,一般根据经验或模拟实验确定。
本发明实施例根据同一设备ID的移动设备的多个参数进行爬虫识别。现有方法一般依赖设备IP识别爬虫,爬虫可以使用不同代理IP伪装成不同用户,使服务端无法准确识别哪些请求来自同一用户或爬虫。本发明实施例基于设备ID进行爬虫识别,由于同一爬虫无法伪造注册多个设备ID,因此服务端能利用设备ID准确地识别哪些访问信号来自同一用户或爬虫,提高了爬虫识别的准确率。
作为一种可选实施例,所述方法还包括:
根据移动设备发送的经加密处理的设备ID,实现所述移动设备在服务端的注册;
根据发送访问信号的移动设备的设备ID对所述移动设备进行校验,判断所述移动设备是否为注册设备;
设置非注册设备的三个爬虫判断阈值分别小于注册设备的三个爬虫判断阈值。
本实施例给出了对安装客户端的移动设备进行注册,在爬虫识别前检验移动设备是不是注册设备,对注册设备和非注册设备设置不同的判断阈值的技术方案。因为爬虫无法完成加密注册,因此非注册设备是爬虫的可能性大于注册设备,所以进行爬虫识别时对非注册设备的要求更苛刻,设置比注册设备更低的爬虫判断阈值。
作为一种可选实施例,a=2,b=3,c=1,d=0.8,e=1.5,f=0.3,g=0.5。
本实施例给出了一组求综合参数H的权值。因为A、B为实时性测量参数,对爬虫最敏感,所以权值较高。本实施例作为一种较佳实施例,给出了一组具体的权值,以供参考,并不排除其它权值数据。
上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。
Claims (3)
1.一种爬虫识别方法,其特征在于,包括由服务端执行的如下步骤:
接收移动设备发送的访问信号,每接收一条访问信号保存一条访问日志,所述访问日志包括以下信息:设备ID,访问时间,发送访问信号时的位置,访问页面,查询参数;
根据访问日志计算同一移动设备的以下参数:
A为访问频率,即单位时间内的访问次数;
B为并发访问量,即同时访问服务端的移动设备的数量;
C为当前时刻前一段时间内访问列表页的次数与访问次数的比值;
D为业务低峰时段每小时的访问次数与业务高峰时段访问次数的比值;
E为当前时刻前一段时间内访问次数与订单数量的比值,所述订单为购买服务端提供的商品或服务创建的订单;
F为当前时刻前一段时间T内移动设备的位置没有发生变化的时间T1和移动设备处于位置黑名单中的时间T2的和(T1+T2)与T的比值;
G为当前时刻前一段时间内访问的查询参数与所有可选查询参数的比值;
对A、B、C、D、E、F、G进行加权求和得到H,如果A>A0,或B>B0,或H>H0,则判为爬虫;其中,A0、B0、H0为设定的三个爬虫判断阈值,H的表达式为:
H=a*A+b*B+c*C+d*D+e*E+f*F+g*G
式中,a、b、c、d、e、f、g分别为A、B、C、D、E、F、G的权值。
2.根据权利要求1所述的爬虫识别方法,其特征在于,所述方法还包括:
获取移动设备发送的经加密处理的设备ID,实现所述移动设备在服务端的注册;
根据发送访问信号的移动设备的设备ID对所述移动设备进行校验,判断所述移动设备是否为注册设备;
设置非注册设备的三个爬虫判断阈值分别小于注册设备的三个爬虫判断阈值。
3.根据权利要求1或2所述的爬虫识别方法,其特征在于,a=2,b=3,c=1,d=0.8,e=1.5,f=0.3,g=0.5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710563685.4A CN107196968B (zh) | 2017-07-12 | 2017-07-12 | 一种爬虫识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710563685.4A CN107196968B (zh) | 2017-07-12 | 2017-07-12 | 一种爬虫识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107196968A CN107196968A (zh) | 2017-09-22 |
CN107196968B true CN107196968B (zh) | 2020-10-20 |
Family
ID=59883117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710563685.4A Active CN107196968B (zh) | 2017-07-12 | 2017-07-12 | 一种爬虫识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107196968B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259482B (zh) * | 2018-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 网络异常数据检测方法、装置、计算机设备及存储介质 |
CN108228864B (zh) * | 2018-01-12 | 2019-08-20 | 深圳壹账通智能科技有限公司 | 网络爬虫识别方法、装置、计算机设备和存储介质 |
CN108712426B (zh) * | 2018-05-21 | 2021-04-16 | 携程旅游网络技术(上海)有限公司 | 基于用户行为埋点的爬虫识别方法及系统 |
CN108777687B (zh) * | 2018-06-05 | 2020-04-14 | 掌阅科技股份有限公司 | 基于用户行为画像的爬虫拦截方法、电子设备、存储介质 |
CN109670093A (zh) * | 2018-09-26 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 爬虫识别方法、装置、设备及可读存储介质 |
CN113343232A (zh) * | 2021-07-13 | 2021-09-03 | 壹药网科技(上海)股份有限公司 | 一种反制爬虫系统 |
CN114553541B (zh) * | 2022-02-17 | 2024-02-06 | 苏州良医汇网络科技有限公司 | 一种分级校验防爬虫的方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210050A (zh) * | 2016-07-12 | 2016-12-07 | 安徽天达网络科技有限公司 | 一种智能反屏蔽网络爬虫系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019708B2 (en) * | 2007-12-05 | 2011-09-13 | Yahoo! Inc. | Methods and apparatus for computing graph similarity via signature similarity |
US8566217B2 (en) * | 2008-09-24 | 2013-10-22 | Bank Of America Corporation | Apparatus and methods for facts based trading |
CN102724059B (zh) * | 2012-03-31 | 2015-03-11 | 常熟市支塘镇新盛技术咨询服务有限公司 | 基于MapReduce的网站运行状态监控与异常检测 |
CN103297435B (zh) * | 2013-06-06 | 2016-12-28 | 中国科学院信息工程研究所 | 一种基于web日志的异常访问行为检测方法与系统 |
CN104135475B (zh) * | 2014-07-18 | 2017-05-24 | 国家电网公司 | 一种面向移动互联网的电力信息安全防护方法 |
CN106156055B (zh) * | 2015-03-27 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 搜索引擎爬虫的识别、处理方法及装置 |
CN105187396A (zh) * | 2015-08-11 | 2015-12-23 | 小米科技有限责任公司 | 识别网络爬虫的方法及装置 |
US9959197B2 (en) * | 2015-08-31 | 2018-05-01 | Vmware, Inc. | Automated bug detection with virtual machine forking |
CN105426415A (zh) * | 2015-10-30 | 2016-03-23 | Tcl集团股份有限公司 | 网站访问请求的管理方法、装置及系统 |
CN105930727B (zh) * | 2016-04-25 | 2018-11-09 | 无锡中科富农物联科技有限公司 | 基于Web的爬虫识别方法 |
CN106657057B (zh) * | 2016-12-20 | 2020-09-29 | 北京金堤科技有限公司 | 反爬虫系统及方法 |
-
2017
- 2017-07-12 CN CN201710563685.4A patent/CN107196968B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210050A (zh) * | 2016-07-12 | 2016-12-07 | 安徽天达网络科技有限公司 | 一种智能反屏蔽网络爬虫系统 |
Non-Patent Citations (1)
Title |
---|
安卓技术信息的主题爬虫技术研究与实现;黄文强;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160515(第05期);I138-1551 * |
Also Published As
Publication number | Publication date |
---|---|
CN107196968A (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196968B (zh) | 一种爬虫识别方法 | |
US10686722B2 (en) | Methods and apparatus to throttle media access by web crawlers | |
CN104618226B (zh) | 一种信息处理方法、客户端和服务器 | |
US10320628B2 (en) | Confidence scoring of device reputation based on characteristic network behavior | |
EP2989801B1 (en) | Methods and apparatus to correlate census measurement data with panel data | |
CN108712426B (zh) | 基于用户行为埋点的爬虫识别方法及系统 | |
US20160232563A1 (en) | Methods and apparatus to de-duplicate impression information | |
WO2018107459A1 (en) | Methods and apparatus to estimate media impression frequency distributions | |
CN104994133B (zh) | 一种基于网络KPI的移动Web网页访问用户体验感知评测方法 | |
US20130246609A1 (en) | Methods and apparatus to track web browsing sessions | |
WO2013028794A2 (en) | Multi-factor identity fingerprinting with user behavior | |
CN110609937A (zh) | 一种爬虫识别方法及装置 | |
CN108521405B (zh) | 一种风险管控方法、装置及存储介质 | |
RU2011144860A (ru) | Сбор и анализ трафика dns для существующего доменного имени | |
CN107342913B (zh) | 一种cdn节点的探测方法和装置 | |
US11887132B2 (en) | Processor systems to estimate audience sizes and impression counts for different frequency intervals | |
WO2022015611A1 (en) | Authentication electronic infrastructure | |
US11582183B2 (en) | Methods and apparatus to perform network-based monitoring of media accesses | |
US10057155B2 (en) | Method and apparatus for determining automatic scanning action | |
CN112954089B (zh) | 一种解析数据的方法、装置、设备以及存储介质 | |
CN104933069A (zh) | 一种桌面终端上网浏览统计的分析方法和系统 | |
US20190223141A1 (en) | Device positioning method and apparatus | |
US8589459B1 (en) | Privacy and security enhanced internet geolocation | |
CN102055815A (zh) | 获取访客本地域名解析服务器的系统 | |
WO2019052469A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |