【Heritrix 02】Heritrix包介绍
2016-07-19 15:40
246 查看
package heritrix; public class heritrixSourceAnalyzer01 { public static void main(String[] args) { System.out.println("Heritrix源码解读!"); } /* * ----------------------------------【Heritrix包介绍】------------------------------------------ * 先从Heritrix的包开始说起,然后再说类,最后讲下如何加工Heritrix,也就是将其打造成自己想要的爬虫, * heritrix版本:1.14.4. * * 序号 包名 说明 * 1 org.apache.commons.httpclient 封装了apache的httpclient用于Fetch网页内容 * 2 org.apache.commons.httpclient.cookie 封装了apache的httpclient用于Fetch网页内容,这里主要处理Cookie * 3 org.apache.commona.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 heritrix用于解析网页,获取爬去到的链接的内容 * 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 扩展的其他包,待研究 * */ }
相关文章推荐
- 从源码安装Mysql/Percona 5.5
- 浅析Ruby的源代码布局及其编程风格
- asp.net 抓取网页源码三种实现方法
- JS小游戏之仙剑翻牌源码详解
- JS小游戏之宇宙战机源码详解
- 深入浅析knockout源码分析之订阅
- jQuery源码分析之jQuery中的循环技巧详解
- 本人自用的global.js库源码分享
- java中原码、反码与补码的问题分析
- ASP.NET使用HttpWebRequest读取远程网页源代码
- PHP网页游戏学习之Xnova(ogame)源码解读(六)
- C#获取网页HTML源码实例
- PHP网页游戏学习之Xnova(ogame)源码解读(八)
- PHP网页游戏学习之Xnova(ogame)源码解读(四)
- 深入理解PHP之源码目录结构与功能说明
- JS小游戏之极速快跑源码详解
- JS小游戏之象棋暗棋源码详解
- android源码探索之定制android关机界面的方法
- 基于Android设计模式之--SDK源码之策略模式的详解
- Android游戏源码分享之2048