CN108712426B - 基于用户行为埋点的爬虫识别方法及系统 - Google Patents

基于用户行为埋点的爬虫识别方法及系统 Download PDF

Info

Publication number
CN108712426B
CN108712426B CN201810491289.XA CN201810491289A CN108712426B CN 108712426 B CN108712426 B CN 108712426B CN 201810491289 A CN201810491289 A CN 201810491289A CN 108712426 B CN108712426 B CN 108712426B
Authority
CN
China
Prior art keywords
user
crawler
access
access request
data
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
Application number
CN201810491289.XA
Other languages
English (en)
Other versions
CN108712426A (zh
Inventor
付文平
孙大圣
许�鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ctrip Travel Network Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Network Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ctrip Travel Network Technology Shanghai Co Ltd filed Critical Ctrip Travel Network Technology Shanghai Co Ltd
Priority to CN201810491289.XA priority Critical patent/CN108712426B/zh
Publication of CN108712426A publication Critical patent/CN108712426A/zh
Application granted granted Critical
Publication of CN108712426B publication Critical patent/CN108712426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于用户行为埋点的爬虫识别方法及系统,其中方法包括:S1、客户端接收用户发起的访问请求,并将访问请求向后端服务系统异步发送;S2、后端服务系统在接收到访问请求后,同步用户的访问日志,访问日志包括用户的访问行为数据;S3、后端服务系统通过规则引擎聚合访问行为数据;S4、后端服务系统根据聚合后的访问行为数据判断用户是否属于爬虫,若是则根据访问日志聚合出用于标识用户为爬虫的爬虫特征数据,然后将爬虫特征数据通过消息队列异步推送至所述客户端中的爬虫列表;S5、客户端根据爬虫列表响应访问请求。本发明通过同步访问日志,并聚合日志中的访问行为数据后识别爬虫,提高爬虫识别率和准确率。

Description

基于用户行为埋点的爬虫识别方法及系统
技术领域
本发明涉及网络爬虫识别技术领域,特别涉及一种基于用户行为埋点的爬虫识别方法及系统。
背景技术
网站每天都在面对爬虫抓取信息,造成网站的一手信息被其他网站大量窃取,且无节制的访问会引起前端服务器的性能出现瓶颈,影响底层接口服务器的性能,瞬间进来的流量对网站的网络链接和服务性能等冲击很大,带来严重后果,网络爬虫对网站订单也无任何帮助,还会造成网站转化偏低,影响网站运营人员对系统功能的评估。目前,根据请求中IP(网络之间互连的协议)地址访问频次的模式已经不能有效地识别及拦截新型网络爬虫。
发明内容
本发明要解决的技术问题是为了克服现有技术中根据请求中IP地址访问频次的模式不能有效地识别并拦截新型网络爬虫的缺陷,提供一种基于用户行为埋点的爬虫识别方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种基于用户行为埋点的爬虫识别方法,其特点是,包括步骤:
S1、客户端接收用户发起的访问请求,并将所述访问请求向后端服务系统异步发送;
S2、所述后端服务系统在接收到所述访问请求后,同步所述用户的访问日志,所述访问日志包括所述用户的访问行为数据,所述访问行为数据包括所述用户的身份信息、访问页面、访问频次和访问轨迹之中的至少一种数据,所述用户的身份信息是指能表征用户具有唯一身份的数据;
S3、所述后端服务系统通过规则引擎聚合所述访问行为数据,所述规则引擎预设有所述访问行为数据的聚合规则;
S4、所述后端服务系统根据聚合后的所述访问行为数据判断所述用户是否属于爬虫,若是则根据所述访问日志聚合出所述用户的所述身份信息,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据,然后将所述爬虫特征数据通过消息队列异步推送至所述客户端中的爬虫列表;
S5、所述客户端根据所述爬虫列表响应所述访问请求。
较佳地,在步骤S3中,所述后端服务系统在聚合所述访问行为数据时,还根据所述访问行为数据命中所述聚合规则的数量进行评分,并在评分完成后将评分结果通过所述消息队列异步推送至所述客户端;
步骤S5、所述客户端将所述评分结果结合所述爬虫列表判断所述用户属于爬虫的风险等级,并根据所述风险等级处理所述访问请求,所述处理包括拦截所述访问请求、降级服务所述访问请求或者放行所述访问请求,所述降级服务是指对所述访问请求返回预设的降级数据。
较佳地,在步骤S5中,当拦截所述访问请求后,所述客户端还向所述用户发送验证码以验证所述用户的身份。
较佳地,步骤S1中,所述客户端通过kafka系统(一种高吞吐量的分布式发布订阅消息系统)将所述访问请求向后端服务系统异步发送。
较佳地,步骤S2中,所述后端服务系统通过搜索服务器同步所述访问日志,所述搜索服务器在同步所述访问日志后输出所述访问行为数据。
本发明还提供一种基于用户行为埋点的爬虫识别系统,其特点是,包括客户端和后端服务系统,所述客户端包括第一接收模块、发送模块、爬虫列表和处理模块,所述后端服务系统包括第二接收模块、聚合模块、判断模块和消息队列;
所述第一接收模块用于接收用户发起的访问请求;
所述发送模块用于将所述访问请求向所述第二接收模块异步发送;
所述第二接收模块用于在接收到所述发送模块发送的所述访问请求后,同步所述用户的访问日志,所述访问日志包括所述用户的访问行为数据,所述访问行为数据包括所述用户的身份信息、访问页面、访问频次和访问轨迹之中的至少一种数据,所述用户的身份信息是指能表征用户具有唯一身份的数据;
所述聚合模块用于通过规则引擎聚合所述访问行为数据,所述规则引擎预设有所述访问行为数据的聚合规则;
所述判断模块用于根据聚合后的所述访问行为数据判断所述用户是否属于爬虫,若是则调用所述聚合模块,所述聚合模块还用于根据所述访问日志聚合出所述用户的所述身份信息,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据,然后调用所述消息队列;
所述消息队列用于将所述爬虫特征数据异步推送至所述爬虫列表中;
所述爬虫列表用于缓存所述爬虫特征数据;
所述处理模块用于根据所述爬虫列表响应所述访问请求。
较佳地,所述后端服务系统还包括评分模块;
所述评分模块用于在所述聚合模块聚合所述访问行为数据时,根据所述访问行为数据命中所述聚合规则的数量进行评分;
所述消息队列还用于在所述评分模块输出评分结果后将所述评分结果异步推送至所述客户端;
所述处理模块用于根据所述评分结果结合所述爬虫列表判断所述用户属于爬虫的风险等级,并根据所述风险等级处理所述访问请求,所述处理包括拦截所述访问请求、降级服务所述访问请求或者放行所述访问请求,所述降级服务是指对所述访问请求返回预设的降级数据。
较佳地,所述客户端还包括验证模块,所述验证模块用于当所述处理模块拦截所述访问请求后,向所述用户发送验证码以验证所述用户的身份。
较佳地,所述发送模块包括kafka系统,所述kafka系统用于将所述访问请求向所述第二接收模块异步发送。
较佳地,所述后端服务系统还包括搜索服务器,所述搜索服务器用于同步所述访问日志,并在同步所述访问日志后输出所述访问行为数据。
本发明的积极进步效果在于:本发明通过将客户端中用户访问页面时所产生的访问日志同步到后端服务系统,并通过在后端服务系统中的规则引擎中预设用户行为埋点,即预设访问行为数据的聚合规则,然后规则引擎实时对海量的日志数据进行聚合分析,从而识别出用户是否为爬虫,并将爬虫特征数据推送到客户端以便客户端对访问请求进行响应服务,这样后端服务系统实时聚合分析有效地识别出爬虫,避免了客户端的网站页面遭受网络爬虫攻击,保证客户端的服务性能,以及使得访问流量稳定,也提高了网站的转化率。
附图说明
图1为本发明的实施例1的基于用户行为埋点的爬虫识别方法的流程图。
图2为本发明的实施例2的基于用户行为埋点的爬虫识别方法的流程图。
图3为本发明的实施例3的基于用户行为埋点的爬虫识别系统的结构示意图。
图4为本发明的实施例4的基于用户行为埋点的爬虫识别系统的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例涉及的基于用户行为埋点的爬虫识别方法,包括:
S101、客户端接收用户发起的访问请求,并将所述访问请求向后端服务系统异步发送。
具体实施中,客户端通过在App(应用程序)/H5(一种网页页面应用)/网站等应用来接收用户发起的访问请求,然后还通过kafka系统将所述访问请求向后端服务系统异步发送。
S102、所述后端服务系统在接收到所述访问请求后,同步所述访问请求对应的访问日志,所述访问日志包括所述用户的访问行为数据,所述访问行为数据包括所述用户的身份信息、访问页面、访问频次和访问轨迹之中的至少一种数据,所述用户的身份信息是指能表征用户具有唯一身份的数据。其中,鉴于OTA(Online Travel Agency,在线旅游网)站点应用中,用户可以在非登录状态下直接查询中OTA中的价格信息,所以在OTA站点应用中,能表征用户具有唯一身份的数据,比如有用于标识用户设备的设备标识符数据即vid(设备标识符)数据,用于跟踪用户账户的安全标识符数据即sid(安全标识符)数据,用户的IP地址等。
具体实施中,所述后端服务系统通过搜索服务器同步所述访问日志,所述搜索服务器在同步所述访问日志后输出所述访问行为数据,这里所述搜索服务器优选ElasticSearch(一种搜索服务器,提供了一个分布式多用户能力的全文搜索引擎),从而基于ElasticSearch索引技术及分布式存储技术,加速了聚合分析和节省内存,可满足高并发量的应用场合。
S103、所述后端服务系统通过规则引擎聚合所述访问行为数据,所述规则引擎预设有所述访问行为数据的聚合规则。
其中,规则引擎中的聚合规则可根据应用场景进行配置,比如在机票online(在线)站点应用中,所述访问行为数据的聚合规则可根据机票预订流程来设置聚合规则,比如在用户发起预订机票请求后,鉴于正常用户进行机票预订操作时,在一定时间内的请求的频次非常少,这样聚合规则中访问频次可设置在较低的数值,而用户的身份信息、请求页面以及访问轨迹对应的聚合规则也根据订票流程中涉及的页面及其页面访问顺序进行设定,这里不再展开说明。
具体实施中,规则引擎中采用Quartz(一个开源作业调度框架)进行多线程调度,实现线程高并发,实时聚合所述访问行为数据,使得延时由原来不小于5分钟缩减到2分钟之内,有效提高了效率。
S104、所述后端服务系统根据聚合后的所述访问行为数据判断所述用户是否属于爬虫,若是则根据所述访问日志聚合出所述用户的所述身份信息,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据,然后将所述爬虫特征数据通过消息队列异步推送至所述客户端中的爬虫列表,所述爬虫列表用于缓存所述爬虫特征数据。因此,当用户属于爬虫时,则所述爬虫列表将缓存有能标识该用户为爬虫的爬虫特征数据,当用户不属于爬虫时,则所述后端服务系统无需聚合所述用户的所述身份信息,所述爬虫列表也不会缓存该用户的身份信息,从而在后续客户端响应用户的访问请求时,可先根据所述爬虫列表中是否缓存有该用户的相关信息来快速地响应访问请求。
其中,通过规则引擎实时聚合所述访问行为数据,从而根据聚合后的所述访问行为数据判断出所述用户是否属于爬虫,即在聚合中,根据聚合规则聚合出所述访问行为数据对应的执行轨迹,这时若执行轨迹不符合预设执行轨迹时,就可判断该用户为爬虫,当识别为爬虫时就从访问日志中通过聚合方式来提取出用户的身份信息,比如从访问日志中提取出用于标识用户设备的设备标识符数据即vid数据、用于跟踪用户账户的安全标识符数据即sid数据和用户的IP地址等,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据。具体实施时,还将爬虫特征数据保存在后端服务系统中的爬虫数据库后再向客户端推送,以保证可靠地将该爬虫特征数据推送至客户端。进一步,后端服务系统中的消息队列还优选QMQ(可靠消息队列),既保证了更可靠地将该爬虫特征数据被推送至客户端,还可满足高并发的应用场合。
S105、所述客户端根据所述爬虫列表响应所述访问请求。这样,若所述用户的身份信息,比如表征用户身份的vid数据、sid数据或者IP地址出现在所述爬虫列表中,则可直接拦截该用户的访问请求,否则放行该用户的所述访问请求。
本实施中,通过上述步骤S101~S105,基于用户在访问中会产生海量的访问日志,这些访问日志包含有用户在访问过程中所产生的访问行为数据,这样可以将用户的身份信息、访问页面、访问频次和访问轨迹等用户的访问行为数据作为数据埋点,并将这些数据埋点配置成规则引擎中的聚合规则,进而通过规则引擎聚合后可获得这些访问行为数据是否属于正常用户产生的,即聚合后可判断出所述用户是否为爬虫,提高了爬虫的识别率和准确率,日有效识别爬虫数量在300万个左右,高峰期可达近1000万个,有效地筛选出爬虫,避免了网站页面遭受网络爬虫攻击,保证客户端的服务能够正常响应,保证了客户端的访问流量稳定转化,提高网站的转化率及有效访问量。利用本实施例的基于用户行为埋点的爬虫识别方法进行反爬虫后。
为便于理解和说明本发明,本实施例中以一个客户端来进行说明,但本领域的技术人员应当理解,客户端的数量应为若干个。
实施例2
如图2所述,本实施例涉及的基于用户行为埋点的爬虫识别方法,是在实施例1的基础上,还根据访问行为数据命中聚合规则的情况加以评分,进而得到聚合后的所述访问行为数据对应的执行轨迹不符合预设执行轨迹的程度,从而可将评分结果结合爬虫列表后再划分出用户属于爬虫的风险等级,并依风险等级分级响应访问请求。具体地:
在步骤S103中,所述后端服务系统在聚合所述访问行为数据时,还根据所述访问行为数据命中所述聚合规则的数量进行评分,并在评分后将评分结果通过所述消息队列异步推送至所述客户端;
步骤S105、所述客户端将所述评分结果结合所述爬虫列表判断所述用户属于爬虫的风险等级,并根据所述风险等级处理所述访问请求,所述处理包括拦截所述访问请求、降级服务所述访问请求或者放行所述访问请求,所述降级服务是指对所述访问请求返回预设的降级数据,这里的降级数据为针对可疑用户的访问请求而预设的服务数据,该服务数据可以为针对所述访问请求而预设的少量的真实的响应数据,也可以为针对所述访问请求而预设的虚假的响应数据。
进一步,在步骤S105中,当拦截所述访问请求后,所述客户端还向所述用户发送验证码以验证所述用户的身份,以提高爬虫的识别率和准确率,降低正常用户的访问请求被错误拦截的概率。
为便于理解,这里以机票online站点应用为例说明。具体地,在步骤S3中,通过将访问频次细分为三挡:小于5次/min、5~10次/min和大于10次/min,并将访问频次对应的聚合规则也对应分为三挡:第一档为正常用户,即正常用户的访问频次为小于5次/min,第二档为可疑用户,可疑用户的访问频次介于5~10次/min,第三档为爬虫用户,爬虫用户的访问频次为大于10次/min,相应地,将访问频次命中聚合规则的评分定为:命中第一档时记0分,命中第二档时记1分,命中第三档时记2分,这样可得到所述用户每一次访问请求中访问频次对应的评分值。另外,鉴于站点中机票价格是可以在非登录状态下被用户直接查询,所以将用户的身份信息命中聚合规则的评分定为:若用户的身份信息中的vid、sid和IP地址均未命中聚合规则中已有的爬虫特征数据,则记0分,若用户的身份信息中的vid、sid或者IP地址命中聚合规则中已有的爬虫特征数据则记1分,即vid、sid或者IP地址只要有一个命中聚合规则中已有的爬虫特征数据则记1分,所以vid、sid和IP地址均命中时将记3分;将访问页面命中聚合规则的评分定为:访问页面为订单列表中有关的页面记0分,否则记1分;将访问轨迹命中聚合规则的评分定为:请求访问页面的顺序符合预设顺序的记0分,未符合的记1分。这样,通过对该用户海量的访问日志进行聚合和评分后,就得到该用户对应的评分结果。这里将评分结果划分三档:0~5分,5~10分和大于10分,这时将评分结果结合所述爬虫列表将用户属于爬虫的风险等级进行如下划分:当评分结果为0~5分且用户的vid、sid和IP地址均不在爬虫列表中,则风险等级定为无风险;当评分结果为0~5分且用户的vid、sid和IP地址中至少一个在爬虫列表中,或者当评分结果为5~10分且用户的vid、sid和IP地址均不在爬虫列表中,则风险等级定为一般;当评分结果为5~10分且用户的vid、sid和IP地址中至少一个在爬虫列表中,或者评分结果为大于10分,则风险等级定为严重。这样,通过将评分结果与爬虫列表中的爬虫特征数据结合后评价出用户属于爬虫的风险等级,然后再根据风险等级处理所述用户的访问请求,即所述用户属于爬虫的风险等级为无风险时,则放行所述访问请求,而风险等级为一般时,即所述用户属于可疑的爬虫时,则降级服务所述访问请求,即对所述访问请求仅返回预设的降级数据。
本实施例中,通过将用户海量的访问日志同步后,并对访问日志中用户的访问行为数据进行聚合,通过聚合来获得用户的评分结果和提取出属于爬虫时的爬虫特征数据,然后客户端将评分结果结合爬虫列表中的爬虫特征数据来判断出所述用户属于爬虫的风险等级,然后再根据风险等级处理所述用户的访问请求,并通过对可疑爬虫的访问请求进行降级服务,既提高了爬虫的识别率和准确率,降低了正常用户的访问请求被错误拦截的概率,还通过向可疑爬虫提供响应数据,来避免可疑爬虫一直对站点发起访问请求而影响了站点正常流量甚至造成站点出现大量报错,从而在反爬虫中找到爬虫与反爬虫的平衡点,提高了站点的商业价值。
实施例3
如图3所示,本实施例涉及的基于用户行为埋点的爬虫识别系统,包括客户端1和后端服务系统2,其中,客户端1包括第一接收模块11、发送模块12、爬虫列表13和处理模块14,后端服务系统2包括第二接收模块21、聚合模块22、判断模块23和消息队列24;第一接收模块11用于接收用户发起的访问请求;发送模块12用于将所述访问请求向第二接收模块21异步发送;第二接收模块21用于在接收到发送模块12发送的所述访问请求后,同步所述用户的访问日志,所述访问日志包括所述用户的访问行为数据,所述访问行为数据包括所述用户的身份信息、访问页面、访问频次和访问轨迹之中的至少一种数据,所述用户的身份信息是指能表征用户具有唯一身份的数据;聚合模块22用于通过规则引擎聚合所述访问行为数据,所述规则引擎预设有所述访问行为数据的聚合规则;判断模块23用于根据聚合后的所述访问行为数据判断所述用户是否属于爬虫,若是则调用聚合模块22,聚合模块22还用于根据所述访问日志聚合出所述用户的所述身份信息,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据,然后调用消息队列24;消息队列24用于将所述爬虫特征数据异步推送至爬虫列表13中;处理模块14用于根据所述爬虫列表响应所述访问请求。其中,处理模块14根据所述爬虫列表响应所述访问请求时,若所述用户的身份信息,比如表征用户身份的vid数据、sid数据或者IP地址出现在所述爬虫列表中,则可直接拦截该用户的访问请求,否则放行该用户的所述访问请求。
具体实施中,发送模块12优选kafka系统,这样通过kafka系统将所述访问请求向第二接收模块21异步发送;消息队列24在将所述爬虫特征数据异步推送至爬虫列表13前,还将所述爬虫特征数据存储至爬虫数据库中,以保证该爬虫特征数据能被可靠地推送至客户端;进一步,消息队列24优选QMQ,既保证了该爬虫特征数据更可靠地被推送至客户端,还可满足高并发的应用场合。
进一步,后端服务系统2还包括搜索服务器25,搜索服务器25用于同步所述访问日志,并在同步所述访问日志后输出所述访问行为数据。具体实施时,搜索服务器25优选ElasticSearch,从而基于ElasticSearch索引技术及分布式存储技术,加速了聚合分析和节省内存,可满足高并发量的应用场合。
进一步,规则引擎中采用Quartz进行多线程调度,实现线程高并发,可实时聚合所述访问行为数据,有效提高了效率。
实施例4
如图4所示,本实施例涉及的基于用户行为埋点的爬虫识别系统,是在实施例3的基础上,通过增加评分模块对访问行为数据命中聚合规则的情况加以评分,进而得到聚合后的所述访问行为数据对应的执行轨迹不符合预设执行轨迹的程度,从而可将评分结果结合爬虫列表后再划分出用户属于爬虫的风险等级,并依风险等级分级响应访问请求。
具体地,后端服务系统2还包括评分模块26,评分模块26用于在聚合模块22聚合所述访问行为数据时,根据所述访问行为数据命中所述聚合规则的数量进行评分,消息队列24还用于在评分后将评分结果异步推送至所述客户端;处理模块14用于根据所述评分结果结合所述爬虫列表判断所述用户属于爬虫的风险等级,并根据所述风险等级处理所述访问请求,所述处理包括拦截所述访问请求、降级服务所述访问请求或者放行所述访问请求,所述降级服务是指对所述访问请求返回预设的降级数据,其中降级数据为针对可疑用户的访问请求而预设的服务数据,该服务数据可以为针对所述访问请求而预设的少量的真实的响应数据,也可以为针对所述访问请求而预设的虚假的响应数据。
进一步,客户端1还包括验证模块15,验证模块15用于当处理模块14拦截所述访问请求后,向所述用户发送验证码以验证所述用户的身份,以提高爬虫的识别率和准确率,降低正常用户的访问请求被错误拦截的概率。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (8)

1.一种基于用户行为埋点的爬虫识别方法,其特征在于,包括步骤:
S1、客户端接收用户发起的访问请求,并将所述访问请求向后端服务系统异步发送;
S2、所述后端服务系统在接收到所述访问请求后,同步所述用户的访问日志,所述访问日志包括所述用户的访问行为数据,所述访问行为数据包括所述用户的身份信息、访问页面、访问频次和访问轨迹之中的至少一种数据,所述用户的身份信息是指能表征用户具有唯一身份的数据;
S3、所述后端服务系统通过规则引擎聚合所述访问行为数据,所述规则引擎预设有所述访问行为数据的聚合规则;
S4、所述后端服务系统根据聚合后的所述访问行为数据判断所述用户是否属于爬虫,若是则根据所述访问日志聚合出所述用户的所述身份信息,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据,然后将所述爬虫特征数据通过消息队列异步推送至所述客户端中的爬虫列表;
S5、所述客户端根据所述爬虫列表响应所述访问请求;
在步骤S3中,所述后端服务系统在聚合所述访问行为数据时,还根据所述访问行为数据命中所述聚合规则的数量进行评分,并在评分完成后将评分结果通过所述消息队列异步推送至所述客户端;
步骤S5、所述客户端将所述评分结果结合所述爬虫列表判断所述用户属于爬虫的风险等级,并根据所述风险等级处理所述访问请求,所述处理包括拦截所述访问请求、降级服务所述访问请求或者放行所述访问请求,所述降级服务是指对所述访问请求返回预设的降级数据;其中,
降级数据为针对可疑用户的访问请求而预设的少量的真实的响应数据,或者为针对所述可疑用户的访问请求而预设的虚假的响应数据;
所述用户属于爬虫的风险等级为无风险时,则放行所述访问请求;所述用户属于爬虫的风险等级为一般时,即所述用户属于可疑用户时,则降级服务所述访问请求;所述用户属于爬虫的风险等级为严重时,则拦截所述访问请求。
2.如权利要求1所述的基于用户行为埋点的爬虫识别方法,其特征在于,在步骤S5中,当拦截所述访问请求后,所述客户端还向所述用户发送验证码以验证所述用户的身份。
3.如权利要求1所述的基于用户行为埋点的爬虫识别方法,其特征在于,步骤S1中,所述客户端通过kafka系统将所述访问请求向后端服务系统异步发送。
4.如权利要求1所述的基于用户行为埋点的爬虫识别方法,其特征在于,步骤S2中,所述后端服务系统通过搜索服务器同步所述访问日志,所述搜索服务器在同步所述访问日志后输出所述访问行为数据。
5.一种基于用户行为埋点的爬虫识别系统,其特征在于,包括客户端和后端服务系统,所述客户端包括第一接收模块、发送模块、爬虫列表和处理模块,所述后端服务系统包括第二接收模块、聚合模块、判断模块、消息队列和评分模块;
所述第一接收模块用于接收用户发起的访问请求;
所述发送模块用于将所述访问请求向所述第二接收模块异步发送;
所述第二接收模块用于在接收到所述发送模块发送的所述访问请求后,同步所述用户的访问日志,所述访问日志包括所述用户的访问行为数据,所述访问行为数据包括所述用户的身份信息、访问页面、访问频次和访问轨迹之中的至少一种数据,所述用户的身份信息是指能表征用户具有唯一身份的数据;
所述聚合模块用于通过规则引擎聚合所述访问行为数据,所述规则引擎预设有所述访问行为数据的聚合规则;
所述判断模块用于根据聚合后的所述访问行为数据判断所述用户是否属于爬虫,若是则调用所述聚合模块,所述聚合模块还用于根据所述访问日志聚合出所述用户的所述身份信息,并将聚合后的所述身份信息作为标识所述用户为爬虫的爬虫特征数据,然后调用所述消息队列;
所述消息队列用于将所述爬虫特征数据异步推送至所述爬虫列表中;
所述爬虫列表用于缓存所述爬虫特征数据;
所述处理模块用于根据所述爬虫列表响应所述访问请求;
所述评分模块用于在所述聚合模块聚合所述访问行为数据时,根据所述访问行为数据命中所述聚合规则的数量进行评分;
所述消息队列还用于在所述评分模块输出评分结果后将所述评分结果异步推送至所述客户端;
所述处理模块用于根据所述评分结果结合所述爬虫列表判断所述用户属于爬虫的风险等级,并根据所述风险等级处理所述访问请求,所述处理包括拦截所述访问请求、降级服务所述访问请求或者放行所述访问请求,所述降级服务是指对所述访问请求返回预设的降级数据;其中,
降级数据为针对可疑用户的访问请求而预设的少量的真实的响应数据,或者为针对所述可疑用户的访问请求而预设的虚假的响应数据;
所述用户属于爬虫的风险等级为无风险时,则放行所述访问请求;所述用户属于爬虫的风险等级为一般时,即所述用户属于可疑用户时,则降级服务所述访问请求;所述用户属于爬虫的风险等级为严重时,则拦截所述访问请求。
6.如权利要求5所述的基于用户行为埋点的爬虫识别系统,其特征在于,所述客户端还包括验证模块,所述验证模块用于当所述处理模块拦截所述访问请求后,向所述用户发送验证码以验证所述用户的身份。
7.如权利要求5所述的基于用户行为埋点的爬虫识别系统,其特征在于,所述发送模块包括kafka系统,所述kafka系统用于将所述访问请求向所述第二接收模块异步发送。
8.如权利要求5所述的基于用户行为埋点的爬虫识别系统,其特征在于,所述后端服务系统还包括搜索服务器,所述搜索服务器用于同步所述访问日志,并在同步所述访问日志后输出所述访问行为数据。
CN201810491289.XA 2018-05-21 2018-05-21 基于用户行为埋点的爬虫识别方法及系统 Active CN108712426B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810491289.XA CN108712426B (zh) 2018-05-21 2018-05-21 基于用户行为埋点的爬虫识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810491289.XA CN108712426B (zh) 2018-05-21 2018-05-21 基于用户行为埋点的爬虫识别方法及系统

Publications (2)

Publication Number Publication Date
CN108712426A CN108712426A (zh) 2018-10-26
CN108712426B true CN108712426B (zh) 2021-04-16

Family

ID=63868471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810491289.XA Active CN108712426B (zh) 2018-05-21 2018-05-21 基于用户行为埋点的爬虫识别方法及系统

Country Status (1)

Country Link
CN (1) CN108712426B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109862018B (zh) * 2019-02-21 2021-07-09 中国工商银行股份有限公司 基于用户访问行为的反爬虫方法及系统
CN110401626B (zh) * 2019-03-14 2022-02-18 腾讯科技(深圳)有限公司 一种黑客攻击分级检测方法及装置
CN111767185A (zh) * 2019-06-20 2020-10-13 北京京东尚科信息技术有限公司 一种数据埋点方法和装置
CN110474890B (zh) * 2019-07-29 2022-05-10 深圳数位大数据科技有限公司 一种基于智能流量导向切换的数据反爬取方法及装置
CN110519280B (zh) * 2019-08-30 2022-01-04 北京思维造物信息科技股份有限公司 一种爬虫识别方法、装置、计算机设备及存储介质
CN110865991A (zh) * 2019-10-28 2020-03-06 武汉药联众科技有限公司 医药数据平台
CN110995687B (zh) * 2019-11-26 2022-06-07 深圳市铭数信息有限公司 一种猫池设备识别方法、装置、设备及存储介质
CN113051552A (zh) * 2019-12-27 2021-06-29 北京国双科技有限公司 一种异常行为检测方法和装置
CN111368164B (zh) * 2020-02-24 2023-05-09 支付宝(杭州)信息技术有限公司 一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质
CN113505041A (zh) * 2021-07-21 2021-10-15 浪潮卓数大数据产业发展有限公司 基于用户访问行为分析的爬虫识别方法及系统
CN113645342B (zh) * 2021-08-03 2022-05-17 杭银消费金融股份有限公司 一种手机移动终端测试装置及其方法
CN113821754B (zh) * 2021-09-18 2024-08-16 上海观安信息技术股份有限公司 一种敏感数据接口爬虫识别方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592305A (zh) * 2017-08-30 2018-01-16 苏州朗动网络科技有限公司 一种基于elk和redis的防刷方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187396A (zh) * 2015-08-11 2015-12-23 小米科技有限责任公司 识别网络爬虫的方法及装置
US20180129579A1 (en) * 2016-11-10 2018-05-10 Nec Laboratories America, Inc. Systems and Methods with a Realtime Log Analysis Framework
CN106534114B (zh) * 2016-11-10 2020-10-02 北京红马传媒文化发展有限公司 基于大数据分析的防恶意攻击系统
CN106790072A (zh) * 2016-12-21 2017-05-31 微梦创科网络科技(中国)有限公司 恶意登录地址识别方法及装置
CN107196968B (zh) * 2017-07-12 2020-10-20 深圳市活力天汇科技股份有限公司 一种爬虫识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592305A (zh) * 2017-08-30 2018-01-16 苏州朗动网络科技有限公司 一种基于elk和redis的防刷方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Flume的分布式日志聚合系统的研究;陈军;《科技视界》;20171130;第77页 *

Also Published As

Publication number Publication date
CN108712426A (zh) 2018-10-26

Similar Documents

Publication Publication Date Title
CN108712426B (zh) 基于用户行为埋点的爬虫识别方法及系统
CN108737333B (zh) 一种数据检测方法以及装置
CN106657044B (zh) 一种用于提高网站系统安全防御的网页地址跳变方法
CN104618226B (zh) 一种信息处理方法、客户端和服务器
CN110650128B (zh) 一种检测以太坊数字货币盗取攻击的系统及方法
CN103139138B (zh) 一种基于客户端检测的应用层拒绝服务防护方法及系统
CN107196968B (zh) 一种爬虫识别方法
CN106789849B (zh) Cc攻击识别方法、节点及系统
CN104252458A (zh) 数据分析方法和装置
CN110708339B (zh) 一种基于web日志的关联分析方法
CN104980478A (zh) 内容分发网络中缓存共享方法、设备及系统
US20130179421A1 (en) System and Method for Collecting URL Information Using Retrieval Service of Social Network Service
CN114244564B (zh) 攻击防御方法、装置、设备及可读存储介质
CN108965054B (zh) 一种客户端与服务端数据快速交互方法
CN109660552A (zh) 一种将地址跳变和WAF技术相结合的Web防御方法
CN110049064A (zh) 一种基于物联网设备的dns劫持检测方法
CN109981533B (zh) 一种DDoS攻击检测方法、装置、电子设备及存储介质
CN109510800B (zh) 一种网络请求处理方法、装置、电子设备及存储介质
CN111786990B (zh) 一种针对web主动推送跳转页面的防御方法和系统
CN104468771B (zh) 地理位置的确定方法及装置
CN109413022A (zh) 一种基于用户行为检测http flood攻击的方法和装置
CN109190408B (zh) 一种数据信息的安全处理方法及系统
CN114793244B (zh) 一种区块链的资源处理方法、装置、设备和介质
CN106550345B (zh) 具有自我学习和优化能力的Wifi信号智能扫描系统
CN112929347B (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