Heritrix源码分析.doc_第1页
Heritrix源码分析.doc_第2页
Heritrix源码分析.doc_第3页
Heritrix源码分析.doc_第4页
Heritrix源码分析.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

Heritrix源码分析(一) 包介绍 分类: 搜索引擎 2012-06-10 16:25 41人阅读 评论(0) 收藏 举报 之前说过要分享下我的爬虫经验,但一直找不到突破口,现在才感觉写点东西真的很难,所以大家真的要感谢那些无私的前辈们,在网上留下的一篇篇可以指点迷津的文章。想了很久,还是先从Heritrix的包开始说起,然后再说类,最后讲下如何加工Heritrix,也就是将其打造成自己想要的爬虫,这里补充下,我用的版本是1.14.3. 同时欢迎加入我建的Heritrix爬虫群一起讨论学习: 10447185 序号包名说明1mons.httpclient封装了apache的httpclient用于Fetch网页内容2mons.httpclient.cookie封装了apache的httpclient用于Fetch网页内容,这里主要处理Cmons.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的CandidateURI8org.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过滤一些不要的URL15org.archive.crawler.frameworkHeritrix的框架包,存放一些核心类,一般是父类,如Heritrix控制类CrawlController;调度器类Frontier16org.archive.crawler.framework.exceptionsHeritrix框架异常包,通常这里的异常抛出会导致Heritrix的停止17org.archive.crawler.frontierHeritrix的调度器,决定抓取哪个URL18org.archive.crawler.ioHeritrix的IO格式包,感觉取名不合理,这里只是定义一些格式,如统计数据的格式,错误日志的格式19org.archive.crawler.postprocessor辅助处理器包,感觉取名也不合理,这里只是对处理URL前后进行一些处理,如URL重定向20org.archive.crawler.prefetchHeritrix的预处理器包,如确定一个URL是否已经解析了DNS21cessor还没接触到,待研究22cessor.recrawl还没接触到,待研究23org.archive.crawler.scopeHeritrix抓取范围管理,如种子24org.archive.crawler.selftest管理Heritrix的Web工程self.war25org.archive.crawler.settings管理Heritrix配置文件order.xml中的各项配置26org.archive.crawler.settings.refinements管理Heritrix自己对数据格式的标准,如时间格式27org.archive.crawler.url还没怎么接触到,待研究28org.archive.crawler.url.canonicalizeHeritrix的URL规范化,用于规范每一个URL29org.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管理,主要针对URI42org.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源码分析(二) 配置文件order.xml介绍 分类: 搜索引擎 2012-06-10 16:28 343人阅读 评论(0) 收藏 举报 文章转载自:/blog/613412order.xml是整个Heritrix的核心,里面的每个一个配置都关系到Heritrix的运行情况,没读源码之前我只能从有限的渠道去获知这些配置的运用.读完之后才知道Heritrix竟然有如此灵活的运用,如可以控制抓取速度,可以优化电脑性能,可以在某一次的抓取上继续抓取.当然整个order.xml里我也没有全部掌握,只知道大部分配置的作用,希望大家指点改正以及补充,谢谢!1. 代表着该抓取JOB的元素,相当于Html的metaXml代码1. 2. myheritrix3. myheritrix4. Admin5. 6. 7. 20090520051654Xml代码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. 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. 3.2: HTTP协议Xml代码1. 2. Mozilla/5.0(compatible;heritrix/1.14.3+)3. 4. 3.3:爬虫协议 Xml代码1. 2. classic3. false4. 5. 6. 7. 3.4:Frontier 调度器Xml代码1. 2. 4.03. 200004. 20005. 3006. 307. 9008. 19. 010. 011. org.archive.crawler.frontier.HostnameQueueAssignmentPolicy12. 13. false14. false15. false16. true17. true18. 300019. 10020. -121. org.archive.crawler.frontier.ZeroCostAssignmentPolicy22. 30000023. 5024. org.archive.crawler.util.BdbUriUniqFilter25. false26. 3.5:URL规范化规则,主要用来规范化每个URL,用Heritrix默认的就好了,这里不做说明了,其实也是通过各种规则 3.6:预先处理链组件: Xml代码1. 2. 3. true4. 5. 6. 7. 8. false9. true10. false11. 12. 13. 14. 15. true16. 17. 18. 19. 20. 8640021. 8640022. false23. 24. 3.7:获取组件:Xml代码1.

温馨提示

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

评论

0/150

提交评论