本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/642550
欢迎加入Heritrix群(QQ):109148319
在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中的URL——CandidateURI和CrawlURI #### 一、概述 Heritrix是一款开源的网络爬虫工具,它主要用于归档和备份网页数据。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爬虫,请移步:...
本节将详细介绍如何在Eclipse环境中搭建Heritrix,并进行必要的配置,以便能够顺利地启动Heritrix并执行抓取任务。 ##### 2.1 在Eclipse中搭建MyHeritrix工程 1. **新建Java工程** 在Eclipse中新建一个名为`...
在学习和使用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管理界面进行配置...
5. 编译并运行Heritrix,通常会有一个启动脚本或main方法供你执行爬虫。 通过深入研究Heritrix-1.14.4的源代码,你可以学习到网络爬虫的基本架构,了解HTTP通信、网页解析、链接处理和数据存储等相关技术,这对于...
这份资料可能会涵盖Heritrix在企业环境中的具体应用,如数据收集、数据分析前的预处理步骤等,同时也可能涉及Java编程相关的知识,因为Heritrix是用Java编写的,理解其内部机制需要一定的Java基础。 "heritrix学习...