Heritrix3.0 配置文件crawler-beans.cxml介绍

可以说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会调用

你可能感兴趣的:(Heritrix3.0 配置文件crawler-beans.cxml介绍)