`
fly1206
  • 浏览: 57080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

网络爬虫Heritrix源码分析(一) 包介绍

阅读更多

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

      之前说过要分享下我的爬虫经验,但一直找不到突破口,现在才感觉写点东西真的很难,所以大家真的要感谢那些无私的前辈们,在网上留下的一篇篇可以指点迷津的文章。
想了很久,还是先从Heritrix的包开始说起,然后再说类,最后讲下如何加工Heritrix,也就是将其打造成自己想要的爬虫,这里补充下,我用的版本是1.14.3.
   

序号  包名                                    说明 
1    org.apache.commons.httpclient      封装了apache的httpclient用于Fetch网页内容 
2 org.apache.commons.httpclient.cookie 封装了apache的httpclient用于Fetch网页内容,这里主要处理Cookie 
3 org.apache.commons.pool.impl 封装了apache的httpclient用于Fetch网页内容,还待研究 
4 org.archive.crawler Heritrix程序运行的入口包,如Heritrix运行可以直接抓取 
5 org.archive.crawler.admin Heritrix的管理包,比如CrawlJob表示一个抓取任务job,CrawlJobHandler管理JOB,以及日志统计等 
6 org.archive.crawler.admin.ui 服务于UI管理界面,如Job参数的设置 
7 org.archive.crawler.datamodel Heritrix的数据模型包,如在Heritrix中代表一个URL的CandidateURI 
8 org.archive.crawler.datamodel.credential 管理Heritrix数据模型中的凭证,如抓取某些网站需要用户名和密码 
9 org.archive.crawler.deciderules Heritrix的规则包,如决定哪些URL可以抓取可以调度 
10 org.archive.crawler.deciderules.recrawl 还待研究,应该是决定哪些URL需要重新抓取 
11 org.archive.crawler.event 事件管理,如Heritrix的暂停、重启、停止等 
12 org.archive.crawler.extractor Heritrix的造血器,通过它抽取新的URL再次进行抓取 
13 org.archive.crawler.fetcher Heritrix的获取包,如获取HTTP、DNS、FTP数据 
14 org.archive.crawler.filter Heritrix的过滤器,如配合Rule过滤一些不要的URL 
15 org.archive.crawler.framework Heritrix的框架包,存放一些核心类,一般是父类,如Heritrix控制类CrawlController;调度器类Frontier 
16 org.archive.crawler.framework.exceptions Heritrix框架异常包,通常这里的异常抛出会导致Heritrix的停止 
17 org.archive.crawler.frontier Heritrix的调度器,决定抓取哪个URL 
18 org.archive.crawler.io Heritrix的IO格式包,感觉取名不合理,这里只是定义一些格式,如统计数据的格式,错误日志的格式 
19 org.archive.crawler.postprocessor 辅助处理器包,感觉取名也不合理,这里只是对处理URL前后进行一些处理,如URL重定向 
20 org.archive.crawler.prefetch Heritrix的预处理器包,如确定一个URL是否已经解析了DNS 
21 org.archive.crawler.processor 还没接触到,待研究 
22 org.archive.crawler.processor.recrawl 还没接触到,待研究 
23 org.archive.crawler.scope Heritrix抓取范围管理,如种子 
24 org.archive.crawler.selftest 管理Heritrix的Web工程self.war 
25 org.archive.crawler.settings 管理Heritrix配置文件order.xml中的各项配置 
26 org.archive.crawler.settings.refinements 管理Heritrix自己对数据格式的标准,如时间格式 
27 org.archive.crawler.url 还没怎么接触到,待研究 
28 org.archive.crawler.url.canonicalize Heritrix的URL规范化,用于规范每一个URL 
29 org.archive.crawler.util Heritrix用于抓取的工具包,如BDB操作工具,IO操作工具 
30 org.archive.crawler.writer Heritrix的下载包,用于将抓取的URL内容写入硬盘 
31 org.archive.extractor 还没接触到,待研究 
32 org.archive.httpclient Heritrix为结合httpclient量身打造的包,让自身更好的获取网页内容 
33 org.archive.io Heritrix的IO包,自己封装的一些IO操作类 
34 org.archive.io.arc 针对arc格式的IO操作包 
35 org.archive.io.warc 针对warc格式的IO操作包 
36 org.archive.net Heritrix扩展了java.net的包,主要扩展java.net.URI类 
37 org.archive.net.md5 Heritrix对URL MD5加密包,所用不多,待研究 
38 org.archive.net.rsync 还没接触到,待研究 
39 org.archive.net.s3 还没接触到,待研究 
40 org.archive.queue 还没接触到,待研究 
41 org.archive.uid Heritrix ID管理,主要针对URI 
42 org.archive.util 整个Heritrix的工具类 
43 org.archive.util.anvl 还没接触到,待研究 
44 org.archive.util.bdbje Heritrix对BDB的封装 
45 org.archive.util.fingerprint 还没接触到,待研究 
46 org.archive.util.iterator Heritrix自身封装的迭代器 
47 org.archive.util.ms 还没接触到,待研究 
48 st.ata.util 扩展的其他包,待研究             

 

Heritrix自己的包有48个之多,还有它导入的第三方包也有30多个,可见其复杂性...

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoyunsky/archive/2010/05/04/5557460.aspx

分享到:
评论

相关推荐

    heritrix源码

    这个“Heritrix源码”压缩包可能包含了Heritrix项目的完整源代码,以及相关的学习资料,对于深入理解Heritrix的工作原理、定制爬虫功能以及进行二次开发非常有帮助。以下将详细介绍Heritrix的关键知识点。 1. **...

    Heritrix网络爬虫开发包

    Heritrix是一款强大的开源网络爬虫工具,专为大规模网页抓取而设计。它由互联网档案馆(Internet Archive)开发,旨在系统性地、可扩展地抓取互联网上的信息资源,为研究人员、数据分析师和图书馆员等用户提供丰富的...

    网络爬虫(heritrix)代码

    在本主题中,我们重点关注Heritrix,一个开源、可配置且强大的网络爬虫工具,广泛用于构建搜索引擎和其他需要大量网页数据的应用。 标题中的"网络爬虫(heritrix)代码"意味着我们将探讨Heritrix的安装、配置和编程...

    Heritrix1.14.4(含源码包)

    4. **源码编译与运行**:下载Heritrix 1.14.4的源码包后,首先需要一个Java开发环境(JDK),因为Heritrix是用Java编写的。然后,使用Maven或Ant等构建工具进行编译,最后通过Java命令运行编译后的类。 5. **使用...

    Heritrix源码分析

    通过对这些包的分析,我们可以看到Heritrix是一个高度模块化和可定制的爬虫。每个组件都有明确的职责,这使得Heritrix能够适应各种复杂的网络抓取需求。深入理解这些源码,有助于开发者定制自己的爬虫策略,实现特定...

    heritrix-1.14.4爬虫框架及源码

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

    heritrix爬虫安装部署

    Heritrix是一款由互联网档案馆(Internet Archive)开发的开源网络爬虫框架,它使用Java语言编写,支持高度定制化的需求。Heritrix的设计初衷是为了满足大规模网页归档的需求,但因其灵活的架构和丰富的API,也被广泛...

    爬虫heritrix资料

    1. **安装与配置**:首先,你需要下载Heritrix源码或预编译的二进制包,然后根据文档配置启动脚本。配置文件`crawld.xml`是核心,包含了爬虫的所有设置。 2. **设定种子URL**:种子URL是爬虫开始爬取的起点,你可以...

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

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

    Heritrix爬虫源码

    Heritrix是一款开源的、可定制的网络爬虫软件,由Internet Archive开发并维护,用于大规模地抓取互联网上的网页信息。它具有高度模块化和灵活性的特点,允许开发者根据需要调整和扩展其功能,以便适应各种不同的爬取...

    heritrix3.2源码

    在下载的压缩包中,`爬虫heritrix.doc` 可能是关于Heritrix 3.2 的使用指南或文档,包含了详细的配置说明、操作教程和常见问题解答。阅读这份文档可以帮助我们更好地理解和使用Heritrix。 `heritrix-3.2.0-SNAPSHOT...

    Lucene+Heritrix 源码

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

    开源的爬虫软件Heritrix3.1.0

    Heritrix是一款强大的开源网络爬虫软件,专为大规模网页抓取而设计。这款软件以其灵活性、可扩展性和模块化架构而闻名,被广泛应用于学术研究、数据分析、搜索引擎索引构建等多个领域。Heritrix 3.1.0是其最新的稳定...

    Heritrix 源码和Jar

    Heritrix是一款开源的网络爬虫工具,由Internet Archive开发并维护,用于抓取和保存互联网上的网页。这款工具的设计目标是提供一个可扩展、可配置的平台,以适应各种爬网需求。Heritrix的核心功能包括URL调度、网页...

    heritrix-3.1.0 最新jar包

    总结来说,Heritrix 3.1.0 是一款功能强大、可定制的网络爬虫工具,适用于学术研究、数据分析、网站存档等多种场景。无论是对互联网数据的需求者还是开发者,都可以通过这个jar包和源代码深入理解网络爬虫技术,并...

    heritrix爬虫工具的使用

    Heritrix是一款开源的网络爬虫工具,由互联网档案馆(Internet Archive)开发,用于抓取互联网上的网页和资源。这个强大的工具允许用户自定义抓取策略,以便于构建自己的网络数据采集系统。Heritrix提供了高度可配置...

    Lucene 2.0+Heritrix源码【2】

    Heritrix,另一方面,是互联网档案馆开发的一款开放源代码的网络抓取工具,它是一个高度可配置的爬虫,用于系统性地抓取和保存互联网上的网页。Heritrix允许用户定义复杂的抓取策略,包括设置URL过滤规则、重试机制...

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

    1. **网络爬虫原理**:Heritrix是一个可配置的、可扩展的网络爬虫,它按照预设的策略抓取网页。它的工作流程包括种子URL的设定、链接发现、HTTP请求处理、内容解析和存储。 2. **配置与定制**:Heritrix提供了一套...

    heritrix-3.2.0 源码

    Heritrix 3.2.0 是一个开源的网络爬虫工具,专为大规模、可扩展的互联网数据抓取设计。这款爬虫软件由互联网档案馆(Internet Archive)开发,旨在帮助用户系统地抓取、存储和归档互联网上的网页。源码的提供对于...

Global site tag (gtag.js) - Google Analytics