一种分布式网络爬虫系统及其抓取方法

文档序号:6385483阅读:276来源:国知局
专利名称:一种分布式网络爬虫系统及其抓取方法
技术领域
本发明涉及搜索引擎技术,尤其涉及ー种分布式网络爬虫系统及其抓取方法,该方法可用于搜索引擎网络爬虫模块中。
背景技术
目前的很多搜索引擎都涵盖多种垂直搜索频道,而每个垂直频道的数据来源,90%以上要通过网络爬虫主动抓取完成。由于不同垂直频道产品之间存在着抓取数据类型不同、资源内容大小各异等区另IJ,同时每个垂直频道产品都更希望自己的抓取任务能够単独处理,不被其他业务干扰,这就要求每个垂直频道的抓取处理任务是独立的,但是不同垂直频道又可能对同一个站点都有访问需求。因此会造成整体带宽资源与搜索引擎内部多个垂直频道之间的矛盾。

发明内容
有鉴于此,本发明的主要目的在于提供ー种分布式网络爬虫系统及其抓取方法,综合考虑各业务抓取的独立性需求、对互联网站点的礼貌访问控制和对网络带宽的有效利用,采取多子任务抓取独立、资源统一管理的方式进行多频道抓取,有效利用现有的整体带宽等资源以更好地服务搜索引擎内部多种类子频道。为达到上述目的,本发明的技术方案是这样实现的
ー种分布式网络爬虫系统,该系统包括參数化控制抓取模块、若干垂直频道抓取定制模块、统ー抓取调度模块、通用存储和计算模块,以及抓取结果分发模块;其中
所述參数化控制抓取模块,用于对待抓取的资源按照抓取内容、抓取类型、使用的UserAgent进行參数化配置;
所述垂直频道抓取定制模块,用于管理和约定各个垂直频道的抓取行为,并具有统计功能;
所述统ー抓取调度模块,用于将各垂直频道的抓取请求做归并,按照对对方站点的礼貌控制和压カ情況,统ー调度抓取;
所述通用存储和计算模块,用于通过配置来使用不同垂直频道对于抓取的通用存储需求和计算需求;
所述抓取结果分发模块,用于按照各垂直频道抓取定制模块的抓取行为的约定,将结果发送到指定的去处。其中所述垂直频道抓取定制模块的子模块提交抓取任务须携带约定的令牌,通过令牌来控制抓取行为。所述统ー抓取调度 模块还允许设置有优先级、配额的多维度的调度策略。所述通用存储和计算模块,还用于将可复用的操作抽取出来。所述抓取结果分发模块,还用作结果缓存,并对于结果的订阅支持多对多的关系。ー种分布式网络爬虫系统的抓取方法,该方法包括A、为參数化控制抓取模块配置所需的各项參数,具体为对待抓取资源按照抓取内容、抓取类型、使用的UserAgent的字段进行配置;
B、判断各垂直频道抓取定制模块的子模块提交的抓取任务是否携帯有约定的令牌,如果有,则处理http头信息,然后执行步骤C ;否则,返回步骤A ;
C、判断待抓取的资源是否为约定的数据类型,如果是,则执行步骤D;否则,返回步骤
A ;
D、进ー步判断待抓取的资源是否超过预设的阈值,如果否,则进行资源抓取,然后准备处理下ー个;否则,返回步骤A。其中步骤A还包括对附带參数进行设置,以满足定制化抓取行为的需要。本发明所提供的分布式网络爬虫系统及其抓取方法,具有以下优点
该分布式网络爬虫系统的各个垂直频道的抓取为单独配置,能够针对各个频道的特点进行抓取,可以满足每个频道的定制的需求。由于将抓取任务进行了整合,设计时考虑到了对站点的压カ控制、带宽的利用、抓取结果的订阅和共享等方面,满足了统ー调度控制的需求。该发明能够满足ー个搜索引擎有多个垂直子频道时,对网络爬虫的需求。


