史迪奇史迪仔:Heritrix源码分析(二) 配置文件order.xml介绍
来源:百度文库 编辑:学校大全网 时间:2022/05/23 03:14:31
Heritrix源码分析(二) 配置文件order.xml介绍
文章分类:互联网本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.javaeye.com/blog/613412
欢迎加入Heritrix群(QQ):10447185
order.xml是整个Heritrix的核心,里面的每个一个配置都关系到Heritrix的运行情况,没读源码之前我只能从有限的渠道去获知这些配置的运用.读完之后才知道Heritrix竟然有如此灵活的运用,如可以控制抓取速度,可以优化电脑性能,可以在某一次的抓取上继续抓取.当然整个order.xml里我也没有全部掌握,只知道大部分配置的作用,希望大家指点改正以及补充,谢谢!
- 代表着该抓取JOB的元素,相当于Html的meta

-
myheritrix -
my heritrix -
Admin -
-
-
20090520051654
Xml代码myheritrix my heritrix Admin 20090520051654

2.
Xml代码

-
-
name="settings-directory">settings -
name="disk-path"> -
name="logs-path">logs -
name="checkpoints-path">checkpoints -
name="state-path">state -
name="scratch-path">scratch -
name="max-bytes-download">0 -
name="max-document-download">0 -
name="max-time-sec">0 -
name="max-toe-threads">30 -
name="recorder-out-buffer-bytes">4096 -
name="recorder-in-buffer-bytes">65536 -
name="bdb-cache-percent">0 name="scope" class="org.archive.crawler.deciderules.DecidingScope"> - name="http-headers">
-
name="robots-honoring-policy" class="org.archive.crawler.datamodel.RobotsHonoringPolicy"> -
name="frontier" class="org.archive.crawler.frontier.BdbFrontier"> - name="pre-fetch-processors">
- name="fetch-processors">
- name="extract-processors">
- name="write-processors">
- name="post-processors">
- name="loggers">
name="credential-store" class="org.archive.crawler.datamodel.CredentialStore">
settings logs checkpoints state scratch 0 0 0 30 4096 65536 0
3.接下来拆分每个组件的配置文件一一进行说明,最后对Heritrix主要的配置也就是我们可以影响抓取的配置进行说明。
3.1:抓取范围
Xml代码

name="scope" class="org.archive.crawler.deciderules.DecidingScope"> -
name="enabled">false -
name="seedsfile">seeds.txt -
name="reread-seeds-on-config">true -
name="decide-rules" class="org.archive.crawler.deciderules.DecideRuleSequence"> - name="rules">
-
name="rejectByDefault" class="org.archive.crawler.deciderules.RejectDecideRule"> -
name="acceptIfSurtPrefixed" class="org.archive.crawler.deciderules.SurtPrefixedDecideRule"> -
name="decision">ACCEPT -
name="surts-source-file"> -
name="seeds-as-surt-prefixes">true -
name="surts-dump-file"> -
name="also-check-via">false -
name="rebuild-on-reconfig">true -
name="rejectIfTooManyHops" class="org.archive.crawler.deciderules.TooManyHopsDecideRule"> -
name="max-hops">20 -
name="acceptIfTranscluded" class="org.archive.crawler.deciderules.TransclusionDecideRule"> -
name="max-trans-hops">3 -
name="max-speculative-hops">1 -
name="rejectIfPathological" class="org.archive.crawler.deciderules.PathologicalPathDecideRule"> -
name="max-repetitions">2 -
name="rejectIfTooManyPathSegs" class="org.archive.crawler.deciderules.TooManyPathSegmentsDecideRule"> -
name="max-path-depth">20 -
name="acceptIfPrerequisite" class="org.archive.crawler.deciderules.PrerequisiteAcceptDecideRule">
false seeds.txt true
3.2: HTTP协议
Xml代码

