Heritrix的架构之CrawOrder
2008-05-04 17:29
155 查看
简单的抓取我们已经会了,那么Heritrix的内容究竟是如何工作的呢?它的设计方面有什么突出之处?
CrawOrder:
它是整个抓取工作的起点,CrawlOrder继承自一系列的与属性设置相关的基类。另外,它的最顶层基类是javax.management.Attribute,这是一个JMX中的类,它可以动态的反映出Java容器内某个MBean的属性变化。我们已经知道一次抓取任务包括许多的属性,建立一个任务的方式有很多种,最简单的一种就是根据默认的order.xml来配置。那么究竟使用什么工具来读取order.xml文件中的各种属性呢。另外,一个CrawlOrder的对象又该如何构建呢?Heritrix提供了很好的工具支持对于order.xml的读取。在org.archive.crawler.settings包下有一个XMLSettingsHandler类,它可以用来帮助读取order.xml。
public XMLSettingsHandler(File orderFile) throws InvalidAttributeValueException
在XMLSettingsHandler的构造函数中,其所传入的参数orderFile正是一个经过对象封装的order.xml的File。这样,就可以直接调用其构造函数,来创建一个XMLSettingsHandler的实例,以此做为一个读取order.xml的工具。
当一个XMLSettingsHandler的实例被创建后,可以通过getOrder()方法来获取CrawlOrder
的实例,这样也就可以进行下一步的工作了。
最后,我们来看一下Class CrawlOrder的结构:
org.archive.crawler.datamodel
All Implemented Interfaces: java.io.Serializable, javax.management.DynamicMBean
Represents the 'root' of the settings hierarchy. Contains those settings that do not belong to any specific module, but rather relate to the crawl as a whole (much of this is used by the CrawlController directly or indirectly).
OK!
CrawOrder:
它是整个抓取工作的起点,CrawlOrder继承自一系列的与属性设置相关的基类。另外,它的最顶层基类是javax.management.Attribute,这是一个JMX中的类,它可以动态的反映出Java容器内某个MBean的属性变化。我们已经知道一次抓取任务包括许多的属性,建立一个任务的方式有很多种,最简单的一种就是根据默认的order.xml来配置。那么究竟使用什么工具来读取order.xml文件中的各种属性呢。另外,一个CrawlOrder的对象又该如何构建呢?Heritrix提供了很好的工具支持对于order.xml的读取。在org.archive.crawler.settings包下有一个XMLSettingsHandler类,它可以用来帮助读取order.xml。
public XMLSettingsHandler(File orderFile) throws InvalidAttributeValueException
在XMLSettingsHandler的构造函数中,其所传入的参数orderFile正是一个经过对象封装的order.xml的File。这样,就可以直接调用其构造函数,来创建一个XMLSettingsHandler的实例,以此做为一个读取order.xml的工具。
当一个XMLSettingsHandler的实例被创建后,可以通过getOrder()方法来获取CrawlOrder
的实例,这样也就可以进行下一步的工作了。
最后,我们来看一下Class CrawlOrder的结构:
org.archive.crawler.datamodel
Class CrawlOrder
java.lang.Object javax.management.Attribute org.archive.crawler.settings.Type org.archive.crawler.settings.ComplexType org.archive.crawler.settings.ModuleType org.archive.crawler.datamodel.CrawlOrder
All Implemented Interfaces: java.io.Serializable, javax.management.DynamicMBean
public class CrawlOrderextends ModuleTypeimplements java.io.Serializable
Represents the 'root' of the settings hierarchy. Contains those settings that do not belong to any specific module, but rather relate to the crawl as a whole (much of this is used by the CrawlController directly or indirectly).
OK!
相关文章推荐
- 【Heritrix基础教程之3】Heritrix的基本架构
- 【Heritrix基础教程之3】Heritrix的基本架构
- 【Heritrix基础教程之3】Heritrix的基本架构
- Heritrix架构分析
- Heritrix的架构之CrawController
- 开发自己的搜索引擎——Lucene 2.0+Heriterx——Heritrix的架构
- Heritrix架构学习笔记(一)
- Heritrix架构剖析
- Heritrix架构学习笔记(二)
- 【Heritrix基础教程之3】Heritrix的基本架构 分类: H3_NUTCH 2014-06-01 16:56 1267人阅读 评论(0) 收藏
- Heritrix架构简述
- Heritrix架构学习笔记(三)
- 【Heritrix基础教程之3】Heritrix的基本架构
- Heritrix 架构
- 【Heritrix基础教程之3】Heritrix的基本架构
- 【Heritrix基础教程之3】Heritrix的基本架构
- 应用程序架构本质,第 3 部分: 软件开发方法学入门
- 三层架构之抽象工厂加反射——实现数据库转换
- lamp架构
- wpa_supplicant软件架构分析