zoukankan      html  css  js  c++  java
  • Heritrix源码分析(三) 修改配置文件order.xml加快你的抓取速度(转)

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

          本博客已迁移到本人独立博客: http://www.yun5u.com/

        欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) :  118972724 

          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
  • 相关阅读:
    1061. 判断题(15)
    1070. 结绳(25)
    1069. 微博转发抽奖(20)
    1068. 万绿丛中一点红(20)
    1067. 试密码(20)
    DB2sql关键字——ALTER TABLE ....ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
    DB2系统内置——SYSCAT.TABLES 所有的字段说明
    DB2系统内置——db2日期和时间常用汇总
    Linux——下查找某个文件位置的方法
    Linux下清除tomcat缓存
  • 原文地址:https://www.cnblogs.com/seurain/p/3193574.html
Copyright © 2011-2022 走看看