`
crazier9527
  • 浏览: 1011416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Heritrix 项目介绍和架构 Nutch比较(转载 收藏)

阅读更多

Heritrix项目介绍 
Heritrix工程始于2003年初,IA的目的是开发一个特殊的爬虫,对网上的资源进行归档,建立网络数字图书馆。在过去的6年里,IA已经建立了400TB的数据。 IA期望他们的crawler包含以下几种: 

宽带爬虫:能够以更高的带宽去站点爬。 
主题爬虫:集中于被选择的问题。 
持续爬虫:不仅仅爬更当前的网页还负责爬日后更新的网页。 
实验爬虫:对爬虫技术进行实验,以决定该爬什么,以及对不同协议的爬虫 爬行结果进行分析的。 

Heritrix工作原理 
Heritrix是一个爬虫框架,可加如入一些可互换的组件。它的执行是递归进行的,主要有以下几步: 

在预定的URI中选择一个。 
获取URI 
分析,归档结果 
选择已经发现的感兴趣的URI。加入预定队列。 
标记已经处理过的URI 
Heritrix主要有三大部件:范围部件,边界部件,处理器链 
范围部件:主要按照规则决定将哪个URI入队。 
边界部件:跟踪哪个预定的URI将被收集,和已经被收集的URI,选择下一个 URI,剔除已经处理过的URI。 
处理器链:包含若干处理器获取URI,分析结果,将它们传回给边界部件 
Heritrix的其余部件有: 
WEB管理控制台:大多数都是单机的WEB应用,内嵌JAVA HTTP 服务器。 操作者可以通过选择Crawler命令来操作控制台。 
Crawler命令处理部件:包含足够的信息创建要爬的URI。 
Servercache(处理器缓存):存放服务器的持久信息,能够被爬行部件随时查到,包括IP地址,历史记录,机器人策略。 
处理器链: 
预取链:主要是做一些准备工作,例如,对处理进行延迟和重新处理,否决随后的操作。 
提取链:主要是获得资源,进行DNS转换,填写请求和响应表单 
抽取链:当提取完成时,抽取感兴趣的HTML,JavaScript,通常那里有新的也适合的URI,此时URI仅仅被发现,不会被评估 
写链:存储爬行结果,返回内容和抽取特性,过滤完存储。 
提交链:做最后的维护,例如,测试那些不在范围内的,提交给边 界部件 
Heritrix 1.0.0包含以下关键特性: 
用单个爬虫在多个独立的站点一直不断的进行递归的爬。 
从一个提供的种子进行爬,收集站点内的精确URI,和精确主机。 
主要是用广度优先算法进行处理。 
主要部件都是高效的可扩展的 
良好的配置,包括: 
可设置输出日志,归档文件和临时文件的位置 
可设置下载的最大字节,最大数量的下载文档,和最大的下载时间。 
可设置工作线程数量。 
可设置所利用的带宽的上界。 
可在设置之后一定时间重新选择。 
包含一些可设置的过滤机制,表达方式,URI路径深度选 择等等。 

Heritrix的局限 
单实例的爬虫,之间不能进行合作。 
在有限的机器资源的情况下,却要复杂的操作。 
只有官方支持,仅仅在Linux上进行了测试。 
每个爬虫是单独进行工作的,没有对更新进行修订。 
在硬件和系统失败时,恢复能力很差。 
很少的时间用来优化性能。 




爬虫信息 
爬虫名称: Heritrix 
爬行强度: 低 
HTTP User Agent: 
Mozilla/5.0 (compatible; heritrix/1.10.2 +http://i.stanford.edu/) 

来访IP:171.64.75.233 

对Heritrix爬虫进行控制 
Heritrix被设计成严格遵循robots.txt文件的排除指示和META robots标签。 


邀请Heritrix来访 
如果你在在robots.txt中限制了部分爬虫,那么你可能需要在robots.txt中增加下述内容: 

User-agent: Heritrix Disallow: 


禁止Heritrix访问 
如果你不希望Heritrix爬虫占用服务器资源,可以这样封锁它: 

User-agent: Heritrix 

Disallow: / 

如果你仅仅不希望Heritrix爬行某些目录,则可以这样: 

User-agent: Heritrix 

Disallow: /somedir/ 



Heritrix 的架构示意图: 


 


下面有一个heritrixProject.rar可以下来使用一些。。 
运行org.archive.crawler.Heritrix 然后访问http://localhost:8080就可以了登入用户/密码为admin/admin 


Heritrix和Nutch的差异: 

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


Nutch 的架构示意图: 
 

 

 

原文地址:http://caizhongda.iteye.com/blog/473024

分享到:
评论

相关推荐

    Heritrix的架构图

    Heritrix的架构图

    网络爬虫Heritrix1.14.4可直接用

    总结来说,Heritrix 1.14.4是一个功能丰富的网络爬虫工具,它的模块化设计和灵活的配置使得它适合各种规模的爬虫项目。通过深入学习和实践,开发者可以掌握网络爬虫的基本原理和技术,并能够构建自己的网络数据获取...

    heritrix抓取的操作和扩展

    Heritrix是一个强大的开源网络爬虫工具,专为...然而,由于其丰富的配置选项和复杂的架构,对于新手来说,学习和掌握Heritrix可能需要一定的时间。因此,深入理解Heritrix的工作原理和配置机制是充分发挥其潜力的关键。

    Heritrix的安装与配置

    总之,Heritrix是一个功能强大的网络爬虫工具,其安装和配置涉及对Java项目的理解和Eclipse的熟练操作。通过以上步骤,你可以成功地搭建起一个运行中的Heritrix实例,进一步探索其丰富的功能和可能性。不过,需要...

    heritrix1.14.4源码+项目

    这个“Heritrix1.14.4源码+项目”压缩包包含的是Heritrix 1.14.4版本的源代码和相关项目文件,对于学习和理解Web爬虫的工作原理,以及进行自定义开发是非常有价值的。 Heritrix的核心功能是通过模拟浏览器行为来...

    Heritrix部署直接能运行的项目

    Heritrix是IA的开放源代码,可扩展的,基于整个Web的,归档网络爬虫工程 Heritrix工程始于2003年初,IA的目的是开发一个特殊的爬虫,对网上的 资源进行归档,建立网络数字图书馆,在过去的6年里,IA已经建立了400...

    Heritrix安装详细过程

    本节将详细介绍如何在Eclipse环境中搭建Heritrix,并进行必要的配置,以便能够顺利地启动Heritrix并执行抓取任务。 ##### 2.1 在Eclipse中搭建MyHeritrix工程 1. **新建Java工程** 在Eclipse中新建一个名为`...

    heritrix源码

    2. **模块化架构**:Heritrix的核心组件包括启动器、管道(Pipeline)、处理器(Processor)和发射器(Emitter)。启动器负责启动爬虫,管道连接各种处理器,处理器执行实际的抓取任务,如解析HTML、处理链接等,...

    heritrix1.14.0jar包

    Heritrix是一款强大的开源网络爬虫工具,由互联网档案馆(Internet Archive)开发,用于抓取和保存网页数据。在IT行业中,爬虫是获取大量网络数据的重要手段,Heritrix因其灵活性、可扩展性和定制性而备受青睐。标题...

    heritrix爬虫安装部署

    ### Heritrix爬虫安装部署知识点...通过以上详细介绍,我们不仅了解了Heritrix的基本概念和工作原理,还掌握了其安装部署的详细步骤以及如何运行示例项目。这对于初次接触Heritrix的用户来说是非常有价值的参考资料。

    heritrix-3.1.0 最新jar包

    Heritrix 3.1.0 是一个强大的网络爬虫工具,主要用于抓取和存档互联网上的网页。...无论是对互联网数据的需求者还是开发者,都可以通过这个jar包和源代码深入理解网络爬虫技术,并利用Heritrix实现自己的爬虫项目。

    Heritrix3-可扩展web级别的Java爬虫项目

    Heritrix3是一款高度可扩展的Java爬虫项目,专为大规模Web抓取设计,用于构建数字档案馆和网络存档。它是一个开源工具,由Internet Archive维护,旨在收集、保存并提供对互联网上的网页和其他资源的访问。Heritrix3...

    heritrix-1.14.4.zip 和 heritrix-1.14.4-src.zip

    在Eclipse中,用户可以利用Java的强类型系统和丰富的库来增强Heritrix的功能,或者根据项目需求调整其核心算法。 Heritrix的设计基于模块化和可扩展性,它的主要组件包括爬取管道(Crawler Pipelines)、策略...

    很好的heritrix学习资料

    Eclipse是一个广泛使用的Java IDE,将Heritrix项目导入Eclipse可以方便地进行调试和开发工作。这些文件可能详细阐述了如何创建Heritrix工程、添加依赖、配置构建路径等步骤,并可能包含了在实际操作中的一些注意事项...

    开发自己的搜索引擎 lucene + heritrix

    在这个过程中,Lucene 和 Heritrix 是两个非常关键的工具,它们分别在搜索引擎的构建中扮演着不同的角色。 首先,Lucene 是一个基于 Java 的开源信息检索库,它为开发者提供了一系列用于构建搜索引擎的工具和接口。...

    myeclispe Heritrix完整的项目

    Heritrix和myeclipse创建的一个java project 运行其中的Heritrix.java,在浏览器中输入http://127.0.0.1:10086,密码是admin,admin,可是实现爬虫

    Heritrix 源码和Jar

    Heritrix是一款开源的网络爬虫工具,由Internet Archive开发并维护,用于抓取和保存互联网上的网页。这款工具的设计目标是提供一个可扩展、可配置的平台,以适应各种爬网需求。Heritrix的核心功能包括URL调度、网页...

    heritrix-1.14.2.zip

    Heritrix是一个由Internet Archive维护的项目,其设计目标是提供高度可配置和可扩展的爬虫框架。它能够按照预定义的规则抓取网页,这些规则包括URL过滤、深度限制、爬行频率控制等。Heritrix支持HTTP、HTTPS等多种...

Global site tag (gtag.js) - Google Analytics