一种网站内容防抓取的方法

文档序号:7743518阅读:111来源:国知局
专利名称:一种网站内容防抓取的方法
技术领域
本发明涉及一种网站内容防抓取方法。
背景技术
本文所述“抓取”,是指程序按照指定的规则定向获取其他网站数据的一种方式。早些年,互联网出现了一种搜索引擎的系统,以靠抓取网站内容达到海量数据形成的平台,该技术是通过各种途径得到网站地址,根据网址对网页的内容进行抓取,抓取到得内容进行分析最终取到相应的数据信息;同时,也有其他非搜索引擎平台的数据抓取,竞争对手或者其他相关的企业通过抓取特定的信息内容给他们带来业务价值。另一种抓取是属于恶意的,无论企业网站或者个人网站,都存在竞争对手,为了将·竞争对手的网站处于瘫痪,会采用各种技术方法进行攻击,其中采用大量抓取数据的方式使竞争对手的网站服务器出现超负荷导致瘫痪更是常见的攻击方法。根据以上所述搜索引擎抓取、业务价值抓取还是恶意攻击抓取,主要存在以下两个问题一是数据大规模被盗,会给网站运营带来一定的业务影响,同时可能会存在一些隐私数据被曝光,给个人或企业带来负面的影响;二是无论是正常抓取还是恶意攻击抓取,都是会间接或者直接影响网站服务器的性能,从而降低网站的稳定性,特别是恶意的攻击抓取更是直接损害了网站与企业的利益。这几种操作对于被抓取的网站尤其是以原创内容为主的网站来说,一方面占用了被抓取网站大量的网络资源,降低了网络的运行速度和运行效率;另一方面也侵犯了被抓取网站的知识产权,因而损害被抓取网站的利益。

发明内容
本发明的目的是提供一种网站内容防抓取的处理方法,该方法能快速、稳定、有效防止网站大规模数据被抓取。本发明解决其技术问题所采用的技术方案如下一种网站内容防抓取的方法,包括以下步骤I.首先建立判断抓取行为的规则;2. WEB服务器端获取客户端信息,获取后传递给防抓系统服务器;3.防抓系统服务器根据WEB服务器端传递的信息进行验证,将验证标识结果返回给WEB服务器端,而WEB服务器端根据验证结果决定是否执行请求页面的数据查询或者输出拒绝访问的提示。具体地,所述步骤(I)中的规则由客户端IP单位时间内请求服务器端的次数、请求访问的路径组成。优选地,所述步骤(2)中的客户端信息包括IP地址、请求URL地址以及当前请求的时间。具体地,所述步骤(3)中防抓系统服务器设定单位时间和请求上限数,超出该时间及次数则判为属于抓取行为。
优选地,所述步骤(3)中设定列入黑名单的限制时长,在该时间内,该客户端都属被拒绝。优选地,所述步骤(3)进一步包括黑名单表和客户状态表,存储于服务器内存中。黑名单表存储客户端IP地址、被列入黑名单时的时间以及限制时长。客户状态表存储单位时间所有请求的客户端信息,包括客户端IP地址、首次请求的时间及请求的总次数。
进一步地,所述步骤(3)中,还设有定时自动更新机制,在预定时间内对黑名单表及客户状态表的数据进行更新。具体地,所述定时更新的过程中,首先取出黑名单表所有客户端的记录进行循环,根据每笔记录的限制时长进行判断,判断当时被列入黑名单时的时间与当前时间间隔是否大于等于限制时长,如果是,则将该笔客户端记录从黑名单表中移除;如果否,则不作处理。具体地,所述定时更新的过程中,首先取出客户状态表数据进行循环,判断首次请求时间与当前时间间隔是否大于等于单位时间,如果是,则将该客户端从客户状态表移除;如果否,则不作处理。优选地,所述黑名单表中所有客户端的限制时长值都是默认全局设定的限制时长值,通过修改黑名单表的限制时长值即可修改客户端的限制时长。本发明的有益效果本发明提出的网站内容防抓取的方法,通过验证流程的严格制定,从验证客户端的请求着手防范,有效地防止了网站数据被抓取,同时,除验证流程外另设有定时自动更新机制,确保了黑名单表及客户状态表数据的即时更新,更有效、稳定的维持整个流程的运行。。


