本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/629891
本博客已迁移到本人独立博客: http://www.yun5u.com/
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 |