`
guoyunsky
  • 浏览: 859959 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:207363
Group-logo
SQL的MapReduce...
浏览量:0
社区版块
存档分类
最新评论

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

阅读更多

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

       欢迎加入Heritrix群(QQ):109148319

 

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

 

更多技术文章、感悟、分享、勾搭,请用微信扫描:

  • 大小: 49.4 KB
5
1
分享到:
评论
1 楼 strawbingo 2010-07-12  
谢谢分析的这么详细

相关推荐

    Heritrix源码分析

    本文将深入探讨Heritrix的源码结构,帮助读者理解其内部工作原理。 首先,我们来了解Heritrix的核心包及其功能: 1. `org.apache.commons.httpclient`:这个包封装了Apache HttpClient库,它是Heritrix获取网页...

    Lucene+Heritrix 源码

    **Lucene 和 Heritrix 源码分析** 在IT领域,搜索引擎的开发是一项复杂而重要的任务,它涉及到大量的文本处理、索引构建以及高效的查询算法。Lucene 和 Heritrix 是两个开源工具,分别专注于搜索的核心算法和网页...

    heritrix的学习-源码分析 1-10

    ### Heritrix源码分析知识点概述 #### 一、Heritrix简介 Heritrix是一款开源的网络爬虫工具,由Internet Archive开发并维护。它主要用于网页归档和大规模网络爬取任务。Heritrix的设计理念是高度可配置性和扩展性,...

    heritrix-1.14.4爬虫框架及源码

    源码分析对于理解Heritrix的工作原理至关重要。通过对源码的阅读,我们可以了解其内部架构,包括线程模型、数据流控制和模块间的通信机制。例如,Heritrix采用多线程设计,每个组件如fetcher、parser和archiver都在...

    heritrix-3.1.0 最新jar包

    源码中包含了完整的项目结构,如`src/main/java`存放Java源代码,`src/main/resources`存储资源配置,以及`pom.xml`,这是Maven的项目对象模型,用于构建和管理项目依赖。 Heritrix 的核心功能和知识点: - **模块...

    heritrix正确完整的配置heritrix正确完整的配置

    2. **配置文件结构**: Heritrix的配置基于XML文件,主要包含`job.xml`(作业配置)、`engine.xml`(引擎配置)和各种模块的配置文件。理解这些文件的结构和作用是配置Heritrix的基础。 3. **作业配置** (`job.xml`)...

    heritrix-3.2.0 源码

    **源码分析步骤** 1. **阅读项目结构**:先大致浏览项目目录,了解各部分的主要功能和组织方式。 2. **深入核心类**:专注于主类、接口和关键组件,如`Crawler`、`Controller`、`Fetcher`、`Parser`等。 3. **跟踪...

    heritrix爬虫工具的使用

    Heritrix提供了高度可配置的体系结构,能够适应各种复杂的抓取需求。 在使用Heritrix之前,你需要了解以下几个核心概念: 1. **配置文件**:Heritrix的工作主要基于配置文件,这些文件定义了爬虫的行为,包括种子...

    heritrix系统使用.ppt

    用户需要下载Heritrix源码,然后按照提供的指南进行编译和安装。配置主要包括设定爬取范围,这可以通过修改`Modules`、`Submodules`和`Settings`来完成。例如,你可以使用正则表达式来限定抓取的URL模式,确保只抓取...

    网络爬虫(heritrix)代码

    3. **配置**:Heritrix的工作通过一系列的配置文件进行,包括种子文件(定义要抓取的起始URLs)、策略文件(定义爬取规则)等。 4. **运行**:使用命令行启动Heritrix,提供必要的配置参数。 **Heritrix使用与代码...

    Heritrix爬虫源码

    5. **数据存储**:抓取后的数据可以存储为本地文件、数据库或者云存储,便于后续的数据分析和处理。 6. **日志记录**:设置合适的日志级别和格式,监控爬取过程中的异常和性能,帮助优化爬虫效率。 通过研究这个...

    heritrix3.1

    源码分析: Heritrix 是由 Internet Archive 开发的开源项目,它基于 Java 语言,因此具备良好的跨平台性。源码主要分为 `src` 和 `dist` 两个部分: 1. `src` 目录:这是项目的源代码仓库,包含了所有模块的 Java ...

    Heritrix developer_manual

    文档中提到了获取和构建Heritrix的具体步骤,包括获取Heritrix源码、构建过程、运行指令以及与Eclipse集成和自测试的信息。文档强调了编码规范,指出Heritrix在SUN编码规范的基础上做了一些调整,比如对长变量名和...

    heritrix-1.14.0-src

    6. **日志和监控**:Heritrix提供详细的运行日志,便于分析爬虫性能和诊断问题。同时,它也支持通过JMX(Java Management Extensions)进行远程监控和管理。 在解压后的`heritrix-1.14.0`目录中,通常会包含以下...

    开源的爬虫软件Heritrix3.1.0

    2. **解压源码**:将`heritrix-3.1.0`压缩包解压到一个目录下。 3. **构建项目**:使用Maven或者Gradle(根据项目依赖管理工具)构建项目,生成可执行的jar文件。 4. **配置文件**:编辑配置文件,如`crawldirs....

    Heritrix资源包

    Heritrix的源码分析有助于开发者理解网络爬虫的工作原理,学习如何处理HTTP请求、解析HTML、管理URL队列以及存储和索引抓取的数据。 Lucene是Apache软件基金会的项目,它是Java最著名的全文检索库。Lucene提供了...

    Heritrix用户手册

    3. **Heritrix安装**:涵盖了下载源码、构建项目以及设置环境变量的步骤,还包括如何启动和停止Heritrix服务。 4. **Heritrix配置**:详细解释了如何配置Heritrix的各个方面,如爬取范围、存储位置、网络连接参数等...

    heritrix系统使用

    你需要下载Heritrix的源码或者预编译的版本,并根据官方文档的指引进行安装。安装完成后,可以通过命令行启动Heritrix,然后通过Web界面进行管理。 在Heritrix中,抓取指定网站如http://www.ccer.pku.edu.cn时,你...

    开发自己的搜索引擎lucene+heritrix(第2版)(ch10源码)

    本资料"开发自己的搜索引擎lucene+heritrix(第2版)(ch10源码)"专注于使用开源工具Lucene和Heritrix来构建一个自定义的搜索引擎系统。以下将详细介绍这两个工具及其在搜索引擎开发中的应用。 **Lucene** 是一个...

    开发自己的搜索引擎lucene+heritrix(第2版)(heritrixProject源码)

    "开发自己的搜索引擎lucene+heritrix(第2版)(heritrixProject源码)"是一个教程或者项目,旨在指导用户如何利用Apache Lucene和Heritrix这两个开源工具来构建自己的网络爬虫和全文搜索引擎。 Apache Lucene是一...

Global site tag (gtag.js) - Google Analytics