Heritrix源码分析(二) 配置文件order.xml介绍

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值