知识点

相关文章

更多

最近更新

更多

Heritrix源码分析(六) Heritrix的文件结构分析

2019-03-27 01:06|来源: 网路

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

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

       每通过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个数


转自:http://www.cnblogs.com/loveyakamoz/archive/2011/11/26/2264534

相关问答

更多
  • 1.下载heritrix-1.14.1.zip和heritrix-1.14.1.src 并解压,解压heritrix-1.14.1.jar. 2.在eclipse下创建java project,命名为比如heritrix,进入其工程的目录,我的是F:\workspace\myeclipse\heritrix,删除src文件夹。 3.copy解压后的heritrix-1.14.1.zip文件夹下的lib,webapps,heritrix-1.14.1到F:\workspace\myeclipse\heritr ...
  • 问题是地址被占用,一是通过cmd查看端口使用(命令:netstat -ao),关闭占用的应用程序后再运行,二是更改自己使用的地址至空闲地址。我也是初学者,不一定对,试试吧~
  • jquery 源码 分析[2022-08-08]

    看完之后对对象和原型的理解帮助会非常大。 但最好等用jquery比较熟悉之后再看源码,那么会对理解比较有好处,也会比较容易看懂。 最好从jquery核心处开始看,看懂$.fn.init以及基本方法之后再看别的$.extend的时候就比较容易了。
  • 关于内核的书不在多,而是要精,强烈推荐 《Linux内核设计与实现》,英文名Linux Kernel Development,机械工业出版社,¥35, 美国Robert Love著,陈莉君译。 此书是当今首屈一指的入门最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是很权威的。对没怎么深入内核的人来说,这是强烈推荐的一本书。
  • 不好意思,我现在才看到消息, 我会尽快发到您的邮箱的。
  • 谁说入口就一定是WinMain?很多自定义入口,而且控制台程序默认入口为main,对于MFC的入口,实际上他也是从WinMain开始的,只是WinMain并不在程序中显示,你去查一下头文件就知道了,或者在头文件WinMain设置断点,实际上他还会断在WinMain上,另外好像还有一个AfxMain,我忘记了你自己看头文件
  • 登录的,建议你用jsoup带着cookie进去。 动态的,建议你用htmlunit。 webmagic和jsoup都很好学。有时间学学,虽然不是必会,但是这种小工具说不定什么时候就用得上。
  • 你需要在Modules页面中将ARCWriterProcessor这项,修改成MirrorWriterProcessor才会保存为镜像文件的。 如果你在Modules页面中不能选择,需要在Eclipse里面设置conf为Classpath( 在Eclipse的Run Dialog中,Classpath标签Table,选中User Entries,然后右边会有Advance选项,选Add External Folder,把你的Conf加进去就行了)
  • 需要用正则表达式来过滤到你不想要的东西,抓取和过滤的原理是一样的,就是具有共性的头和尾,把中间部分抓出来. 正则表达式在抓取中应用比较多,也可以称之为一种规则,你抓取内容要按照一定的规则来抓取,无用的你还得按照一定的规则过滤.
  • 我还在Heritrix表单上提出了这个问题: http : //tech.groups.yahoo.com/group/archive-crawler/message/8235和Noah Levitt有想法将登录页面添加为我的爬行种子。 现在一切似乎都没有太多问题。 我的结论是我在配置文件中正确设置了所有内容,但是缺少了我需要的实际页面种子。 I also asked this question on the Heritrix forms: http://tech.groups.yahoo.com/grou ...