图I为本发明的网络结构示意图。图2为本发明的验证请求流程图。图3为本发明的定时自动更新机制流程图。
具体实施例方式以下将结合附图和实施例,对本发明进行较为详细的说明。如图I所示,描述了本发明的网络结构示意图,即包括WEB服务器端、防抓系统服务器及客户端,一种网站内容防抓取的方法,包括以下步骤I.首先建立判断抓取行为的规则;2. WEB服务器端获取客户端信息,获取后传递给防抓系统服务器;3.防抓系统服务器根据WEB服务器端传递的信息进行验证,将验证标识结果返回给WEB服务器端,而WEB服务器端根据验证结果决定是否执行请求页面的数据查询或者输出拒绝访问的提示。所述步骤(I)中的规则由客户端IP单位时间内请求服务器端的次数、请求访问的路径组成。所述步骤⑵中的客户端信息包括IP地址、请求URL地址以及当前请求的时间。所述步骤(3)中防抓系统服务器设定单位时间和请求上限数,超出该时间及次数则判为属于抓取行为。所述步骤(3)中设定列入黑名单的限制时长,在该时间内,该客户端都属被拒绝。所述步骤(3)进一步包括黑名单表和客户状态表,存储于服务器内存中。黑名单表存储客户端IP地址、被列入黑名单时的时间以及限制时长。客户状态表存储单位时间所有请求的客户端信息,包括客户端IP地址、首次请求的时间及请求的总次数。所述步骤(3)中,还设有定时自动更新机制,在预定时间内对黑名单表及客户状态表的数据进行更新。所述定时更新的过程中,首先取出黑名单表所有客户端的记录进行循环,根据每 笔记录的限制时长进行判断,判断当时被列入黑名单时的时间与当前时间间隔是否大于等于限制时长,如果是,则将该笔客户端记录从黑名单表中移除;如果否,则不作处理。所述定时更新的过程中,首先取出客户状态表数据进行循环,判断首次请求时间与当前时间间隔是否大于等于单位时间,如果是,则将该客户端从客户状态表移除;如果否,则不作处理。所述黑名单表中所有客户端的限制时长值都是默认全局设定的限制时长值,通过修改黑名单表的限制时长值即可修改客户端的限制时长。如图2所示,描述了本发明的验证流程,根据网站自身平台所采用的编程语言,如ASP. NET (C#) >PHP,ASP等进行编写WEB服务器端WEB程序,程序实现以下两点功能,一是获取客户端的信息,包括IP地址、请求URL地址以及当前请求的时间,获取后传递给防抓系统服务器。二是防抓系统服务器根据WEB服务器端传递的信息进行验证,最后将验证标识结果返回给WEB服务器端,而WEB服务器根据验证结果决定是否执行请求页面的数据查询还是输出拒绝访问的提示。防抓系统服务器主要有两项全局设定,一是设定“单位时间”和允许的“请求上限数”,该设定是指在多长时间内只允许访问多次,超出该次数则判为属于抓取,比如设定5分钟内只允许1000次请求,具体设定值根据各网站实际数据进行评估;二是设定列入黑名单的“限制时长”,在该时间内,该客户端都属被拒绝的,具体限制多长时间须根据实际情况进行设定。除了两项设定值外,防抓系统服务器还创建两个数据表,黑名单表和客户状态表,两个数据列表可存储于数据库表,也可以存储于服务器内存中,考虑性能效率问题,本发明做法是将两数据表存储于服务器内存中。黑名单表主要存储客户端IP地址、被列入黑名单时的时间以及“限制时长”;客户状态表是存放近段时间内容(单位时间)所有请求过的客户端信息,包括客户端IP地址、首次请求的时间及请求的总次数。防抓系统服务器收到WEB服务器端传来的指令,根据客户端的IP地址,与黑名单表的记录进行匹配,一旦存在,则表明属于拒绝的,则返回一个拒绝的标识回WEB服务器端,WEB服务器端收到是拒绝的则不执行业务数据查询并直接输出提示信息返回给客户端,如“你已被列入黑名单,请稍后再访问”,此时客户端的收到的只有该句提示语,没有得到的有效信息数据。如果在黑名单中没有匹配到该客户端,同样以该客户端IP地址与客户状态表进行匹配,如果不存在,则将该客户端的IP、当前时间添加进客户状态表,并将该客户端在客户状态表的请求次数置为1,最后以验证通过的标识返回WEB服务器端,WEB服务器收到防抓系统服务器验证通过的标识则继续执行请求页面的业务数据查询并返回至客户端;如果在客户状态表中匹配到该客户端,则表明该客户端在单位时间内已有请求过,此时将该客户端在客户状态表的请求次数进行加1,再判断该客户请求经加I后的次数是否大于上述所说的“单位时间”的“请求上限数”,如果大于,则将该客户端列入黑名单并从客户状态表中移除,在列入黑名单时,主要存入该客户端IP、当前系统时间、还有上面所说设定的“限制时长”值,最后以验证不通过的标识返回给WEB服务器端,WEB服务器则输出提示语返回至客户端。如果客户端请求总数经加I后的次数是未有大于“单位时间”的“请求上限数”,则直接以验证通过的指令返回给WEB服务器,WEB服务器则执行请求页面的数据查询并返回至客户端。如图3所示,描述了本发明定时自动更新机制的流程。除验证流程外,黑名单表数据和客户状态表数据都是时效性的,所以须建立定时自动更新的机制,本发明设定的优选自动更新时间为每分钟,每分钟都对这两个表数据进行更新,首先取出黑名单表所有客户端的记录进行循环,根据每笔记录的“限制时长”进行判断,判断当时被列入黑名单时的时间与当前时间间隔是否大于等于“限制时长”,如果是,则将该笔客户端记录从黑名单表中移除,否则不作处理。同样每分钟自动取出客户状态表数据进行循环,判断首次请求时间与·当前时间间隔是否大于等于“单位时间”,如果是则将该客户端从客户状态表移除,不是则不作处理。在黑名单表中,所有客户端的限制时长值都是默认全局设定的“限制时长”值,如须对某些客户端限制的时间更长,只须更改该客户端在黑名单表的“限制时长”值即可。本文所称黑名单就是黑名单表的意思,在技术上来说,列入黑名单,就是将客户端的数据存入黑名单表;黑名单表是技术程序的一种对象,而列入黑名单是一个业务动作。以上的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
权利要求
1.一种网站内容防抓取的方法,包括以下步骤 (1)首先建立判断抓取行为的规则; (2)WEB服务器端获取客户端信息,获取后传递给防抓系统服务器; (3)防抓系统服务器根据WEB服务器端传递的信息进行验证,将验证标识结果返回给WEB服务器端,而WEB服务器端根据验证结果决定是否执行请求页面的数据查询或者输出拒绝访问的提示。
2.如权利要求I所述的网站内容防抓取的方法,其特征在于所述步骤(I)中的规则由客户端IP单位时间内请求服务器端的次数、请求访问的路径组成。
3.如权利要求I所述的网站内容防抓取的方法,其特征在于所述步骤(2)中的客户端信息包括IP地址、请求URL地址以及当前请求的时间。
4.如权利要求I所述的网站内容防抓取的方法,其特征在于所述步骤(3)中防抓系统服务器设定单位时间和请求上限数,超出该时间及次数则判为属于抓取行为。
5.如权利要求I所述的网站内容防抓取的方法,其特征在于所述步骤(3)中设定列入黑名单的限制时长,在该时间内,该客户端都属被拒绝。
6.如权利要求I所述的网站内容防抓取的方法,其特征在于所述步骤(3)进一步包括黑名单表和客户状态表,存储于服务器内存中; 黑名单表存储客户端IP地址、被列入黑名单时的时间以及限制时长; 客户状态表存储单位时间所有请求的客户端信息,包括客户端IP地址、首次请求的时间及请求的总次数。
7.如权利要求I或6所述的网站内容防抓取的方法,其特征在于所述步骤(3)中,还设有定时自动更新机制,在预定时间内对黑名单表及客户状态表的数据进行更新。
8.如权利要求I或7所述的网站内容防抓取的方法,其特征在于所述定时更新的过程中,首先取出黑名单表所有客户端的记录进行循环,根据每笔记录的限制时长进行判断,判断当时被列入黑名单时的时间与当前时间间隔是否大于等于限制时长,如果是,则将该笔客户端记录从黑名单表中移除;如果否,则不作处理。
9.如权利要求I或7所述的网站内容防抓取的方法,其特征在于所述定时更新的过程中,首先取出客户状态表数据进行循环,判断首次请求时间与当前时间间隔是否大于等于单位时间,如果是,则将该客户端从客户状态表移除;如果否,则不作处理。
10.如权利要求I或6所述的网站内容防抓取的方法,其特征在于所述黑名单表中所有客户端的限制时长值都是默认全局设定的限制时长值,通过修改黑名单表的限制时长值即可修改客户端的限制时长。
全文摘要
本发明提供一种网站内容防抓取的方法,首先建立判断抓取行为的规则;WEB服务器端获取客户端信息,获取后传递给防抓系统服务器;防抓系统服务器根据WEB服务器端传递的信息进行验证,将验证标识结果返回给WEB服务器端,而WEB服务器端根据验证结果决定是否执行请求页面的数据查询或者输出拒绝访问的提示。本发明提出的网站内容防抓取的方法,通过验证流程的严格制定,从验证客户端的请求着手防范,有效地防止了网站数据被抓取,同时,除验证流程外另设有定时自动更新机制,确保了黑名单表及客户状态表数据的即时更新,更有效、稳定的维持整个流程的运行。
文档编号H04L29/06GK102916935SQ20111022289
公开日2013年2月6日 申请日期2011年8月4日 优先权日2011年8月4日
发明者刘翔, 黄有富, 彭平源, 管燕卿 申请人:深圳华强电子交易网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1