`
guoyunsky
  • 浏览: 865810 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:208576
Group-logo
SQL的MapReduce...
浏览量:0
社区版块
存档分类
最新评论

Heritrix源码分析(三) 修改配置文件order.xml加快你的抓取速度

阅读更多

           本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/629891

    欢迎加入Heritrix群(QQ):109148319

 

 

      Heritrix的order.xml分了很多组件,可以灵活的配置各个抓取参数。但很多人都关心如何使得抓取更快更久更多,这里首先从Heritrix自身着手吧,修改order.xml的一些参数其实也可以达到这一目的.

       下面就列出各个参数、说明和理想值

     

序号 配置名 理想值 说明
1 <long name="max-bytes-download">0</long> 0 最大下载字节数,就是当Heritrix抓取了多少字节后停止抓取0表示为无限制
2 <long name="max-document-download">0</long> 0 最大下载文档数,就是当Heritrix抓取了多少URL则停止抓取,0表示没有限制
3  <long name="max-time-sec">0</long>  3  抓取一个网页的最大时间(秒),超过了该时间则不抓取,0表示没有这个限制
4  <integer name="max-toe-threads">3</integer>  50  抓取的线程数,表示有多少个线程去抓取,一般50足够了
5  <float name="delay-factor">4.0</float>  1.0  如果从某个队列抓取一个URL花费N秒,则下次从该队列获取URL去抓取则要延迟N*该值
6  <integer name="max-delay-ms">20000</integer>  2000  队列的最大延迟时间,单位为毫秒
7  <integer name="min-delay-ms">2000</integer>  0  队列的最小延迟时间,单位为毫秒
8  <integer name="max-retries">30</integer>  5  URL抓取失败可以重试的次数,重试次数越少越好
9  <integer name="total-bandwidth-usage-KB-sec">0</integer>  0  总的 抓取速度(KB/秒)限制,0表示没有限制
10   <integer name="max-per-host-bandwidth-usage-KB-sec">0</integer>  0

 每个域名抓取速度(KB/S)限制,0表示没有限制

 

11 <integer name="target-ready-backlog">50</integer> 200 准备队列中待抓取的URL个数,这些URL无需经过队列等待可以立刻去抓取
12  <integer name="ip-validity-duration-seconds">21600</integer> 0 DNS有效时间(单位为秒),超过这个时间则要重新去获取DNS
13 <integer name="robot-validity-duration-seconds">86400</integer> 0 爬虫协议(robots.txt)有效时间,超过这个时间则要重新去读取robots.txt

 

更多技术文章、感悟、分享、勾搭,请用微信扫描:

7
0
分享到:
评论
2 楼 guoyunsky 2010-05-14  
fangqingan 写道
DNS的有效时间,不是应该越大越好吗??省的重新查找IP啊。。不知道这样理解对否?

的确是,但0表示不解析到DNS数据后就不再解析了...
1 楼 fangqingan 2010-05-14  
DNS的有效时间,不是应该越大越好吗??省的重新查找IP啊。。不知道这样理解对否?

相关推荐

    Heritrix3.0教程 使用入门(三) 配置文件crawler-beans.cxml介绍.docx

    相较于Heritrix 1.x的`order.xml`,`crawler-beans.cxml` 采用了Spring框架进行管理,以bean的形式定义了各种组件,提高了配置的灵活性和可维护性。 1. **simpleOverrides**:这个bean用于设置基本的爬取任务信息,...

    Heritrix源码分析

    20. `org.archive.crawler.settings`:管理配置文件`order.xml`,这是Heritrix的配置中心,定义了爬虫的行为和策略。 通过对这些包的分析,我们可以看到Heritrix是一个高度模块化和可定制的爬虫。每个组件都有明确...

    heritrix

    每种方式都会生成一个名为`order.xml`的描述文件,记录了Heritrix运行所需的所有信息,包括处理器类、前沿类、抓取线程数、连接超时时间等。 选择“With defaults”选项,Heritrix会复制默认的`order.xml`文件,该...

    AnyFo - Heritrix大力金刚指.doc

    2. **配置order.xml**:在任务目录下创建order.xml文件,这是Heritrix爬行任务的主要配置文件,包含爬行的元信息和设置。 【代码控制Heritrix】 对于更复杂的爬行需求,可以通过编写代码来控制Heritrix的行为: 1...

    Java爬虫技术框架之Heritrix框架详解

    1. **CrawlOrder**:定义了抓取任务的属性,可以基于默认的order.xml文件进行配置。 2. **CrawlScope**:决定了抓取的范围,控制哪些URL会被抓取。 3. **ProcessorChainList**:处理器链,包含一系列处理器,如...

Global site tag (gtag.js) - Google Analytics