Heritrix整体概述(转).doc_第1页
Heritrix整体概述(转).doc_第2页
Heritrix整体概述(转).doc_第3页
Heritrix整体概述(转).doc_第4页
Heritrix整体概述(转).doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Heritrix源码分析(一) 包介绍之前说过要分享下我的爬虫经验,但一直找不到突破口,现在才感觉写点东西真的很难,所以大家真的要感谢那些无私的前辈们,在网上留下的一篇篇可以指点迷津的文章。 想了很久,还是先从Heritrix的包开始说起,然后再说类,最后讲下如何加工Heritrix,也就是将其打造成自己想要的爬虫,这里补充下,我用的版本是1.14.3. 同时欢迎加入我建的Heritrix爬虫群一起讨论学习: 10447185 序号 包名 说明 1 mons.httpclient 封装了apache的httpclient用于Fetch网页内容 2mons.httpclient.cookie封装了apache的httpclient用于Fetch网页内容,这里主要处理Cookie 3mons.pool.impl封装了apache的httpclient用于Fetch网页内容,还待研究 4org.archive.crawlerHeritrix程序运行的入口包,如Heritrix运行可以直接抓取 5org.archive.crawler.adminHeritrix的管理包,比如CrawlJob表示一个抓取任务job,CrawlJobHandler管理JOB,以及日志统计等 6org.archive.crawler.admin.ui服务于UI管理界面,如Job参数的设置 7org.archive.crawler.datamodelHeritrix的数据模型包,如在Heritrix中代表一个URL的CandidateURI 8org.archive.crawler.datamodel.credential管理Heritrix数据模型中的凭证,如抓取某些网站需要用户名和密码 9org.archive.crawler.deciderulesHeritrix的规则包,如决定哪些URL可以抓取可以调度 10org.archive.crawler.deciderules.recrawl还待研究,应该是决定哪些URL需要重新抓取 11org.archive.crawler.event事件管理,如Heritrix的暂停、重启、停止等 12org.archive.crawler.extractorHeritrix的造血器,通过它抽取新的URL再次进行抓取 13org.archive.crawler.fetcherHeritrix的获取包,如获取HTTP、DNS、FTP数据 14org.archive.crawler.filterHeritrix的过滤器,如配合Rule过滤一些不要的URL 15org.archive.crawler.frameworkHeritrix的框架包,存放一些核心类,一般是父类,如Heritrix控制类CrawlController;调度器类Frontier 16org.archive.crawler.framework.exceptionsHeritrix框架异常包,通常这里的异常抛出会导致Heritrix的停止 17org.archive.crawler.frontierHeritrix的调度器,决定抓取哪个URL 18org.archive.crawler.ioHeritrix的IO格式包,感觉取名不合理,这里只是定义一些格式,如统计数据的格式,错误日志的格式 19org.archive.crawler.postprocessor辅助处理器包,感觉取名也不合理,这里只是对处理URL前后进行一些处理,如URL重定向 20org.archive.crawler.prefetchHeritrix的预处理器包,如确定一个URL是否已经解析了DNS 21cessor还没接触到,待研究 22cessor.recrawl还没接触到,待研究 23org.archive.crawler.scopeHeritrix抓取范围管理,如种子 24org.archive.crawler.selftest管理Heritrix的Web工程self.war 25org.archive.crawler.settings管理Heritrix配置文件order.xml中的各项配置 26org.archive.crawler.settings.refinements管理Heritrix自己对数据格式的标准,如时间格式 27org.archive.crawler.url还没怎么接触到,待研究 28org.archive.crawler.url.canonicalizeHeritrix的URL规范化,用于规范每一个URL 29org.archive.crawler.utilHeritrix用于抓取的工具包,如BDB操作工具,IO操作工具 30org.archive.crawler.writerHeritrix的下载包,用于将抓取的URL内容写入硬盘 31org.archive.extractor还没接触到,待研究 32org.archive.httpclientHeritrix为结合httpclient量身打造的包,让自身更好的获取网页内容 33org.archive.ioHeritrix的IO包,自己封装的一些IO操作类 34org.archive.io.arc针对arc格式的IO操作包 35org.archive.io.warc针对warc格式的IO操作包 36Heritrix扩展了的包,主要扩展.URI类 37.md5Heritrix对URL MD5加密包,所用不多,待研究 38.rsync还没接触到,待研究 39.s3还没接触到,待研究 40org.archive.queue还没接触到,待研究 41org.archive.uidHeritrix ID管理,主要针对URI 42org.archive.util整个Heritrix的工具类 43org.archive.util.anvl还没接触到,待研究 44org.archive.util.bdbjeHeritrix对BDB的封装 45org.archive.util.fingerprint还没接触到,待研究 46org.archive.util.iteratorHeritrix自身封装的迭代器 47org.archive.util.ms还没接触到,待研究 48st.ata.util扩展的其他包,待研究 Heritrix自己的包有48个之多,还有它导入的第三方包也有30多个,可见其复杂性.Heritrix源码分析(二) 配置文件order.xml介绍order.xml是整个Heritrix的核心,里面的每个一个配置都关系到Heritrix的运行情况,没读源码之前我只能从有限的渠道去获知这些配置的运用.读完之后才知道Heritrix竟然有如此灵活的运用,如可以控制抓取速度,可以优化电脑性能,可以在某一次的抓取上继续抓取.当然整个order.xml里我也没有全部掌握,只知道大部分配置的作用,希望大家指点改正以及补充,谢谢!1. 代表着该抓取JOB的元素,相当于Html的meta Xml代码 1. 2. myheritrix3. myheritrix4. Admin5. 6. 7. 20090520051654 myheritrix my heritrix Admin 20090520051654 Xml代码 1. 2. 跟抓取有关的所有参数,由于内容较多,并且Heritrix也已将他们分成不同模块,所以这里我也将他们拆分来说明.Xml代码 1. 2. settings3. 4. logs5. checkpoints6. state7. scratch8. 09. 010. 011. 3012. 409613. 6553614. 015. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. settings logs checkpoints state scratch 0 0 0 30 4096 65536 0 3.接下来拆分每个组件的配置文件一一进行说明,最后对Heritrix主要的配置也就是我们可以影响抓取的配置进行说明。 3.1:抓取范围 Xml代码 1. 2. false3. seeds.txt4. true5. 6. 7. 8. 9. 10. ACCEPT11. 12. true13. 14. false15. true16. 17. 18. 2019. 20. 21. 322. 123. 24. 25. 226. 27. 28. 2029. 30. 31. 32. 33. 34. false seeds.txt true ACCEPT true false true 20 3 1 2 20 3.2: HTTP协议 Xml代码 1. 2. Mozilla/5.0(compatible;heritrix/1.14.3+)3. 4. Mozilla/5.0 (compatible; heritrix/1.14.3 +) 3.3:爬虫协议 Xml代码 1. 2. classic3. false4. 5. 6. 7. classic false 3.4:Frontier 调度器 Xml代码 1. 2. 4.03. 200004. 2000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论