- name="http-headers">
-
name="user-agent">Mozilla/5.0 (compatible; heritrix/1.14.3 +http://127.0.0.1) -
name="from">guoyunsky@hotmail.com
3.3:爬虫协议
Xml代码

name="robots-honoring-policy" class="org.archive.crawler.datamodel.RobotsHonoringPolicy"> -
name="type">classic -
name="masquerade">false -
name="custom-robots"> -
name="user-agents">
classic false
3.4:Frontier 调度器
Xml代码

name="frontier" class="org.archive.crawler.frontier.BdbFrontier"> -
name="delay-factor">4.0 -
name="max-delay-ms">20000 -
name="min-delay-ms">2000 -
name="respect-crawl-delay-up-to-secs">300 -
name="max-retries">30 -
name="retry-delay-seconds">900 -
name="preference-embed-hops">1 -
name="total-bandwidth-usage-KB-sec">0 -
name="max-per-host-bandwidth-usage-KB-sec">0 -
name="queue-assignment-policy">org.archive.crawler.frontier.HostnameQueueAssignmentPolicy -
name="force-queue-assignment"> -
name="pause-at-start">false -
name="pause-at-finish">false -
name="source-tag-seeds">false -
name="recovery-log-enabled">true -
name="hold-queues">true -
name="balance-replenish-amount">3000 -
name="error-penalty-amount">100 -
name="queue-total-budget">-1 -
name="cost-policy">org.archive.crawler.frontier.ZeroCostAssignmentPolicy -
name="snooze-deactivate-ms">300000 -
name="target-ready-backlog">50 -
name="uri-included-structure">org.archive.crawler.util.BdbUriUniqFilter -
name="dump-pending-at-close">false
4.0 20000 2000 300 30 900 1 0 0 org.archive.crawler.frontier.HostnameQueueAssignmentPolicy false false false true true 3000 100 -1 org.archive.crawler.frontier.ZeroCostAssignmentPolicy 300000 50 org.archive.crawler.util.BdbUriUniqFilter false
3.5:URL规范化规则,主要用来规范化每个URL,用Heritrix默认的就好了,这里不做说明了,其实也是通过各种规则
3.6:预先处理链组件:
Xml代码
- name="pre-fetch-processors">
-
name="Preselector" class="org.archive.crawler.prefetch.Preselector"> -
name="enabled">true -
name="Preselector#decide-rules" class="org.archive.crawler.deciderules.DecideRuleSequence"> - name="rules">
-
name="override-logger">false -
name="recheck-scope">true -
name="block-all">false -
name="block-by-regexp"> -
name="allow-by-regexp"> -
name="Preprocessor" class="org.archive.crawler.prefetch.PreconditionEnforcer"> -
name="enabled">true -
name="Preprocessor#decide-rules" class="org.archive.crawler.deciderules.DecideRuleSequence"> - name="rules">
-
name="ip-validity-duration-seconds">86400 -
name="robot-validity-duration-seconds">86400 -
name="calculate-robots-only">false
3.7:获取组件:
true false true sha1 true 1200 20000 0 0 false true open GB2312 true sha1 true true true true false
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 true -1 true
3.11:统计跟踪链组件
20
Heritrix源码分析(二) 配置文件order.xml介绍
Heritrix源码分析(三) 修改配置文件order.xml加快你的抓取速度 - 真人假...
Heritrix源码分析(八) Heritrix8个处理器(Processor)介绍 - ...
22Heritrix源码分析(七) Heritrix总体介绍 - 真人假天下 - JavaEy...
Heritrix源码分析(七) Heritrix总体介绍 - 真人假天下 - JavaEy...
Heritrix源码分析(四) 各个类说明(二) - 真人假天下 - JavaEye技术网...
Heritrix源码分析(六) Heritrix的文件结构分析 - 真人假天下 - Jav...
Heritrix源码分析(四) 各个类说明(一) - 真人假天下 - JavaEye技术网...
benafactory.xml bean工程配置文件
xing o log4j配置文件(xml版)
Struts2的配置文件——struts.xml
Log4cxx配置文件介绍
Linux 配置文件介绍
Ant下build.xml介绍
Tomcat启动分析server.xml
Linux下常用配置文件及常用命令介绍
中国XML论坛--XSL语法介绍
Struts2配置文件详解——struts-default.xml - StarStream的日志 - 网易博客
Mongodb源码分析--Mongos
MapReduce源码分析总结
GEF源码分析(二) 模拟GEF设计思路,解剖GEF 1
xml webservice完全实例解析(二)1
Mongodb源码分析--消息(message)
分享 二个 查看apk中xml的工具