当前位置: 首页 > 工具软件 > Heritrix > 使用案例 >

Heritrix的主要模块

魏浩广
2023-12-01

1、Frontier(链接工厂)是Heritrix最核心的部分,有三个核心的方法:next,schedule,finished,其原型及作用如下:

 a) 程提供一个链接.Heritrix的所有处理线程(ToeThread)都是通过调用该方法获取链接的

b) schedule(CandidateURI caURI):调度待处理的链接

c) finished(CrawlURI cURI):完成一个已处理的链接

2、 Processor(解析处理器),包含三个重要的类:

a) Processor(处理器类):代表一个处理器

b) ProcessorChain(处理器类):实现一个队列,由许多处理器链接成的处理器链

c) ProcessorChainList(处理器链列表):保存一次抓取任务的所有处理器链

3、 采用线程池(ToeThread)设计,每个线程将调用所有的处理器来处理链接

 4、 中央控制器(CrawlController)是一次抓取任务的核心组件,决定每一次抓取任务的开始与结束,包含如下类型的数据成员:

a) CrawlOrder:它保存了对该次抓取任务中order.xml的属性配置。

 b) CrawlScope:决定当前抓取范围的一个组件。scope [skəup]n.范围;余地,机会

c) ProcessorChainList:表示处理器链。

d) Frontier:它是一个URL的处理器,决定下一个要被处理的URL是什么。

 e) ToePool:它表示一个线程池,管理了所有该抓取任务所创建的子线程。

 f) ServerCache:它表示一个缓冲池,保存了所有在当前任务中,抓取过的Host名称和Server名称。

5、处理链总体构成:

1) pre-fetch Chain :预处理链

2) fetch chain:抓取处理链 从服务器上获取网站数据

3) extractor Chain:从网页中抽取新的uri(词法分析)

 4) write Chain:将数据写入本地磁盘

5) Post-processing Chain:后置处理链

 类似资料: