Heritrix源码分析 配置文件order.xml介绍
order.xml是整个Heritrix的核心,里面的每个一个配置都关系到Heritrix的运行情况,没读源码之前我只能从有限的渠道去获知这些配置的运用.读完之后才知道Heritrix竟然有如此灵活的运用,如可以控制抓取速度,可以优化电脑性能,可以在某一次的抓取上继续抓取.当然整个order.xml里我也没有全部掌握,只知道大部分配置的作用,希望大家指点改正以及补充,谢谢!
-
<meta></meta> 代表着该抓取JOB的元素,相当于Html的meta
2.<controller></controller> 跟抓取有关的所有参数,由于内容较多,并且Heritrix也已将他们分成不同模块,所以这里我也将他们拆分来说明.
- <meta> <name>myheritrix</name> <!-- Heritrix抓取JOB的名字,由用户输入,用来区分不同的抓取JOB,Heritrix没有默认值 -->
- <description>my heritrix</description> <!-- Heritrix抓取JOB的描述,由用户输入,用来描述该抓取JOB,Heritrix没有默认值--> <operator>Admin</operator> <!--Heritrix抓取JOB的操作者,由用户输入,Heritrix没有默认值 -->
- <organization></organization> <!--Heritrix抓取JOB的操作者所属组织,由用户输入,Heritrix没有默认值,可以为空 --> <audience></audience> <!--Heritrix抓取JOB的用户或客户,由用户输入,Heritrix没有默认值,可以为空 -->
- <date>20090520051654</date> <!--提交该Heritrix抓取JOB的时间,由系统生成 -->
- </meta>
- <controller> <string name="settings-directory">settings</string> <!-- Heritrix的顶级目录 -->
- <string name="disk-path"></string><!-- order.xml所在目录,单个Heritrix实例的目录 --> <string name="logs-path">logs</string><!-- 用于保存Heritrix的日志文件,可以是绝对路径,也可以是相对路径,相对路径是相对于disk-path-->
- <string name="checkpoints-path">checkpoints</string><!-- 用于保存checkpoints(定点备份)文件的目录, 可以是绝对路径,也可以是相对路径,相对路径是相对于disk-path--> <string name="state-path">state</string> <!-- 用于保存crawler-state文件的目录,,可以是绝对路径,也可以是相对路径,相对路径是相对于disk-path -->
- <string name="scratch-path">scratch</string> <!-- 用于保存网页内容临时文件的目录,,可以是绝对路径,也可以是相对路径,相对路径是相对于disk-path--> <long name="max-bytes-download">0</long> <!-- 最大下载字节数,当下载字节超出该值爬虫将停止下载。如果该值为0则表示没有限制-->
- <long name="max-document-download">0</long> <!-- 最大文档下载数,当下载文档超出该值时爬虫将停止下载。如果该值为0则表示没有限制--> <long name="max-time-sec">0</long> <!-- 最大时间抓取(秒),如果抓取时间超过该值,则爬虫将停止抓取。如果该值为0则表示没有限制-->
- <integer name="max-toe-threads">30</integer> <!-- 最大线程数用于同时处理多个URI--> <integer name="recorder-out-buffer-bytes">4096</integer><!-- 每一个线程的输出缓冲区大小,也就是在内存里存放多大的字节数才写入到文件中-->
- <integer name="recorder-in-buffer-bytes">65536</integer><!-- 每一个线程的输入缓冲区大小,也就是在内存里存放多大的字节数才写入到文件中--> <integer name="bdb-cache-percent">0</integer> <!--分配给DBB缓存堆的百分比,默认为0则表示没有其他要求(通常BDB是需要60%或者是最大值) -->
- <newObject name="scope" class="org.archive.crawler.deciderules.DecidingScope"><!-- 抓取范围,构造CrawlScope,等下拆分来说明--> </newObject>
- <map name="http-headers"><!-- HTTP协议,当处理爬虫HTPTP协议时需要构造,等下拆分说明--> </map>
- <newObject name="robots-honoring-policy" class="org.archive.crawler.datamodel.RobotsHonoringPolicy"><!--Robots.txt协议控制,等下拆分来说明 --> </newObject>
- <newObject name="frontier" class="org.archive.crawler.frontier.BdbFrontier"><!-- Frontier 调度器,等下拆分来说明-- > </newObject>
- <map name="uri-canonicalization-rules"> <!-- URL规范化规则,URL规范化规则有序列表,规则适用于从上至下列出的顺序,等下拆分来说明--> </map>
- <map name="pre-fetch-processors"> <!--预先处理链,在抓取前需要从网络获取或配置相关参数,等下拆分来说明 --> </map>
- <map name="fetch-processors"> <!-- 获取链,等下拆分来说明 --> </map>
- <map name="extract-processors"> <!-- 抽取链,等下拆分来说明 --> </map>
- <map name="write-processors"> <!--写链,等下拆分来说明 --> </map>
- <map name="post-processors"> <!-- 请求链:清理URI和在URI范围内填充新的URI ,等下拆分来说明--> </map>
- <map name="loggers"> <!-- 统计跟踪链.统计跟踪模块,指定用于监视抓取和写日志,以及报告和提供信息给用户接口,等下拆分来说明--> </map>
- <newObject name="credential-store" class="org.archive.crawler.datamodel.CredentialStore"><!--凭证存储,如登陆凭证,等下拆分来说明 --> </newObject>
- </controller>
顶(0)
踩(0)
- 最新评论
