尚学堂科技张志宇Heritrix课件知识分享

上传人:youn****329 文档编号:137151633 上传时间:2020-07-05 格式:PPT 页数:15 大小:420.50KB
返回 下载 相关 举报
尚学堂科技张志宇Heritrix课件知识分享_第1页
第1页 / 共15页
尚学堂科技张志宇Heritrix课件知识分享_第2页
第2页 / 共15页
尚学堂科技张志宇Heritrix课件知识分享_第3页
第3页 / 共15页
尚学堂科技张志宇Heritrix课件知识分享_第4页
第4页 / 共15页
尚学堂科技张志宇Heritrix课件知识分享_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《尚学堂科技张志宇Heritrix课件知识分享》由会员分享,可在线阅读,更多相关《尚学堂科技张志宇Heritrix课件知识分享(15页珍藏版)》请在金锄头文库上搜索。

1、Heritrix,Heritrix介绍,在一个搜索引擎的开发过程中,使用一个合适的爬虫来获得所需要的网页信息是第一步,这一步是整个系统成功的基础。 Heritrix是一个纯由Java开发的、开源的Web网络爬虫,用户可以使用它从网络上抓取想要的资源。 它来自于www.archive.org。 Heritrix最出色之处在于它的可扩展性,开发者可以扩展它的各个组件,来实现自己的抓取逻辑。,Java开源Web爬虫 1,Heritrix Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。 WebSPHIN

2、X WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。 WebLech WebLech是一个功能强大的Web站点下载与镜像工具。它支持按功能需求来下载web站点并能够尽可能模仿标准Web浏览器的行为。WebLech有一个功能控制台并采用多线程操作。 Arale Arale主要为个人使用而设计,而没有像其它爬虫一样是关注于页面索引。Arale能够下载整个web站点或来自web站点的某些资源。Arale还能够把动态页面映射成静态页面。 J-Sp

3、ider J-Spider:是一个完全可配置和定制的Web Spider引擎.你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个Web站点,你还可以写一个JSpider插件来扩展你所需要的功能。 spindle spindle 是一个构建在Lucene工具包之上的Web索引/搜索工具.它包括一个用于创建索引的HTTP spider和一个用于搜索这些索引的搜索类。spindle项目提供了一组JSP标签库使得那些基于JSP的站点不需要开发任何Java类就能够增加搜索功能。,Java开源Web爬虫 2,Arachnid Arachn

4、id: 是一个基于Java的web spider框架.它包含一个简单的HTML剖析器能够分析包含HTML内容的输入流.通过实现Arachnid的子类就能够开发一个简单的Web spiders并能够在Web站上的每个页面被解析之后增加几行代码调用。 Arachnid的下载包中包含两个spider应用程序例子用于演示如何使用该框架 LARM LARM能够为Jakarta Lucene搜索引擎框架的用户提供一个纯Java的搜索解决方案。它包含能够为文件,数据库表格建立索引的方法和为Web站点建索引的爬虫。 JoBo JoBo 是一个用于下载整个Web站点的简单工具。它本质是一个Web Spider。

5、与其它下载工具相比较它的主要优势是能够自动填充form(如:自动登录)和使用cookies来处理session。JoBo还有灵活的下载规则(如:通过网页的URL,大小,MIME类型等)来限制下载。 snoics-reptile snoics -reptile是用纯Java开发的,用来进行网站镜像抓取的工具,可以使用配制文件中提供的URL入口,把这个网站所有的能用浏览器通过GET的方式获取到的资源全部抓取到本地,包括网页和各种类型的文件,如:图片、flash、mp3、zip、rar、exe等文件。可以将整个网站完整地下传至硬盘内,并能保持原有的网站结构精确不变。只需要把抓取下来的网站放到web服

6、务器(如:Apache)中,就可以实现完整的网站镜像。 Web-Harvest Web-Harvest是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。Web-Harvest主要是运用了像XSLT,XQuery,正则表达式等这些技术来实现对text/xml的操作。,Heritrix工作原理,Heritrix是一个爬虫框架,可加如入一些可互换的组件。它的执行是递归进行的,主要有以下几步: 在预定的URI中选择一个。 获取URI 分析,归档结果 选择已经发现的感兴趣的URI。加入预定队列。 标记已经处理过的URI,处理器链,预取链 主要是做一些准备工作,

