




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题课Proj1+hw3,LiYing Dec 2, 2009,heritrix系统使用,要求:配置、安装Heritrix,抓取指定的网站: 限制抓取范围:修改Modules、 Submodules 和Settings : Select Crawl Scope选择DecidingScope; 用正则表达式完成对抓取的网页的url的匹配; 限定只抓取文本类型的内容, 缩短爬取时间: Profiles中setting修改 ”max-delay-ms”、”min-delay-ms”、”max-retries”、”retry-delay-seconds”的数值,提高抓取效率 设置-Xmx运行参数增加J
2、VM内存(256M-1024M),heritrix系统使用,只有一个线程在工作: 原因:Heritrix的url队列以hostname为key,所有相同key的url放置在同一个队列里面,也就是说同一个host下面的所有url都放在一个队列里面,当线程获取url时候,会将该队列放置到同步池中,拒绝其他线程访问。 思路:将url平均分配到Queue里面,实现更好的多线程同步, 实现方法:采用ELF hash算法平均分配url。,heritrix系统代码分析,要求:按Week2的web crawler系统结构,寻找Heritrix系统里面的crawler的下面四个部分: page fetching
3、 isPageKnown isUrlVisited Politeness 分析它们的主要数据结构和算法.写一个简短的报告文档.,Page fetching,从Frontier获取到一个URI之后,处理链对URI进行处理,包括Prefetch,Fetch,Extract,Write,PostPrecess。其中Fetch主要是完成从web中获取网页。Heritrix提供了3种Fetch方法:FetchHTTP,FetchFTP,FetchDNS。FetchDNS 的功能主要是为当前URI 解析域名,FetchHTTP 和FetchFTP 的功能是来抓取数据。 数据结构: CrawlURI 存储一
4、个URI的相关信息 HttpRecorder存储一次http交互过程的获取到的页面信息或文件信息。HttpRecorder 作为一个ToeThread 参数将贯穿整个Processor Chain,Page fetching,算法:以FetchHTTP为例 判断能否抓取网页 预处理过程。将在抓取过程中获得的网页信息写到HttpRecorder 根据URI创建HttpMethod,区分为POST和GET 经过抓取网页得到的抓取内容,从中提取内容并根据选定算法计算摘要值,一般是SHA1和MD5算法,默认为SHA1。,isPageKnown,Heritrix提供了三种网页去重的策略 策略一: 先抓取
5、一次网页,把URI和网页的摘要值保存到Hash表中。在第二次抓取相同URI的网页的时候,根据URI索引并比较与之前存在Hash表中的摘要值是不是相同。 策略二: 是先抓取一次网页,把URI和网页的摘要值保存到Hash表中。在第二次抓取相同URI的网页的时候,根据HTTP请求返回的content-length来比较第一次记录的content-length是否有变化,如果有变化则抓取并存储网页,如果没有变化则放弃该网页。,策略三,在一个抓取过程中,把当前网页的摘要值放到Hash表里作为KEY值,如果当前网页链接到了一个相同摘要值的网页(KEY值相同)并且URI不同,就不再抓取和存储这个网页。 数据
6、结构: currentDigest:当前uri的摘要 A_VIA_DIGEST:前一个uri的属性 算法: org.archive.crawl.extractor.TrapSuppressExtractor通过注意一个网页的内容摘要是否与它的A_VIA_DIGEST内容摘要相等来判断。,isUrlVisited,作用:在将链接加入队列之前需要查看链接是否已经被处理过了。 Heritrix中isUrlVisited 的实现有如下需求: 支持多线程读写,大容量。 BerkeleyDB: 实质是一个按照”key/value”方式保存数据的HashTable。它支持两段锁技术和先写日志策略来保证数据的
7、正确性和一致性,远比简单的HashTable 的Synchronize 强大。 数据库和应用程序在相同的地址空间中运行,所以不需要和应用程序进行进程间通信,节省了大量的开销,不会在isUrlVisited的阶段形成性能瓶颈。 Heritrix 的BdbFrontier 采用了Berkeley DB 来解决问题,具体做法是将isUrlVisited 部分实现为BdbUriUniqueFilter 类。,isUrlVisited,数据结构:BdbUriUniqFilter alreadySeen数据库: (key,value)组合, heritrix采用了将url的主机名和整个url分别计算fin
8、gerprint,以免破坏url的局部性。 算法: 当使用BdbFrontier的时候,默认使用BdbUriUniqFilter作为alreadyIncluded存储url信息,可选的存储方式还有BloomUriUniqFilter等 Heritrix调用frontier的schedule方法将任何一个url添加到alreadyIncluded中。当url添加进alreadySeen的时候,判断数据库中是否已经有相应的key存在,Politeness线程资源的约束,通过对politeness 设置阈值,Heritrix 可以使用以实现抓取对被访问服务器造成的压力的控制。 delay-facto
9、r 再次访问服务器应当间隔上次访问服务器时间的倍数 min-delay-ms 两次访问同一个服务器最小的时间间隔 max-delay-ms 等待服务器响应的最大时间 respect-crawl-delay-up-to-secs 当读取robot.txt 时推迟抓取的时间 retry-delay-seconds 两次尝试抓取页面的时间间隔 max-retries 链接尝试最大数 上述有关politeness 参数的使用集中在AbstractFrontier 中,用以判断抓取现状,从而采取相应的动作。,Politenessrobots.txt,robots.txt 声明了网站不想被robot 访问
10、的部分。根据抓取得到的robot.txt进行文档解析,然后把文档中的内容解析并且传入的crawler的设定当中,把允许和不允许的内容和对应的agent进行比较,并且最后得到本身agent所限定或者不限定的内容。 数据结构: Robotstxt: 从robots.txt中解析出user agent、robots指示(即disallow,crawl-delay,allow)并用list和一个对应的map结构存储 RobotsHonoringPolicy:crawler对robots尊重的5个程度 Classic:完全尊重robot.txt的限定 Ignore:直接跳过robot.txt的限制进行抓取 custom:用户来定于限制的情况 most-favored:每一个爬虫有多个user-agent,当全部agent都得到权限时才抓取 most-favored-set:对于多个user-agent,有一个能够抓取就允许crawler去抓取。,Politenessrobots.txt(2),RobotsDirectives: 为每个user-agent需要维护一个允许和不允许访问的数据结构,disallows 每篇文档中查询词的个数;查询词在文档中的TF 一个term在对应Document ID的文档中的出现概率Probability,只要用Fr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 户外探险策划师笔试试题及答案
- 纺织品检测工程师笔试试题及答案
- 2025年淮安市清江浦区招聘教师笔试考试试题【答案】
- 2025年非离子型纤维素醚项目发展计划
- 工程造价暑期实习报告范文
- 项目部安全事故应急方案与预案
- 2025年气体检测监控系统项目建议书
- 2025年立式加工中心合作协议书
- 医疗培训中的混合学习模式与技术应用探讨
- 数据分析在优化教育机构工作流程中的应用
- 《植物生长与环境》课程标准(含课程思政)
- 铁路行车组织(高职)全套教学课件
- 注塑标准成型条件表电子表格模板
- 道闸系统施工方案
- 配置管理与漏洞修复
- 新版中国复发难治性急性髓系白血病诊疗指南
- 汽车维修轮胎服务方案范本
- 保洁巡查记录表
- 成事的时间管理
- 国开大学2023年01月22503《学前儿童健康教育活动指导》期末考试答案
- 建筑工地九牌一图内容仅供参考模板
评论
0/150
提交评论