最近项目要用到 Heritrix 需要集成到我们的工程中,编程启动.... 起初的思路想深入研究 Heritrix 的源代码,企图自己组织 Heritrix 内部的方法,来实现抓取, 研究数日无果.....
参考各方面的资料,虽然了解其内部的实现 的实现流程,但依然无法集成入我们的工程。资料可参考
http://www.cnblogs.com/hustcat/archive/2008/10/11/1308866.html
后决定曲线救国,就利用 Heritrix 提供的 UI 页面上现成的 方法好了。
以下是一点小心得,
抓取步骤:
1 创建初始化话的 配置文件。
order.xml,seeds.txt,state.job
2 启动 startCrawler() 方法,最终调用setupForCrawlStart() 方法抓取
思路:
自己用io生成 任务文件夹 包括order.xml,seeds.txt,state.job 三个文件。
-----------------
order.xml 配置文件,就是我们再UI 界面里 Modules,Settings,设置参数,比较重要的有
Select Writers 保存方式--MirrorWriterProcessor
user-agent: --版本号 , IP
from: 邮箱(只要符合格式就好了)
------------------
seeds.txt 你要爬取的网址。
----------------------
state.job 一些参数,比如 编号,名称, 状态,配置文件名--order.xml
注意:这里比较重要的一个参数, 第三个 要设置成 Pending 这个参数表示任务当前的状态
有Running ,Finished ,等 。一定要 Pending 才可以被识别成 可抓取状态的。
将3个文件写入一个任务文件夹 ,文件夹依然写入到jobs 。
***************************************************
以上我已经试验了,可以正常爬取,程序里调用没有试呢还。
**************
写完后 再你程序里 调用 ../.../action.jsp?action=stop/star 即可 暂停/开始 任务了
好偷懒的 思路了 哈哈!
**********************
多提建议啊 通知们 有更好的方法的 欢迎探讨啊
qq 12616383 注明 Heritrix
分享到:
- 2008-12-09 15:22
- 浏览 2300
- 评论(4)
- 论坛回复 / 浏览 (3 / 4681)
- 查看更多
相关推荐
例如,下面是一个启动Heritrix的命令行示例,假设Heritrix安装在E盘根目录: ```bash java -Xmx512m -Dheritrix.home=e:\\heritrix -cp "E:\\heritrix\\lib\\*.*" org.archive.crawler.Heritrix ``` 这个命令设置...
编译完成后,可以通过命令行启动Heritrix,并指定相应的配置文件。运行过程中,Heritrix将按照配置进行网络爬行,抓取的网页会被存储在本地或者指定的存储位置。 对于学习网络爬虫技术的人来说,Heritrix提供了一个...
4. **运行**:使用命令行启动Heritrix,提供必要的配置参数。 **Heritrix使用与代码实践:** Heritrix的代码部分可能涉及以下方面: 1. **自定义爬取行为**:通过编写Java插件,可以修改Heritrix的行为,例如改变...
安装完成后,通过命令行启动Heritrix,如在Java环境中使用`java -jar heritrix.jar`。 2. **配置文件结构**: Heritrix的配置基于XML文件,主要包含`job.xml`(作业配置)、`engine.xml`(引擎配置)和各种模块的...
标题和描述都表明这是一份关于Heritrix学习的宝贵资料集合,包含了一系列的教程和经验分享。 首先,我们来看"利用Heritrix构建特定站点爬虫.mht"这个文件。这个文件很可能详细介绍了如何定制Heritrix来抓取特定网站...
2. **模块化架构**:Heritrix的核心组件包括启动器、管道(Pipeline)、处理器(Processor)和发射器(Emitter)。启动器负责启动爬虫,管道连接各种处理器,处理器执行实际的抓取任务,如解析HTML、处理链接等,...
Heritrix的运行不仅限于命令行,还可以通过CrawlController以编程方式后台加载抓取任务。其工作流程通常包括定义种子URL,设定爬虫的行为策略(如深度限制、遵循或忽略的链接规则),以及处理抓取到的数据(如存储、...
在这个教程中,你将学习如何设置运行环境,配置Heritrix的配置文件,启动爬虫,以及监控和管理爬虫的运行状态。 6. **扩展与插件**:Heritrix支持插件机制,你可以开发自定义的处理器和策略来增强其功能。例如,...
最后,通过启动脚本运行Heritrix,它将开始按照设定的规则抓取互联网上的数据。 在实际应用中,Heritrix常常被用于学术研究、数据分析、搜索引擎索引构建等领域。它的灵活性和可扩展性使其成为开发者和数据科学家的...
7. **命令行界面和API**:Heritrix提供命令行接口(CLI)进行启动、监控和管理爬虫任务。同时,它还提供RESTful API,使得可以通过编程方式控制爬虫。 8. **日志和监控**:Heritrix有丰富的日志记录,可以跟踪爬虫...
在学习和使用Heritrix时,开发者需要掌握Java编程语言,因为它是Heritrix的开发语言。同时,熟悉XML配置文件的编写也很重要,因为Heritrix的大部分设置是通过XML配置文件完成的。了解HTTP协议和网页解析技术,如HTML...
以下是一个示例批处理文件,展示了如何在命令行中启动Heritrix: ```bash java -Xmx512m -Dheritrix.home=e:\\heritrix -cp "E:\\heritrix\\lib\\...;E:\\heritrix\\lib\\..." ``` 这个命令行示例指定了最大堆内存...
7. **CrawlJob**:Heritrix中的主类,启动爬虫作业的入口点。 以上就是配置和理解Heritrix在Eclipse中的源文件的相关步骤和知识点。通过这种方式,开发者可以深入了解Heritrix的内部工作流程,进行定制化开发,或者...
文档通常包括用户手册、开发者指南、API参考等,这些内容对于熟悉Heritrix的架构、配置和编程接口至关重要。由于文件较大,为了便于下载和使用,文档被单独提取出来作为一个压缩包上传。 Heritrix的主要知识点包括...
4. **运行与监控**:启动Heritrix后,它会按照配置进行工作。你可以通过Web界面或者命令行工具实时监控爬取进度和状态。 5. **数据处理**:爬取完成后,数据通常存储在硬盘上,你可以使用各种工具(如WARC工具)...
在实际使用中,用户需要根据自己的需求调整配置文件,定义要抓取的种子URL,设置爬取策略,然后启动Heritrix。在运行过程中,爬虫会按预定规则抓取网页,将结果保存到指定的存储位置。通过分析和处理这些数据,用户...
它最初作为Apache软件基金会Jakarta项目的一个子项目启动,后来因其强大的功能而被广泛采用,并逐渐被移植到了多种编程语言中,包括C++、C#和Perl等。 Lucene不是一个完整的搜索引擎解决方案,而是一套用于构建全文...
35. **Heritrix 3.x API指南**:对于开发者来说,API指南提供了与Heritrix进行交互的编程接口信息。 通过遵循这份用户手册,用户可以有效地利用Heritrix进行大规模的网络抓取任务,同时了解如何维护和优化其运行...