`
guoyunsky
  • 浏览: 839456 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:203276
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啊。。不知道这样理解对否?

相关推荐

Global site tag (gtag.js) - Google Analytics