图1为本发明分布式网络爬虫系统的模块关系示意 图2为本发明分布式网络爬虫系统的抓取方法流程 图3为本发明统ー调度模块的基本逻辑示意图。
具体实施例方式下面结合附图及本发明的实施例对本发明的分布式爬虫系统及其抓取方法作进ー步详细的说明。图1为本发明分布式网络爬虫系统的模块关系示意图,如图1所示,该系统具体包括參数化控制抓取模块、若干垂直频道抓取定制模块、统ー抓取调度模块、抓取结果的通用存储和计算模块,以及抓取结果分发模块。其中
所述參数化控制抓取模块,为了更好的利用带宽和连接等资源,对待抓取资源按照抓取内容、抓取类型、使用的UserAgent等字段进行參数化配置,每ー个抓取単元(可以理解成ー个url)不仅有实际的抓取url,还有ー些附带參数用于定制自己的抓取行为,这样就实现了相同的抓取框架不同的抓取行为。所述垂直频道抓取定制模块,用于管理和约定各个垂直频道的抓取行为,并有一定的统计功能。其子模块提交抓取任务要携带约定的令牌(Token),通过令牌来控制抓取行为。
所述统ー抓取调度模块,用于将各垂直频道的抓取请求做归并,按照对对方站点的礼貌控制和压カ等情況,统ー调度抓取;并设置有优先级、配额等几个维度的调度策略。抓取结果的通用存储和计算模块,不同垂直频道对于抓取的通用存储需求和计算需求,也可以通过该模块配置来使用。尽量将可复用的操作都抽取出来,避免“重复造轮子”。所述抓取结果分发模块,用于按照各垂直频道抓取定制模块的抓取行为的約定,将结果发送到指定的去处,并可以做一定的结果缓存,同时,对于结果的订阅也支持多对多的关系。以上所述模块均采用多机分布式实现,具有高度模块化、扩展性较强的特点。此外还包括辅助模块,即抓取任务监控和统计模块。图2为本发明分布式网络爬虫系统的抓取方法流程图。如图2所示,该流程包括 步骤21 :为參数化控制抓取模块配置所需的各项參数。具体为考虑到带宽和连接等
资源,对待抓取资源按照抓取内容、抓取类型、使用的UserAgent等字段进行配置,每ー个抓取単元不仅有实际的抓取url,还有ー些附带參数用于定制自己的抓取行为,这样就实现了相同的抓取框架不同的抓取行为。步骤22 :判断各垂直频道抓取定制模块的子模块提交的抓取任务是否携帯有约定的令牌(Token),如果有,则执行步骤23 ;否则,返回步骤21。步骤23 :处理http头信息,然后执行步骤24。步骤24 :判断待抓取的资源是否为约定的数据类型,如果是,则执行步骤25 ;否贝U,返回步骤21。步骤25 :进ー步判断待抓取的资源是否超过预设的阈值(如图片尺寸大小限制在IOM以内),如果否,则执行步骤26 ;否则,返回步骤21。步骤26 :成功处理即进行资源抓取,然后准备处理下ー个。按照上述抓取流程,下面以新增抓取业务的流程为例说明该抓取方法的过程。例如垂直频道新增了ー类图片搜索,抓取的需求都是抓取ー些jpg, gif, png等格式图片。其抓取步骤如下
第一,使用各垂直频道抓取定制模块约定抓取需求。根据该类特点,抓取的类型都是图片,那么content-type的集合是类似image/jpeg等;由于高清图片用处不大,所以对资源的最大值限制为不超过10M,也就是配置IOM以上的,不抓取结果;由于图片还涉及防盗链的考虑,所以需要配置指定的referer。之后约定是否需要通用存储和通用计算,约定数据订阅的出口方式。并约定配额。第二,对于订阅数据部分,由于提供了通用编程框架,使用者仅需要填写自己的逻辑处理部分。第三,使用封装过的提交作业的client提交抓取请求。第四,可以通过统计平台实时得到自己的抓取进度,还可以得到天级别的抓取内容按照host、http返回码,页面大小等维度的统计报表。图3为本发明统ー调度模块的基本逻辑示意图。如图3所示,由于将抓取任务的整合、对站点的压カ控制、带宽的利用以及抓取结果的订阅和共享等方面,都在本发明做作了综合考虑,满足了统ー调度控制的需求。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种分布式网络爬虫系统,其特征在于,该系统包括参数化控制抓取模块、若干垂直频道抓取定制模块、统一抓取调度模块、通用存储和计算模块,以及抓取结果分发模块;其中 所述参数化控制抓取模块,用于对待抓取的资源按照抓取内容、抓取类型、使用的UserAgent进行参数化配置; 所述垂直频道抓取定制模块,用于管理和约定各个垂直频道的抓取行为,并具有统计功能; 所述统一抓取调度模块,用于将各垂直频道的抓取请求做归并,按照对对方站点的礼貌控制和压力情况,统一调度抓取; 所述通用存储和计算模块,用于通过配置来使用不同垂直频道对于抓取的通用存储需求和计算需求; 所述抓取结果分发模块,用于按照各垂直频道抓取定制模块的抓取行为的约定,将结果发送到指定的去处。
2.根据权利要求1所述分布式网络爬虫系统,其特征在于,所述垂直频道抓取定制模块的子模块提交抓取任务须携带约定的令牌,通过令牌来控制抓取行为。
3.根据权利要求1所述分布式网络爬虫系统,其特征在于,所述统一抓取调度模块还允许设置有优先级、配额的多维度的调度策略。
4.根据权利要求1所述分布式网络爬虫系统,其特征在于,所述通用存储和计算模块,还用于将可复用的操作抽取出来。
5.根据权利要求1所述分布式网络爬虫系统,其特征在于,所述抓取结果分发模块,还用作结果缓存,并对于结果的订阅支持多对多的关系。
6.一种分布式网络爬虫系统的抓取方法,其特征在于,该方法包括 A、为参数化控制抓取模块配置所需的各项参数,具体为对待抓取资源按照抓取内容、抓取类型、使用的UserAgent的字段进行配置; B、判断各垂直频道抓取定制模块的子模块提交的抓取任务是否携带有约定的令牌,如果有,则处理http头信息,然后执行步骤C ;否则,返回步骤A ; C、判断待抓取的资源是否为约定的数据类型,如果是,则执行步骤D;否则,返回步骤A ; D、进一步判断待抓取的资源是否超过预设的阈值,如果否,则进行资源抓取,然后准备处理下一个;否则,返回步骤A。
7.根据权利要求6所述分布式网络爬虫系统的抓取方法,其特征在于,步骤A还包括对附带参数进行设置,以满足定制化抓取行为的需要。
全文摘要
本发明公开一种分布式网络爬虫系统及其抓取方法,包括参数化控制抓取模块,用于对待抓取的资源按照抓取内容、抓取类型、使用的UserAgent进行参数化配置;垂直频道抓取定制模块,用于管理和约定各个垂直频道的抓取行为,并具有统计功能;统一抓取调度模块,用于将各垂直频道的抓取请求做归并,按照对对方站点的礼貌控制和压力情况,统一调度抓取;通用存储和计算模块,用于通过配置来使用不同垂直频道对于抓取的通用存储需求和计算需求;抓取结果分发模块,用于按照各垂直频道抓取定制模块的抓取行为的约定,将结果发送到指定的去处。采用本发明,能够进行多频道抓取,并有效利用现有的整体带宽等资源以更好地服务搜索引擎内部多种类子频道。
文档编号G06F17/30GK103037010SQ20121057344
公开日2013年4月10日 申请日期2012年12月26日 优先权日2012年12月26日
发明者高立闯 申请人:人民搜索网络股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1