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

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

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

每通过Heritrix运行一次抓取后,发现在该Job目录下就会有很多文件。这里说明下每个文件的作用,同时更主要介绍它的日志文件,因为我们可以通过日志文件发现Heritrix的抓取情况。首先贴个图:

        以上就是Heritrix完成的文件结构,现在一一说明

序号 文件名 说明
1 order.xml Heritrix运行的所有配置,一个order.xml就代表一个抓取任务
2 seeds.txt 种子文件,Heritrix从里面的URL开始抓取
3 state Heritrix采用BDB去保存URL,这个目录就是bdb目录
4 scratch 保存网页内容,每一个URL网页内容都对应一对ris和ros文件
5 logs 保存了Heritrix抓取时的日志,会这种介绍。可以从这些日志文件挖掘抓取情况
6 checkpoints 等同于数据库的checkpoint,Heritrix可以设置定时,然后定时备份其所有文件,也就是这里介绍的所有文件。同时在做这个操作的时候Heritrix暂停所有抓取.
7 seeds-report.txt 种子抓取汇报,主要针对seeds.txt里的种子URL做个说明。等下会详细说明...
8 responsecode-report.txt 抓取URL的服务器响应代码以及该代码的URL个数。等下会详细说明...
9 processors-report.txt 每个处理器的抓取报告,等下会详细说明
10 mimetype-report.txt 网页类型抓取汇报,等下会详细说明
11 frontier-report.txt 调度器处理报告,等下会详细说明
12 crawl-report.txt 抓取汇报,等下会详细说明
13 crawl-manifest.txt 里面包含了Heritrix涉及到的文件
14 hosts-report.txt 域抓取汇报,等下会详细说明

现在重点说明一下Heritrix的所有日志文件:

 1.抓取汇报文件:crawl-report.txt
                    抓取名字:Crawl Name
                    抓取状态:Crawl Status
                    抓取用时:Duration Time
                    成功抓取的种子数:Total Seeds Crawled    
                    没有抓取的种子数:Total Seeds not Crawled 
                    共抓取的host个数:Total Hosts Crawled
                    共抓取的文档数(URL数):Total Documents Crawled
                    处理速度(文档/秒):Processed docs/sec
                    宽带速率(KB/秒):Bandwidth in Kbytes/sec
                    抓取的字节数:Total Raw Data Size in Bytes
                    共抓取的字节数:Novel Bytes: 11644599984 (11 GB)

2.调度器汇报:frontier-report.txt
                   1)队列描述:
                             处理中队列:IN-PROCESS QUEUES
                             准备队列:READY QUEUES
                             延迟队列:SNOOZED QUEUES
                             不在活动状态队列:INACTIVE QUEUES
                             退休队列:RETIRED QUEUES
                   2)属性描述:
                              queue:队列ID,为class key
                              currentSize:当前队列包含URL个数
                              totalEnqueues:进入该队列的URL个数
                              sessionBalance:预算值
                              lastCost:上一个URL所花费成本
                              (averageCost):平均成本
                              lastDequeueTime:上一个URL出队列的时间 
                              wakeTime:醒来的时间 
                              totalSpend/totalBudget:总花费 
                              errorCount:出现错误的URL个数 
                              lastPeekUri:上一个获取的URL 
                             lastQueuedUri:上一个进入队列的URL

