Heritrix 爬虫与Nutch 爬虫

Heritrix和Nutch都是流行的开源网络爬虫工具,但二者的设计目标和使用场景有所不同。Heritrix强调完整存档,适用于互联网档案馆等需要长期保存网页原始状态的应用场景;而Nutch更侧重于搜索引擎的索引需求,能够对抓取的内容进行优化处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在邮件列表中看到有人问 Heritrix 爬虫与 Nutch 爬虫的不同。搜索了一下,该项目的领导者是 Gordon Mohr ,Heritrix 主要用在 http://www.archive.org 。基本定义描述:

Heritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project.

没想到过了一会儿,在邮件列表中居然看到了 Gordon Mohr 的发言。看来他也比较关心 Nutch 的发展。

我对 Mohr 的发言整理一下。主要有以下几点:

主要目的不同。 Heritrix 是个 "archival crawler" -- 用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相同的URL不针对先前的进行替换。爬虫通过Web用户界面启动、监控、调整,允许弹性的定义要获取的URL。

二者的差异:

  • Nutch 只获取并保存可索引的内容。Heritrix则是照单全收。力求保存页面原貌
  • Nutch 可以修剪内容,或者对内容格式进行转换。
  • Nutch 保存内容为数据库优化格式便于以后索引;刷新替换旧的内容。而Heritrix 是添加(追加)新的内容。
  • Nutch 从命令行运行、控制。Heritrix 有 Web 控制管理界面。
  • Nutch 的定制能力不够强,不过现在已经有了一定改进。Heritrix 可控制的参数更多。

暂时还没有看到 Doug Cutting 对二者比较的评价.

Heritrix 的架构示意图:

Heritrix Arch.png

Nutch 的架构示意图:

Nutch Architecture.png
来自: http://hi.baidu.com/anspider/blog/item/64befb98ce8ebc0e6f068c56.html
Heritrix是一个开源,可扩展的web爬虫项目。用户可以使用它来从网上抓取想要的资源。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 Heritrix是一个爬虫框架,其组织结构如图2.1所示,包含了整个组件和抓取流程: Heritrix采用的是模块化的设计,各个模块由一个控制器类(CrawlController类)来协调,控制器是整体的核心。控制器结构图如图2.2所示:   图2.2 CrawlController类结构图 CrawlController类是整个爬虫的总控制者,控制整个抓取工作的起点,决定整个抓取任务的开始和结束。CrawlController从Frontier获取URL,传递给线程池(ToePool)中的ToeThread处理。 Frontier(边界控制器)主要确定下一个将被处理的URL,负责访问的均衡处理,避免对某一Web服务器造成太大的压力。Frontier保存着爬虫的状态,包括已经找到的URI、正在处理中的URI和已经处理过的URI。 Heritrix是按多线程方式抓取的爬虫,主线程把任务分配给Teo线程(处理线程),每个Teo线程每次处理一个URL。Teo线程对每个URL执行一遍URL处理器链。URL处理器链包括如下5个处理步骤。整个流程都在图2.1中。 (1)预取链:主要是做一些准备工作,例如,对处理进行延迟和重新处理,否决随后的操作。 (2)提取链:主要是下载网页,进行DNS转换,填写请求和响应表单。 (3)抽取链:当提取完成时,抽取感兴趣的HTML和JavaScript,通常那里有新的要抓取的URL。 (4)写链:存储抓取结果,可以在这一步直接做全文索引。Heritrix提供了用ARC格式保存下载结果的ARCWriterProcessor实现。 (5)提交链:做和此URL相关操作的最后处理。检查哪些新提取出的URL在抓取范围内,然后把这些URL提交给Frontier。另外还会更新DNS缓存信息。 服务器缓存(Server cache)存放服务器的持久信息,能够被爬行部件随时查到,包括被抓取的Web服务器信息,例如DNS查询结果,也就是IP地址。 标签:Heritrix
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值