当前位置: 首页 > 工具软件 > Heritrix > 使用案例 >

【Heritrix 02】Heritrix包介绍

刁冠宇
2023-12-01
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                                扩展的其他包,待研究  
     * */

}
 类似资料: