本博客属原创文章,转载请注明出处: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 3.0中,`crawler-beans.cxml` 文件扮演着至关重要的角色,它是整个爬虫的配置中心,负责定义和管理爬虫的行为。相较于Heritrix 1.x的`order.xml`,`crawler-beans.cxml` 采用了Spring框架进行管理,以...
例如,`default.cxml`是Heritrix的主要配置文件,包含了整个爬取流程的配置。 在进行二次开发时,开发者需要注意遵循Heritrix的编程规范和设计模式,确保新添加的模块与现有架构兼容。同时,理解并尊重网站的版权和...
Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。官网下载好像要翻墙,我下下来方便大家使用,这是3.4版本,配合heritrix-3.4.0-SNAPSHOT-dist.zip使用
在提供的压缩包中,有两个主要文件:"heritrix-1.14.4.zip" 和 "heritrix-1.14.4-src.zip"。前者是Heritrix的编译后的二进制版本,可以直接运行,而后者包含了源代码,对于希望定制或深入理解Heritrix工作原理的...
- `heritrix-3.4.0-SNAPSHOT`目录:这是Heritrix的主目录,包含了所有运行所需的基本文件,如jar包、配置文件、文档等。 - `bin`子目录:存放启动和停止Heritrix的脚本,通常在Unix/Linux环境下使用`start.sh`和`...
heritrix-1.12.1-src.zip与heritrix 配置文档
### Heritrix:开源高质量网络爬虫项目介绍与评估 #### 概述 Heritrix是互联网档案馆(Internet Archive)开发的一款开源、可扩展、适用于大规模网站归档的高质量网络爬虫。该项目始于2003年初,旨在创建一个专门...
Heritrix的压缩包"heritrix-1.14.2.zip"包含以下组件和文件: 1. **源代码**:包含了Heritrix的Java源代码,用户可以查看和修改这些代码以适应自己的需求。 2. **构建脚本**:如Ant或Maven脚本,用于编译和打包项目...
这个名为"Heritrix-User-Manual.rar_heritrix"的压缩包包含了Heritrix用户手册的PDF版本,是学习和操作Heritrix的重要资源。下面将详细介绍Heritrix的基本概念、安装步骤、任务创建以及任务分析。 1. **Heritrix...
"heritrix-1.14.3-src.zip"是一个包含了Heritrix 1.14.3版本源代码的压缩文件,对于那些希望深入理解其工作原理或者想要自定义功能的开发者来说,这是一个宝贵的资源。 Heritrix的核心设计基于模块化架构,允许...
"heritrix-1.14.4-docs.rar"这个压缩包包含了该版本的文档,帮助用户理解和使用Heritrix。 文档通常包括用户手册、开发者指南、API参考等,这些内容对于熟悉Heritrix的架构、配置和编程接口至关重要。由于文件较大...
在“heritrix-1.12.1”中,你会看到许多配置文件,如“crawldb.props”和“fetcher.props”,它们分别定义了爬取数据库和下载器的参数。 2. **模块化设计**:Heritrix采用模块化架构,包含启动器(Launcher)、队列...
Heritrix的设计理念是高度可配置性和扩展性,支持多种策略和规则来定制化爬取行为。对于想要深入了解网络爬虫原理和技术细节的研究者和开发者来说,Heritrix是一个非常有价值的项目。 #### 二、Heritrix包结构分析 ...
snappy-start 是从 snapshot 启动 Linux 进程的工具。它允许程序的多个实例从 snapshot 快速启动。特性:更快的启动,当程序在启动时正在做大量的计算。节省内存,因为程序启动过程写入的内存页将在实例之间共享。...
`config/`目录下存放了各种配置文件,如`default-crawler-beans.xml`,它是Heritrix的基础配置,定义了爬虫的行为和组件;`lib/`目录则包含了所有依赖的第三方库。 2. **heritrix-3.1.0-src.zip**:这个文件是...
3. **Heritrix运行与配置**:在`Heritrix1/src/org/archive/crawler/Heritrix.java`文件中启动Heritrix后,服务会在本地的8089端口监听。通过访问`https://localhost:8089`,我们可以使用内置的Web管理界面进行配置...
它将爬虫功能分解为多个组件,如种子管理、URL过滤、内容解析、下载策略等,这些组件可以通过XML配置文件进行组合和定制。这样,开发者可以根据项目需求调整爬虫的行为,例如设置抓取深度、限制抓取速度或处理特定的...
Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 Heritrix是一个爬虫框架,其组织结构如图2.1所示,包含了整个组件和抓取流程:...