http://guoyunsky.iteye.com/blog/642550
在Heritrix注释里说Heritrix有三种启动方式,但我感觉只有两种:一种是通过tomcat或者JBOSS或者Jetty等Web容器,还有一种自然就是不通过Web直接编程运行。由于第二种方式更适合调试、研究代码,所以这里就介绍下它的编程启动方式吧....这里贴上示例代码以及注释:
import java.io.File;
import javax.management.InvalidAttributeValueException;
import org.archive.crawler.event.CrawlStatusListener;
import org.archive.crawler.framework.CrawlController;
import org.archive.crawler.framework.exceptions.InitializationException;
import org.archive.crawler.settings.XMLSettingsHandler;
public class StartHeritrixByEclipse {
public static void main(String[] args) throws InterruptedException {
String orderFile = "D:/heritrix-jobs/startHeritrixByEclipse/order.xml";//order.xml文件路径
File file = null; //order.xml文件
CrawlStatusListener listener = null;//监听器
XMLSettingsHandler handler = null; //读取order.xml文件的处理器
CrawlController controller = null; //Heritrix的控制器
try {
file=new File(orderFile);
handler = new XMLSettingsHandler(file);
handler.initialize();//读取order.xml中的各个配置
controller = new CrawlController();//
controller.initialize(handler);//从读取的order.xml中的各个配置来初始化控制器
if (listener != null) {
controller.addCrawlStatusListener(listener);//控制器添加监听器
}
controller.requestCrawlStart();//开始抓取
/*
* 如果Heritrix还一直在运行则等待
*/
while (true) {
if (controller.isRunning() == false) {
break;
}
Thread.sleep(1000);
}
//如果Heritrix不再运行则停止
controller.requestCrawlStop();
} catch (InvalidAttributeValueException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InitializationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里可以发现,其实只要知道一个order.xml路径就可以开始抓取了(同时还要seeds.txt种子文件),至于order.xml如何配置可以查看我前面的博客:http://guoyunsky.iteye.com/admin/blogs/613412
分享到:
相关推荐
9. **学习资源**:压缩包中的“Heritrix学习源码和资料”可能包含官方文档、教程、示例代码以及社区讨论等内容,这些资料可以帮助初学者快速上手并深入理解Heritrix的内部机制。 10. **实战应用**:Heritrix不仅...
Heritrix是一款开源的互联网档案爬虫工具,由...在深入了解和实践Heritrix 1.14.4的过程中,你不仅会掌握网络爬虫的基本原理和技术,还能提升Java编程和项目管理能力,为更高级的Web数据挖掘和分析打下坚实的基础。
本文将深入探讨Heritrix的源码结构,帮助读者理解其内部工作原理。 首先,我们来了解Heritrix的核心包及其功能: 1. `org.apache.commons.httpclient`:这个包封装了Apache HttpClient库,它是Heritrix获取网页...
**Lucene 和 Heritrix 源码分析** 在IT领域,搜索引擎的开发是一项复杂而重要的任务,它涉及到大量的文本处理、索引构建以及高效的查询算法。Lucene 和 Heritrix 是两个开源工具,分别专注于搜索的核心算法和网页...
Heritrix 3.2 源码的分析和理解有助于开发者深入掌握爬虫技术,定制自己的爬虫解决方案。 首先,让我们了解一下Heritrix 3.2 的核心特性: 1. **模块化设计**:Heritrix 3.2 采用组件化的架构,使得不同的爬取功能...
在"Heritrix 源码和Jar"这个主题中,我们可以深入探讨以下几个知识点: 1. **Heritrix的架构**: Heritrix采用模块化设计,由多个组件构成,包括URL队列管理器、下载器、解析器、存储模块等。用户可以根据需要定制...
### Heritrix源码分析知识点概述 #### 一、Heritrix简介 Heritrix是一款开源的网络爬虫工具,由Internet Archive开发并维护。它主要用于网页归档和大规模网络爬取任务。Heritrix的设计理念是高度可配置性和扩展性,...
Heritrix是一款开源的网络爬虫...通过以上步骤,你可以在Windows环境下成功运行Heritrix,进行网页抓取和数据分析。不过,请注意,合理合法地使用网络爬虫,尊重网站的robots.txt规则,避免对目标网站造成过大负担。
1. **配置与启动**:Heritrix的配置基于XML文件,用户可以根据需求调整爬虫的行为,如设置起始URL、爬取深度、爬取速度等。启动时,它会读取这些配置并初始化爬虫引擎。 2. **爬行策略**:Heritrix支持多种爬行策略...
heritrix1.14.4的源码包,包含heritrix1.14.4.zip和heritrix1.14.4-src.zip。heritrix是一种开源的网络爬虫,用于爬去互联网中的网页。如何配置和使用heritrix爬虫,请移步:...
在学习和使用Heritrix时,开发者需要掌握Java编程语言,因为它是Heritrix的开发语言。同时,熟悉XML配置文件的编写也很重要,因为Heritrix的大部分设置是通过XML配置文件完成的。了解HTTP协议和网页解析技术,如HTML...
- **工程创建**: 在IDE中(如Eclipse)创建一个新的Java工程。 - **源码集成**: - 解压`heritrix-1.14.4-src.zip`和`heritrix-1.14.4.zip`。 - 将源代码文件夹整合进工程中。 - 添加必要的库文件(jar包)至项目的`...
其在Windows环境下成功运行的过程及配置细节,涉及到了Java环境的搭建、Heritrix软件的安装与配置、以及运行参数的设置,以下是对这些知识点的详细解析: ### 一、Java环境搭建 Heritrix基于Java平台运行,因此...
3. **Heritrix运行与配置**:在`Heritrix1/src/org/archive/crawler/Heritrix.java`文件中启动Heritrix后,服务会在本地的8089端口监听。通过访问`https://localhost:8089`,我们可以使用内置的Web管理界面进行配置...
这份资料可能会涵盖Heritrix在企业环境中的具体应用,如数据收集、数据分析前的预处理步骤等,同时也可能涉及Java编程相关的知识,因为Heritrix是用Java编写的,理解其内部机制需要一定的Java基础。 "heritrix学习...
综上所述,"开发自己的搜索引擎lucene+heritrix(第2版)"的源码涵盖了从网络数据抓取到全文检索的全过程,适合开发者深入学习和实践搜索引擎技术。通过研究ch13至ch16的源代码,可以更深入地理解这两个工具的交互和...