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

Heritrix源码分析(一) 包介绍

阅读更多

本博客属原创文章,欢迎转载!但转载请务必注明出处:http://guoyunsky.iteye.com/blog/613249
欢迎加入Heritrix群(QQ):109148319

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

序号 包名                                   说明 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多个,可见其复杂性...

 

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

19
0
分享到:
评论
6 楼 whywen_MoJian 2013-03-03  
最近要学习heritrix,正好从这开始,感谢楼主。
5 楼 美丽的小岛 2012-03-05  
谢谢,博主提供这么好的学习方法与学习资源。
4 楼 agilesc 2011-09-30  
博主,有没有讨论luence和Solr的群。
3 楼 strawbingo 2010-07-12  
谢谢博主共享。

从这里开始学习,希望能跟博主学到更多知识,谢了。
2 楼 guoyunsky 2010-04-25  
yangfuchao418 写道
呵呵,楼主为何不从3.0开始分析起呢,现在已经有极大的变化了。可以说加入了好多核心

呵呵,饭要一口一口吃...
1 楼 yangfuchao418 2010-04-15  
呵呵,楼主为何不从3.0开始分析起呢,现在已经有极大的变化了。可以说加入了好多核心

相关推荐

    heritrix源码

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

    Heritrix1.14.4(含源码包)

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

    Heritrix源码分析

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

    Lucene+Heritrix 源码

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

    Heritrix 源码和Jar

    7. **源码分析**: 提供的`heritrix-1.14.4-src.zip`文件包含了Heritrix的源代码,这对于开发者来说是宝贵的资源。通过阅读源码,可以了解其内部工作原理,学习如何定制和扩展Heritrix的功能。 8. **开发与部署**...

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

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

    heritrix3.2源码

    Heritrix 3.2 源码的分析和理解有助于开发者深入掌握爬虫技术,定制自己的爬虫解决方案。 首先,让我们了解一下Heritrix 3.2 的核心特性: 1. **模块化设计**:Heritrix 3.2 采用组件化的架构,使得不同的爬取功能...

    heritrix-3.1.0 最新jar包

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

    Lucene 2.0+Heritrix源码【2】

    最后,"heritrixProject"很可能包含了Heritrix的配置和源码,用于自定义网络爬取的行为和范围。 总结起来,Lucene和Heritrix是构建高效网络搜索系统的关键组件。Lucene提供强大的全文索引和搜索能力,而Heritrix则...

    heritrix-1.14.4爬虫框架及源码

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

    Heritrix网络爬虫开发包

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

    lucene2.0+Heritrix配套源码

    《lucene2.0+Heritrix配套源码》是一个针对搜索引擎开发的资源包,包含了构建自定义搜索引擎所需的关键组件。Lucene是一个流行的全文搜索引擎库,而Heritrix则是一个强大的网页抓取工具,用于收集互联网上的数据。这...

    Heritrix资源包

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

    heritrix爬虫安装部署

    ### Heritrix爬虫安装部署知识点...通过以上详细介绍,我们不仅了解了Heritrix的基本概念和工作原理,还掌握了其安装部署的详细步骤以及如何运行示例项目。这对于初次接触Heritrix的用户来说是非常有价值的参考资料。

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

    1. **启动与安装**: 首先,你需要下载Heritrix的源码或预编译的二进制包,根据系统环境进行安装。安装完成后,通过命令行启动Heritrix,如在Java环境中使用`java -jar heritrix.jar`。 2. **配置文件结构**: ...

    heritrix 的详细配置 与 使用资料

    Heritrix 是一个开源的网络爬虫工具,用于抓取网页并进行深度索引或分析。在配置和使用 Heritrix 时,有几个关键步骤和注意事项需要了解。 首先,要开始配置 Heritrix,你需要从官方网站下载源码包(如 heritrix ...

    heritrix爬虫工具的使用

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

    网络爬虫(heritrix)代码

    在提供的文件列表中,`wherespider_1.0.4.0_source`可能就是这个源码包。 2. **构建项目**:安装Java开发环境(如JDK),然后使用Maven或Ant等构建工具编译源码,生成可执行的jar文件。 3. **配置**:Heritrix的工作...

    Heritrix在Windows下的运行

    你可以从Heritrix的官方网站或GitHub仓库获取最新版本的源代码或预编译的二进制包。下载完成后,将其解压缩到你选择的目录。通常,解压后的文件夹包含`bin`、`conf`、`lib`等子目录。 3. **配置Heritrix**: 在`...

Global site tag (gtag.js) - Google Analytics