Heritrix3.0教程(五) 配置文件crawler-beans.cxml介绍

 

        本博客属原创文章,转载请注明出处:http://guoyunsky.iteye.com/blog/1744461

        本人新浪微博:http://weibo.com/guoyunwb

         可以说crawler-beans.cxml可以主导整个Heritrix的抓取.不同于Heritrix1.x版本的order.xml 是,crawler-beans.cxml采用Spring来管理.里面的配置都是一个个bean.所以无论从配置上,耦合上,动态制 上,Heritrix3.0都改进不少.下面就介绍crawler-beans.cxml中各个bean.

       1. bean id=simpleOverrides

          class=org.springframework.beans.factory.config.PropertyOverrideConfigurer

          字面上的意思为简单的覆盖,的确这里只是简单的覆盖.设置最基本的信息.如抓取任务名字(metadata.jobName),操作URL(metadata.operatorContactUrl),描述信息(metadata.description)

      2. bean id=metadata

          class=org.archive.modules.CrawlMetadata

         如同simpleOverrides

    3. bean id=seeds

         class=org.archive.modules.seeds.TextSeedModule

         种子配置,可以从文件中读取种子,也可以直接设置种子

   4. bean id=scope

        class=org.archive.modules.deciderules.DecideRuleSequence

        URL规则控制,可以决定哪些URL要抓取,哪些URL拒绝,URL抓取深度等

   5. bean id=candidateScoper

       class=org.archive.crawler.prefetch.CandidateScoper

       URL范围控制,通过该范围的URL Heritrix方可接受,成为CrawlURI

   6. bean id=preparer

      class=org.archive.crawler.prefetch.FrontierPreparer

      url预处理,如设置URL的抓取深度,队列,成本控制等

  7. bean id=candidateProcessors

       class=org.archive.modules.CandidateChain

       处理器,引用candidateScoper去控制URL是否可以成为CrawlURI,preparer去设置深度,队列,成本控制等

   8. bean id=preselector

      class=org.archive.crawler.prefetch.Preselector

      预先选择器,这里会过滤掉一部分URL.如blockByRegex为拒绝正则,allowByRegex为允许正则

   9. bean id=preconditions

       class=org.archive.crawler.prefetch.PreconditionEnforcer

       先决条件设置,如设置IP有效期,爬虫协议文件robots.txt有效期

   10. bean id=fetchDns

       class=org.archive.modules.fetcher.FetchDNS

       解析DNS,获得IP

   11. bean id=fetchHttp

       class=org.archive.modules.fetcher.FetchHTTP

       核心模块,获取URL内容,设置状态

   12. bean id=extractorHttp

        class=org.archive.modules.extractor.ExtractorHTTP

        核心模块,抽取URL,抽取出新的URL再次运行,如此爬虫才可以一直爬下去

    13. bean id=extractorHtml

       class=org.archive.modules.extractor.ExtractorHTML

       抽取HTML,包含JSP,ASP等,这里也会抽取JS,CSS等

    14. bean id=extractorCss

       class=org.archive.modules.extractor.ExtractorCSS

       抽取CSS,无需单独配置,ExtractorHTML会调用

   15. bean id=extractorJs

       class=org.archive.modules.extractor.ExtractorJS

       抽取JS,无需单独配置,ExtractorHTML会调用

 

你可能感兴趣的:(Heritrix)