3.抓取host汇报(按urls个数从大到小排序):hosts-report.txt
                  [#urls]:该host下URL个数
                  [#bytes]:该host下所抓取的字节数
                  [host]:host 
                  [#robots]:被爬虫协议拒绝的url个数
                  [#remaining]:剩下还未处理的URL个数

4.网页类型(一般为text/dns和text/html)抓取汇报:mimetype-report.txt
                  [#urls]:该网页类型的url个数
                  [#bytes]:该网页类型一共处理的字节数
                  [mime-types]:网页类型(text/dns和text/html)

5.处理器汇报:processors-report.txt
                 1)总体汇报:Processors report
                          Job being crawled:该JOB来源的JOB
                          Number of Processors:处理器个数,包括无效的处理器
                          NOTE:处理器说明
                 2)单个Processor汇报:
                          Processor:处理器名
                          Function:处理器功能
                          CrawlURIs handled:该处理器下处理的URL个数
                          Recovery retries:
                          Links extracted:抽取出来的URL个数

  6.Http response汇报:responsecode-report.txt
                         [rescode]:Http response code
                                     1:请求http
                                     200:http成功相应
                                     302:暂时性重定向
                                     500:http服务器内部错误
                          [#urls]:是该code的URL个数

Heritrix源码分析(六) Heritrix的文件结构分析(转)的更多相关文章

  1. Heritrix源码分析(九) Heritrix的二次抓取以及如何让Heritrix抓取你不想抓取的URL

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/644396       本博客已迁移到本人独立博客: http://www.yun5u ...

  2. Heritrix源码分析(十三) Heritrix的控制中心(大脑)CrawlController(二)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/650744      本博客已迁移到本人独立博客: http://www.yun5u. ...

  3. Heritrix源码分析(七) Heritrix总体介绍(转)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/642794         本博客已迁移到本人独立博客: http://www.yun ...

  4. Heritrix源码分析(十一) Heritrix中的URL--CandidateURI和CrawlURI以及如何增加自己的属性(转)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/649889 本博客已迁移到本人独立博客: http://www.yun5u.com/ ...

  5. Heritrix源码分析(十) Heritrix中的Http Status Code(Http状态码)(转)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/649737       本博客已迁移到本人独立博客: http://www.yun5u ...

  6. phpcms 源码分析六:index文件

    这次是逆雪寒对index.php的分析: /* [/php] [ 本帖最后由 逆雪寒 于 2007-12-25 16:12 编辑 ] 尽量每天都有新的东西每天都能进一小步 现在开始讲 index.ph ...

  7. Heritrix源码分析(十四) 如何让Heritrix不间断的抓取(转)

    欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) :  118972724 本博客已迁移到本人独立博客: http://www.yun5u ...

  8. Heritrix源码分析(十四)

    近段时间在搞定Lucene的一些问题,所以Heritrix源码分析暂时告一段落.今天下午在群里有同学提到了Heritrix异常终止的问题以及让Heritrix不停的抓取(就是抓完一遍后载入种子继续抓取 ...

  9. angular源码分析:injector.js文件分析——angular中的依赖注入式如何实现的(续)

    昨天晚上写完angular源码分析:angular中jqLite的实现--你可以丢掉jQuery了,给今天定了一个题angular源码分析:injector.js文件,以及angular的加载流程,但 ...

随机推荐

  1. HDU 3790 最短路径问题(SPFA || Dijkstra )

    题目链接 题意 : 中文题不详述. 思路 :无论是SPFA还是Dijkstra都在更新最短路的那个地方直接将花费更新了就行,还有别忘了判重边,话说因为忘了判重边WA了一次. #include < ...

  2. 使用git整体流程

    一.git提交代码走meger请求的整体流程 工作中使用git推代码时,如果走merge请求,那么也就是说拉代码时拉公共代码库的代码,但是提交时需要先提交到自己的代码库,然后在gitlab上提交mer ...

  3. 数据库操作(ADO)

    QTP工具本身自带有数据查询和验证功能,但是使用的人会感觉这个功能使用起来比较麻烦,灵活性和复用性较低,于是我们选择了用脚本调用ADO组件实现数据库的操作,现总结下工作中用到的数据库操作,代码如下: ...

  4. 重温《js权威指南》 第4、5、6章

    第四章 表达式和运算符         4.2 对象和数组的初始化表达式                数组: []   [3,7] [1+2,3+4] [[1,2,3,],[4,5,6],[7,8, ...

  5. 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊

    1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...

  6. python 详解re模块

    正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可以理解成或的关系.^ 如果放在字 ...

  7. qt resize() 和 geometry()

    resize(),设置的部件客户区的大小.只有当该部件被show后才生效,即geomery() 返回的才是 resize() 的客户区大小.

  8. iOS:授权用户定位NSLocationManager的使用

    请求用户批准定位: 在iOS8,要想获得用户的位置,必须经过用户批准授权 开发者可以在Info.plist中添加两个配置项 –NSLocationAlwaysUsageDescription –NSL ...

  9. 浅谈ES5的const以及strict mode

    了解你使用的JavaScript版本是很重要的,因为不同版本的JavaScript对某些语法或者特性的支持情况是不一样的,下面就来举一些例子来说明一下.首先来看一下const关键字,学过比如Java, ...

  10. linux kernel文件系统启动部分

    现在的kernel里,有个叫做ramfs的文件系统,会把initrd(或者ramdisk,为惯性叫法)里的东西挂载到early-rootfs里(即rootfs,是ramfs的一个特殊实例),执行一些在 ...