7、例如,对处理进行延迟和重新处理,否决随後的操作。 提取链 主要是获得资源,进行DNS转换,填写请求和响应表单 抽取链 当提取完成时,抽取感兴趣的HTML,JavaScript,通常那里有新的也适合的URI,此时URI仅仅被发现,不会被评估 写链 存储爬行结果,返回内容和抽取特性,过滤完存储。 提交链 做最後的维护,例如,测试那些不在范围内的,提交给边 界部件,安装,Heritrix所用到的工具类库都存于lib下 heritrix-1.12.1.jar是Heritrix的Jar包。 在Heritrix目录下有一个conf目录,其中包含了一个很重要的文件:heritrix.properties。

8、在heritrix.properties中配置了大量与Heritrix运行息息相关的参数,这些参数主要是配置了Heritrix运行时的一些默认工 具类、WebUI的启动参数,以及Heritrix的日志格式等。 当第一次运行Heritrix时,只需要修改该文件,为其加入WebUI的登录名和密 码,如图10-2所示。,启动方式,Heritrix有多种方式启动,例如,可以使用CrawlController,以后台方式加载一个抓取任务,即为编程式启动。 不过最常见的还是以WebUI的方式启动它。,4种创建任务的方式,Based on existing job:以一个已经有的抓取任务为模板,创建所有抓取

9、属性和抓取起始URL的列表。 Based on a recovery:在以前的某个任务中,可能设置过一些状态点,新的任务将从这个设置的状态点开始。 Based on a profile:专门为不同的任务设置了一些模板,新建的任务将按照模板来生成。 With defaults:这个最简单,表示按默认的配置来生成一个任务。,order.xml,在Heritrix中,一个任务对应一个描述文件。这个描述文件的默认的名称为order.xml。 每次创建一个新任务时,都相当于生成了一个 order.xml的文件。 文件中详细记录了Heritrix在运行时需要的所有信息。例如,它包括该用户所选择的Proce

10、ssor类、 Frontier类、Fetcher类、抓取时线程的最大数量、连接超时的最大等待时间等信息。 上面所说的4种创建抓取任务的方式,其实都是在生成一个 order.xml文件。 关于order.xml的细节,不必深究。因为它里面所有的内容,都会在WebUI上看到。,Modules,CrawlScope用于配置当前应该在什么范围内抓取网页链接。比如,如果选择BroadScope,则表示当前抓取的范围不受限制,但如果选择了HostScope,则表示抓取的范围在当前的Host内 Frontier则是一个URL的处理器,它将决定下一个被处理的URL是什么。同时,它还会将经由处理器链所解析出来的

11、URL加入到等待处理的队列中去。 PreProcessor:这个队列中,所有的处理器都是用来对抓取时的一些先决条件做判断的。比如判断robot.txt的信息等,它是整个处理器链的入口。 Fetcher:从名称上看,它用于解析网络传输协议,比如解析DNS、HTTP或FTP等。 Extractor:它的名字就很好的揭示了它的作用。它主要用是于解析当前获取到的服务器返回内容,这些内容通常是以字符串形式缓存的。在这个队列中, 包括了一系列的工具,如解析HTML、CSS等。在解析完毕,取出页面中的URL后,将它们放入队列中,等待下次继续抓取。 Writer:主要是用于将所抓取到的信息写入磁盘。通常写入磁

12、盘时有两种形式,一种是采用压缩的方式写入,在这里被称为Arc方式,另一种则采用镜象方式写入。当然处理起来,镜象方式要更为容易一些, PostProcessor:在整个抓取解析过程结束后,进行一些扫尾的工作,比如将前面Extractor解析出来的URL有条件的加入到待处理队列中去。,settings,max-toe-threads 该参数的含义很容易了解,它表示Heritrix在运行该抓取任务时,为任务分配多少个线程进行同步抓取。而事实上在机器配置和网络均很好的情况下,设置50个线程数就已经足够使用了。 HTTP-Header 在HTTP-Header这个属性域下面,包括两个属性值“user-a

13、gent”和“from”。 “VERSION”字符串需要被替换成Heritrix的版本信息。 “PROJECT_URL_HERE”可以被替换成任何一个完整的URL地址。 “from”属性中不需要设置真实的E-mail地址,只需是格式正确的邮件地址就可以了。,-Xmx512m,使用Heritrix时,考虑到内存的影响,可为其分配512M的最大HeapSize,可以增大Heritrix的最大可用内存, -Xmx512m -Xmsset initial Java heap size-Xmxset maximum Java heap size-Xss set java thread stack size,课堂练习:任务的设置方法,Heritrix简单任务的设置方法 Conf/heritrix.properties jmxremote.password profiles 启动Heritrix webUI 抓取参数设置 运行抓取任务,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号