通过第一篇的Eclipse配置成功Heritrix之后,便可以通过运行 org.archive.crawler.Heritrix.java来启动工程以便进行抓取内容。不过最常用的方法是通过WebUI来进行一系列的配置。
1. 运行Heritrix并通过浏览器访问http://localhost:8080来进行登录(admin/admin)。登陆界面如下:
登录后便打开了WebUI的主界面(默认是console)如下:
这说明配置并运行成功,可以进行下面的抓取工作啦。
2. 创建一个新的抓取任务。
(1) 单击WebUI菜单栏上的“Jobs”标签,就可以进入任务创建页面。如下图。
Based on existing job -- 以一个已经有的抓取任务为模板,创建所有抓取属性和抓取起始URL的列表。
Based on a recovery -- 在以前的某个任务中,可能设置过一些状态点,新的任务将从这个设置的状态点开始。
Based on a profile -- 专门为不同的任务设置了一些模板,新建的任务将按照模板来生成。
With defaults -- 这个最简单,表示按默认的配置来生成一个任务。
在Heritrix中,一个任务对应一个描述文 件。这个描述文件的默认的名称为order.xml。每次创建一个新任务时,都相当于生成了一个order.xml的文件。文件中详细记录了 Heritrix在运行时需要的所有信息。例如,它包括该用户所选择的Processor类、Frontier类、Fetcher类、抓取时线程的最大数 量、连接超时的最大等待时间等信息。上面所说的4种创建抓取任务的方式,其实都是在生成一个order.xml文件。其中,第4种With defaults,则是直接拷贝默认的order.xml文件。在所创建的Eclipse工程或是命令行启动的Heritrix下载包中,该默认的 order.xml文件均是放于profiles\default目录下的。
这里选择
With default来创建一个默认的任务。
(2) 在Name、description和seed里填写相应的内容。如图:(注:可同时输入多个seed,每个占用一行)
(3) 接着是要对modules进行一些配置。
需要配置的内容共有8项,Crawl Scope、URI Frontier和Writers 的配置比较重要,其他的按照默认就可以,不影响建立一个简单的job。如下图。
下面一一对其进行解释:
CrawlScope: 用于配置当前应该在什么范围内抓取网页链接。比如,如果选择BroadScope,则表示当前抓取的范围不受限制,但如果选择了HostScope,则表示抓取的范围在当前的Host内。
Frontier: 则是一个URL的处理器,它将决定下一个被处理的URL是什么。同时,它还会将经由处理器链所解析出来的URL加入到等待处理的队列中去。在例子中,使用BdbFrontier类来做为处理器,全权掌管URL的分配。
PreProcessor:这个队列中,所有的处理器都是用来对抓取时的一些先决条件做判断的。比如判断robot.txt的信息等,它是整个处理器链的入口。
Fetcher:从名称上看,它用于解析网络传输协议,比如解析DNS、HTTP或FTP等。在演示中,主要使用FetchDNS和FetchHTTP两个类。
Extractor:它的名字就很好的揭示了它的作用。它主要用是于解析当前获取到的服务器返回内容,这些内容通常是以字符串形式缓存的。在这个队列中,包括了一系列的工具,如解析HTML、 CSS等。在解析完毕,取出页面中的URL后,将它们放入队列中,等待下次继续抓取。在演示中,使用两种Extractor,即 ExtractorHTTP和ExtractorHTML。
Writer:主要是用于将所抓取到的信 息写入磁盘。通常写入磁盘时有两种形式,一种是采用压缩的方式写入,在这里被称为Arc方式,另一种则采用镜象方式写入。当然处理起来,镜象方式要更为容 易一些,因此,在演示中命名用镜象Mirror方式。
PostProcessor:在整个抓取解析过程结束后,进行一些扫尾的工作,比如将前面Extractor解析出来的URL有条件的加入到待处理队列中去。
Statistics Tracking: 和WebUI整合在一起,用来创建处理过程中的静态内容日志。
值得一提的是,在处理器链的设置过程中,每一个队列中的处理器都是要分先后顺序的,信息的处理流程实际上是不可逆的,因此,在设置时,可以看见在队列的右侧总是有“Up”、“Down”和“Remove”这样的操作,以帮助能够正确的设置其顺序。
在设置完Hertrix所需的处理链后,仍然还不能够马上开始抓取任务,还需对默认的运行时参数做一些修改,以适应真正的需要。
(4) 进入Setting项设置运行时参数。
在属性设置页面上有非常多的输入域,Heritrix在抓取网页时,这些域是用来对的各个组件的值进行预设,由于页面上的内容非常多,使用者可能无法全部了解它们的作用。所以Heritrix提供了一个辅助功能,来在最大程度上让使用者了解每个参数的含义。可以看到,在每个属性的右侧都有一个小问号,当单击问号时,就会弹出一个Javascript的Alert提示框,上面介绍了当前属性的作用。例如,在上图中单击“max-bytes- download”属性,通过Alert的提示可以知道,它表示的是抓取器最大下载的字节数,当下载字节数超过这个属性上所设定的值时,抓取就会自动停止。另外,如果将这个值设为0,则表示没有限制。
事实上,当在第一次使用Heritrix时,所需要设置的参数并不多,以默认设置为主。以下就来介绍一些必须要在第一次使用时就要配置好的参数。
HTTP-Header
在HTTP-Header这个属性域下面,包括两个属性值“user-agent”和“from”。改成如下格式(只需要格式正确就好,不需要agent和from真实存在):
至此便可以单击“Submit”链接,提交这个抓取任务。
(5) 提交任务。
点击submit便得到了如下图。
其中可以看到Pending Jobs 和 Completed Jobs。 点击console回到控制界面,点击start便开始了在Pendign Jobs中的任务。如图:
(6) 运行抓取包任务。
以下截图是正在运行的抓取过程。
至此一个简单的任务便完成了。
3. Heritrix的镜象存储结构
通过Heritrix抓取的内容会保存到Eclipse工程根目录下的jobs文件夹下。不同的抓取任务的命名以抓取任务的名称来加以区分。
里面的内容根据URI中的“/”来分层次,即如果在URI中有“/”,则在本地mirror镜像下的内容会以对应的文件夹来存储到本地。
- 大小: 11.4 KB
- 大小: 57.2 KB
- 大小: 74.5 KB
- 大小: 64.2 KB
- 大小: 30.1 KB
- 大小: 23.5 KB
- 大小: 17.4 KB
- 大小: 22.2 KB
- 大小: 102.2 KB
- 大小: 52.2 KB
- 大小: 90.2 KB
分享到:
相关推荐
在开始使用Heritrix之前,首先要了解如何下载和运行它。Heritrix的最新版本可以在SourceForge的下载页面找到。下载完成后,将其解压缩到本地目录,并注意其结构,包括`lib`目录,其中包含了Heritrix运行所需的类库,...
Heritrix 3.0 是一个强大的网络抓取框架,其设计目的是为了高效、灵活地爬取互联网上的信息。在Heritrix 3.0中,`crawler-beans.cxml` 文件扮演着至关重要的角色,它是整个爬虫的配置中心,负责定义和管理爬虫的行为...
Heritrix用户手册,Heritrix简介与入门 Heritrix配置与开发指南
"heritrix学习总结 - 入门技术 - New - ITeye论坛.mht"是另一份入门级的学习资料,适合初学者。它可能涵盖了Heritrix的基本概念、安装步骤、启动和运行爬虫的基本流程,以及一些常见的问题和解决方法。对于新接触...
Heritrix 1.14.2 是一个开源的网络爬虫工具,它主要用于抓取互联网上的网页和其他在线资源。...尽管现在有更新的版本(如Heritrix 3.x系列)可用,但1.14.2版本仍具有很高的历史价值和学习价值,尤其适合初学者入门。
Heritrix是一款强大的网络爬虫工具,主要用于网页抓取和数据挖掘。这款开源软件由互联网...对于初次接触Heritrix的用户来说,这样的绿色配置包无疑降低了入门的门槛,使他们能更快地投入到实际的网络数据采集工作中。
在《开发自己的搜索引擎》一书中,通过`ch2-lucene入门小例子`,读者可以了解到如何使用Lucene 2.0创建简单的搜索引擎,例如建立索引、执行搜索等基本操作。而`myReserch-可用的网络搜索引擎`可能包含一个完整的搜索...
这个“heritrix3 实例”很可能是提供了一些基础的使用示例,帮助初学者快速上手Heritrix 3 的操作。在本文中,我们将深入探讨Heritrix 3 的核心概念、配置、工作流程以及如何通过提供的实例来理解和运用它。 **...
Heritrix还提供了丰富的文档和社区支持,帮助开发者理解和使用这个工具。通过参与社区,用户可以获取最新的开发信息、问题解决方案以及与其他爬虫开发者的交流机会。 总之,Heritrix 1.14.3源代码是一个深入了解Web...
要使用和理解Heritrix 3,你需要对Java编程、网络爬虫原理以及XML配置有一定的了解。如果你打算自定义Heritrix 3的行为,那么深入研究其源码和配置文件是必不可少的。同时,根据提供的文档,你可以学习如何构建、...
本章节详细介绍了如何配置和使用Heritrix来收集数据。 #### 十、HTMLParser - HTMLParser是一种解析HTML文档的工具。书中详细阐述了如何使用HTMLParser从网页中提取有用的信息,并将其转化为可被搜索引擎索引的...
【标题】:“awesome-web-archiving:Web存档入门的绝佳列表” 【描述】:这个资源集合是针对那些想要深入了解Web存档的初学者和专业人士的。它提供了一系列的工具、服务、文献和最佳实践,帮助用户理解如何有效地...
- **《开发自己的搜索引擎 Lucene+Heritrix》**:中国首部详解Lucene的书,但部分内容可能已过时。 **SOA** - **《精通SOA:基于服务总线的整合开发应用》**:引导读者进入SOA的世界,推荐给希望深入理解SOA的人。 ...
- **搜索引擎与工作流**:学习Lucene、HTMLParser、Heritrix和JBPM,掌握信息检索与业务流程管理。 - **XML**:掌握XML语法和解析技术,用于数据交换和配置文件。 4. **企业开发技术** 强调Java SE和Java EE在...
- **Heritrix**: 开源的网络爬虫,具有良好的可扩展性。 #### 索引文件的逻辑结构 - **文档域**: 存储实际的文档内容。每个文档由一个`Document`对象表示,而文档中的每一项信息则通过`Field`对象来存储。例如,一...
- **中间件**:从Tomcat入门,逐渐过渡到更复杂的JBoss,理解不同中间件的特点及其在企业级应用中的作用。 - **数据库**:从MySQL开始,深入学习Oracle,掌握两种数据库管理系统的基本操作和高级特性。 - **JAVA SE*...