- 浏览: 10482 次
最新评论
Heritrix源码分析(二) 配置文件order.xml介绍
2010年10月13日
本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.javaeye.com/blog/613412
欢迎加入Heritrix群(QQ):10447185
order.xml是整个Heritrix的核心,里面的每个一个配置都关系到Heritrix的运行情况,没读源码之前我只能从有限的渠道去获知这些配置的运用.读完之后才知道Heritrix竟然有如此灵活的运用,如可以控制抓取速度,可以优化电脑性能,可以在某一次的抓取上继续抓取.当然整个order.xml里我也没有全部掌握,只知道大部分配置的作用,希望大家指点改正以及补充,谢谢!
代表着该抓取JOB的元素,相当于Html的meta
myheritrix my heritrix Admin 20090520051654
2. 跟抓取有关的所有参数,由于内容较多,并且Heritrix也已将他们分成不同模块,所以这里我也将他们拆分来说明.
settings logs checkpoints state scratch 0 0 0 30 4096 65536 0
3.接下来拆分每个组件的配置文件一一进行说明,最后对Heritrix主要的配置也就是我们可以影响抓取的配置进行说明。
3.1:抓取范围
false seeds.txt true ACCEPT true false true 20 3 1 2返回REJECT,如http://www.baidu.com/a/a/a/index.html ,其中/a出现三次,超过了2次,所以返回REJECT(拒绝)--> 20返回REJET,段表示http://www.baidu.com/a/b,其中a和b表示一个段 -->
3.2: HTTP协议
Mozilla/5.0 (compatible; heritrix/1.14.3 +http://127.0.0.1) guoyunsky@hotmail.com
3.3:爬虫协议
classic false
3.4:Frontier 调度器
4.0等待的间隔时间,可以预防无节制的抓取一个网站.通常是用该值去乘以上一个url的抓取时间来表示为下一个url需要等待的时间 --> 20000等待时间,单位毫秒 --> 2000等待时间,单位毫秒--> 300 30 900 1 0 0 org.archive.crawler. frontier.HostnameQueueAssignmentPolicy如何去分配URI到各个队列,这个类是相同的host的url就属于同一个队列 --> false false结果,并有可能去增加URI和调整setting,默认为false--> false true true 3000等待队列停用之前将被尝试 --> 100 -1 org.archive.crawler.frontier.Zer oCostAssignmentPolicy 300000 50等待.只有hold-queues为true才有效,默认为50 --> org.archive.crawler.u til.BdbUriUniqFilter false
3.5:URL规范化规则,主要用来规范化每个URL,用Heritrix默认的就好了,这里不做说明了,其实也是通过各种规则
3.6:预先处理链组件: true false发送到在日志目录下的以本类命名的日志文件中。在heritrix.properties中设置好日志等级和日志格式,这个属性在重启后知获取一次. --> true false true 86400 86400 false
3.7:获取组件: true false true sha1 true 1200 20000Socket在规定时间内(毫秒)没有反应,则将放弃连接或者读取。这里不一定是在抓取期间立即放弃,会尝试重新连接和重新读取直到这个设置的时间到了.设置为0则没这个限制,但这里不推荐,因为Socket会无限期处理 --> 0 0 false true open GB2312 true sha1 true发送'If-Modified-Since' header,如果上次的Last-Modified抓取历史消息在URI历史中有效--> true发送'If-Node-Match' header,如果上次的Etag抓取历史信息在URI历史中有效 --> true发送'Connection: close' header--> true发送'Referer' header,'Referer' header包含crawler来自哪里,在目前发现的URI页面里。'Referer'通常记录在远程服务器上,可以协助网站管理员去找出爬虫抓取了哪些特定的区域。 --> false发送'Range' header当文档尺寸最大下载字节数限制。要有礼貌的道HTTP服务器并且发送'Range' header,说明你只是对前n个字节感兴趣。如果文档尺寸最大下载字节数大于0,在'206 Partial Content'相应状态里发送'Range' header,这样比只是截断超出下载字节数要好,不过很少的情况下发送'Range',将会得到'416 Request Range Not Satisfiable'回应 --> socket),当没有指定时使用本地默认的地址 -->
3.8:抽取组件 true true true true true true true true
3.9:写组件 true true index.html %2E . true mirror 1023 255 false true LONG
3.10:请求链组件里面可以配置自己的调度器 true true false发送到 在日志目录下的以本类命名的日志文件中。在heritrix.properties中设置好日志等级和日志格式,这个属性在重启后知获取一次. --> true -1 true
3.11:统计跟踪链组件 20
发表评论
-
Jabberd2源代码分析:c2s与router SASL验证过程
2012-01-20 09:19 690Jabberd2源代码分析:c2s与router SASL验证 ... -
VC中使用自定义消息在进程间通讯
2012-01-20 09:19 481VC中使用自定义消息在进程间通讯 2011年06月14日 ... -
重叠IO 通信模型,函数记录。
2012-01-20 09:19 769重叠IO 通信模型,函数记录。 2010年12月07日 ... -
apache2 安装与配置
2012-01-20 09:19 900apache2 安装与配置 2010年11月09日 v0 ... -
2011,感恩年
2012-01-19 14:20 4922011,感恩年 2012年01月14 ... -
快乐并成长着的2011年
2012-01-19 14:19 507快乐并成长着的2011年 2 ... -
写给河南新精疯狂英语班同学们的一封信
2012-01-19 14:19 608写给河南新精疯狂英语班同学们的一封信 2012年01月05日 ... -
2011年度优秀员工获奖感想
2012-01-19 14:19 5602011年度优秀员工获奖感 ... -
晒晒孩子们的作文(一)
2012-01-19 14:19 547晒晒孩子们的作文(一) ... -
和老外对训练理念的交流,中英文,翻译好了
2012-01-17 04:09 792和老外对训练理念的交流,中英文,翻译好了 2011年08月2 ... -
为单位的
2012-01-17 04:09 302为单位的 2011年08月23日 这人写了一篇文章,已经 ... -
口袋英语5
2012-01-17 04:09 656口袋英语5 2011年06月26 ... -
jhhg
2012-01-16 02:57 634jhhg 2009年07月06日 > 24) &a ... -
最新qq空间软件,软件下载-----わ 。
2012-01-16 02:57 566最新qq空间软件,软件下载-----わ 。 2009年08月 ... -
FLEX
2012-01-16 02:57 467FLEX 2009年12月04日 ... -
QQ 空间软件制作大全
2012-01-16 02:57 356QQ 空间软件制作大全 2010年05月31日 ★★★★ ... -
as学习经验之谈
2012-01-16 02:57 422as学习经验之谈 2009年11 ...
相关推荐
Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。官网下载好像要翻墙,我下下来方便大家使用,这是3.4版本,配合heritrix-3.4.0-SNAPSHOT-dist.zip使用
- 复制`modules`、`profiles`、`selftest`三个目录及`heritrix.properties`、`jmxremote.password.template`、`heritrix.cacerts`、`jndi.properties`这四个文件至项目根目录。 - 将`arcMetaheaderBody.xsl`和`...
相较于Heritrix 1.x的`order.xml`,`crawler-beans.cxml` 采用了Spring框架进行管理,以bean的形式定义了各种组件,提高了配置的灵活性和可维护性。 1. **simpleOverrides**:这个bean用于设置基本的爬取任务信息,...
- `heritrix-3.4.0-SNAPSHOT`目录:这是Heritrix的主目录,包含了所有运行所需的基本文件,如jar包、配置文件、文档等。 - `bin`子目录:存放启动和停止Heritrix的脚本,通常在Unix/Linux环境下使用`start.sh`和`...
2. **配置文件结构**: Heritrix的配置基于XML文件,主要包含`job.xml`(作业配置)、`engine.xml`(引擎配置)和各种模块的配置文件。理解这些文件的结构和作用是配置Heritrix的基础。 3. **作业配置** (`job.xml`)...
这个“Heritrix源码”压缩包可能包含了Heritrix项目的完整源代码,以及相关的学习资料,对于深入理解Heritrix的工作原理、定制爬虫功能以及进行二次开发非常有帮助。以下将详细介绍Heritrix的关键知识点。 1. **...
20. `org.archive.crawler.settings`:管理配置文件`order.xml`,这是Heritrix的配置中心,定义了爬虫的行为和策略。 通过对这些包的分析,我们可以看到Heritrix是一个高度模块化和可定制的爬虫。每个组件都有明确...
[开发自己的搜索引擎:Lucene.Heritrix(第2版)].邱哲.扫描版.pdf
去下载这个吧。(完整版的) http://d.download.csdn.net/down/1756566/caizhongda Lucene2.0+Heritrix搜索引擎(完整光盘).part2.rar
在下载的压缩包中,`爬虫heritrix.doc` 可能是关于Heritrix 3.2 的使用指南或文档,包含了详细的配置说明、操作教程和常见问题解答。阅读这份文档可以帮助我们更好地理解和使用Heritrix。 `heritrix-3.2.0-SNAPSHOT...
此外,`conf`目录下的`heritrix.properties`文件是Heritrix的核心配置文件,包含了运行时的许多参数,如默认工具类、Web用户界面(WebUI)的启动参数和日志格式等。 首次运行Heritrix时,需要在`heritrix....
在"testDWR"这个文件中,可能包含了演示如何将Heritrix与Lucene集成的代码示例或配置文件。DWR(Direct Web Remoting)是一个JavaScript库,它允许在客户端和服务器之间进行异步通信,可能在这里用于交互式展示搜索...
2. **配置文件**:如`crawldirs/config/heritrix.xml`,定义了爬虫的基本配置和工作流。 3. **处理器类**:实现特定爬取任务的Java类,如`org.archive.modules.fetcher.FetchHttp`负责HTTP请求。 4. **模块和依赖**...
Heritrix的设计理念是提供一个灵活、可扩展的框架,允许开发者根据需要定制和配置爬虫的行为,以适应不同的信息抽取任务。Heritrix支持HTTP、HTTPS等多种协议,可以处理JavaScript、CSS、图片等多种类型的Web内容,...
3. **配置文件**:Heritrix的配置文件是XML格式的,用于定义爬虫的行为,如爬取深度、并发度、重试策略、排除规则等。你需要根据实际需求修改这些配置来定制爬虫行为。 4. **源码编译与运行**:下载Heritrix 1.14.4...
例如,`default.cxml`是Heritrix的主要配置文件,包含了整个爬取流程的配置。 在进行二次开发时,开发者需要注意遵循Heritrix的编程规范和设计模式,确保新添加的模块与现有架构兼容。同时,理解并尊重网站的版权和...
Heritrix提供了高度可配置的爬行策略,能够按照预定义的规则抓取Web内容。 【信息抽取】信息抽取是从非结构化的Web文档中提取结构化数据的过程。它涉及到识别和提取特定的实体,如人名、日期、地点等,并将这些实体...