[计算机软件及应用]Heritrix144安装配置使用手册.doc
《[计算机软件及应用]Heritrix144安装配置使用手册.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]Heritrix144安装配置使用手册.doc(46页珍藏版)》请在三一文库上搜索。
1、Heritrix的配置及安装使用首先得下载Heritrix包。 下载最新版的heritrix1.14.4.zip和heritrix-1.14.4-src.zip。地址:http:/ F:Heritrix 目录中的heritrix-1.14.4.jar文件解压缩,把 profilesdefault 下的两个文件order.xml和seeds.txt复制到 F:Heritrixconf 目录下。3、以文本编辑方式打开 F:Heritrixconf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 项的后面加入你所要设定的管理员账户和密码,用“
2、:”分割,如: heritrix.cmdline.admin = admin:admin4、复制 F:Heritrixconf 下的jmxremote.password.template文件到主目录F:Heritrix下,并更名为jmxremote.password。编辑此文件,更改最后两行monitorRole PASSWORD、controlRole PASSWORD中的PASSWORD为管理员密码。如: monitorRoleadmin controlRole admin 如果顺利,就可以运行了。系统自带脚本的运行如下: 将cmd定位到 F:heritrixbin下,执行 heritri
3、x -admin=admin:admin 命令,即可启动 heritrix, 有一点需要注意,heritrix默认使用8080端口,要保证系统端口没有冲突。之后便可以访问 http:/127.0.0.1:8080 或http:/localhost:8080/ 使用 heritrix 提供的WUI,即Web管理端。并且使用admin/admin登录。 可能会出现的异常: 其中在Heritrix有一条异常信息是:java.lang.ClassNotFoundException:org.archive.crawler.Heritrix. 在Dos下可能是这样显示:JMX password file
4、is missing or permission not set correctly. 原因是,heritrix启动时找不到heritrix的.Jar 包,即heritrix-1.14.4.jar。你就要看你的F:/Heritrix下有没有这个包,没有就加上,基本上是有的。 有的话,就要看你的环境变量中是不是设置了HERITRIX_HOME环境变量,如 果有,把它删除就解决了。 其它情况我没有遇到,就不写了。二、在Eclipse中配置Heritrix 1、新建空的java项目(注意不是WEB项目),命名为heritrix; 2、把heritrix-1.14.4-srcsrcjava目录下的or
5、g、st和com文件夹拷贝到heritrix/src目录下;3、把heritrix-1.14.4-srcsrc下的wbapps文件夹拷贝到heritrix目录下; 4、右击heritrix项目,点击properties ,通过JavaBuildPath,将heritrix-1.14.4-src下的lib目录下的所有包导入进来; 5、解压缩heritrix-1.14.4目录下的heritrix-1.14.4.jar文件,把解压后的所有文件和文件夹(除org、st、com文件夹和heritrix.properties文件外)拷贝到heritrix目录下; 6、将heritrix-1.14.4目录下
6、的conf文件夹拷贝到heritrix目录下;并将heritrix目录下的profiles文件夹移入conf文件夹中; 7、打开eclipse下的heritrix/conf/heritrix.properties文件,找到heritrix.cmdline.admin=,修改为“heritrix.cmdline.admin = admin:admin”; 8、Conf/jmxremote.password.template拷贝到heritrix目录下。改名为:jmxremote.password,最后再行改成: monitorRole admin controlRole admin admin为
7、设置的WEBUI的密码 9、找到org.archive.crawler包,运行Heritrix.java中的main函数。 成功提示信息为: 09:14:07.406 EVENT Starting Jetty/4.2.23 09:14:07.656 EVENT Started WebApplicationContext/,Heritrix Console 09:14:07.750 EVENT Started SocketListener on 127.0.0.1:8082 09:14:07.750 EVENT Started org.mortbay.jetty.Server179c285 He
8、ritrix version: 1.14.4可能会出现的异常: 1、在Heritrix.java中出现File URLConnection 红叉; 解决办法:将myeclipse中的compiler 属性中的Errors/warring 中的Forbidden.选为warrning即可。 2、出现的异常:.thread-10 org.archive.util.ArchiveUtils.( )TLD list.解决办法:将 heritrix-1.14.4-srcheritrix-1.14.4srcresourcesorgarchiveutil 下的文本文档拷贝到heritrix中的orgarch
9、iveutil下; 3、在eclipse中可以启动heritrix,但在jobs-modules.jsp页面中没有添加(“Add”)按扭,且出现以下异常。致使错误:“无法编译样式表” 严重 thread-12 org.archivecrawler.framework.WriterPodProcessor.io.arc. 解决办法:将heritrix 项目中的modulse的上一级目录文件添加到eclipse的classpath中。创建一个新的抓取任务(1)单击WebUI菜单栏上的“Jobs”标签,就可以进入任务创建页面。如图10-18所示。(2)在任务创建页面中,有4种创建任务的方式,如图10
10、-19所示,具体含义如下。l Based on existing job:以一个已经有的抓取任务为模板,创建所有抓取属性和抓取起始URL的列表。l Based on a recovery:在以前的某个任务中,可能设置过一些状态点,新的任务将从这个设置的状态点开始。l Based on a profile:专门为不同的任务设置了一些模板,新建的任务将按照模板来生成。l With defaults:这个最简单,表示按默认的配置来生成一个任务。在Heritrix中,一个任务对应一个描述文件。这个描述文件的默认的名称为order.xml。每次创建一个新任务时,都相当于生成了一个order.xml的文件
11、。文件中详细记录了Heritrix在运行时需要的所有信息。例如,它包括该用户所选择的Processor类、Frontier类、Fetcher类、抓取时线程的最大数量、连接超时的最大等待时间等信息。上面所说的4种创建抓取任务的方式,其实都是在生成一个order.xml文件。其中,第4种With defaults,则是直接拷贝默认的order.xml文件。在所创建的Eclipse工程或是命令行启动的Heritrix下载包中,该默认的order.xml文件均是放于profilesdefault目录下的。关于order.xml的细节,在此还不必深究。因为它里面所有的内容,都会在WebUI上看到。(3)
12、单击With defaults链接,创建一个新的抓取任务,如图所示。(4)在新建任务的名称上,填入“Sohu_news”,表示该抓取任务将抓取搜狐的新闻信息。在Description中随意填入字符,然后再在seeds框中,填入搜狐新闻的网址。这里需要解释一下seeds的含义。所谓seeds,其实指的是抓取任务的起始点。每次的抓取,总是需要从一个起始点开始,在得到这个起始点网页上的信息后,分析出新的地址加入抓取队列中,然后循环抓取,重复这样的过程,直到所有链接都分析完毕。(5)在上图中,设置了搜狐新闻的首页为种子页面,以此做为起始点。用户在使用时,也可以同时输入多个种子,每个URL地址单独写在一
13、行上,如图所示。图10-21 多个种子的情况当然,凭着目前的设置,还没法开始抓取网页,还需要对这个任务进行详细的设置。设置抓取时的处理链在上图中,seeds文本框下有一排按钮,单击“Modules”按钮,就进入了配置抓取时的处理链的页面下图所示。图10-22 配置处理链的页面从上而下,可以看到,需要配置的内容共有7项,其中CrawlScope和Frontier是两个最重要的组件。CrawlScope用于配置当前应该在什么范围内抓取网页链接。比如,如果选择BroadScope,则表示当前抓取的范围不受限制,但如果选择了HostScope,则表示抓取的范围在当前的Host内。从笔者的经验看来,在抓
14、取时,无论是HostScope或PathScope都不能真正的限制到抓取的内容。需要对Scope内的代码进行一定的修改才可以,因此,暂时选择BroadScope来充当示例中的范围限定,其实也就是对范围不做任何的限定。即从开始,抓取任何可以抓取到的信息。如图10-23所示。图10-23 设置ScopeFrontier则是一个URL的处理器,它将决定下一个被处理的URL是什么。同时,它还会将经由处理器链所解析出来的URL加入到等待处理的队列中去。在例子中,使用BdbFrontier类来做为处理器,全权掌管URL的分配。如图10-24所示。图10-24 设置Frontier除了这两个组件外,还有5个
15、队列要配。这五个队列根据先后的顺序,就依次组成了Heritrix的整个处理器链。5个队列的含义分别如下:(1)PreProcessor:这个队列中,所有的处理器都是用来对抓取时的一些先决条件做判断的。比如判断robot.txt的信息等,它是整个处理器链的入口。如图10-25所示。图10-25 设置PreProcessor(2)Fetcher:从名称上看,它用于解析网络传输协议,比如解析DNS、HTTP或FTP等。在演示中,主要使用FetchDNS和FetchHTTP两个类。如图10-26所示。图10-26 设置Fetcher(3)Extractor:它的名字就很好的揭示了它的作用。它主要用是于
16、解析当前获取到的服务器返回内容,这些内容通常是以字符串形式缓存的。在这个队列中,包括了一系列的工具,如解析HTML、CSS等。在解析完毕,取出页面中的URL后,将它们放入队列中,等待下次继续抓取。在演示中,使用两种Extractor,即ExtractorHTTP和ExtractorHTML。如图10-27所示。图10-27 设置Extractor(4)Writer:主要是用于将所抓取到的信息写入磁盘。通常写入磁盘时有两种形式,一种是采用压缩的方式写入,在这里被称为Arc方式,另一种则采用镜象方式写入。当然处理起来,镜象方式要更为容易一些,因此,在演示中命名用镜象Mirror方式。如图10-28
17、所示。图10-28 设置Writer(5)PostProcessor:在整个抓取解析过程结束后,进行一些扫尾的工作,比如将前面Extractor解析出来的URL有条件的加入到待处理队列中去。如图10-29所示。图10-29 设置PostProcessor值得一提的是,在处理器链的设置过程中,每一个队列中的处理器都是要分先后顺序的,信息的处理流程实际上是不可逆的,因此,在设置时,可以看见在队列的右侧总是有“Up”、“Down”和“Remove”这样的操作,以帮助能够正确的设置其顺序。在设置完Hertrix所需的处理链后,仍然还不能够马上开始抓取任务,还需对默认的运行时参数做一些修改,以适应真正的
18、需要。10.1.5 设置运行时的参数在设置完处理链后,在页面顶部或底部都可以找到如图10-30所示的菜单项,单击“Settings”链接,就进入了属性设置的页面,如图10-30所示。图10-30 进入“Settings”在属性设置页面上有非常多的输入域,Heritrix在抓取网页时,这些域是用来对的各个组件的值进行预设,如图10-31所示。图10-31 属性配置页面由于页面上的内容非常多,使用者可能无法全部了解它们的作用。所以Heritrix提供了一个辅助功能,来在最大程度上让使用者了解每个参数的含义。如图10-32所示。图10-32 属性提示可以看到,在每个属性的右侧都有一个小问号,当单击问
19、号时,就会弹出一个Javascript的Alert提示框,上面介绍了当前属性的作用。例如,在上图中单击“max-bytes-download”属性,通过Alert的提示可以知道,它表示的是抓取器最大下载的字节数,当下载字节数超过这个属性上所设定的值时,抓取就会自动停止。另外,如果将这个值设为0,则表示没有限制。事实上,当在第一次使用Heritrix时,所需要设置的参数并不多,以默认设置为主。以下就来介绍一些必须要在第一次使用时就要配置好的参数。1max-toe-threads该参数的含义很容易了解,它表示Heritrix在运行该抓取任务时,为任务分配多少个线程进行同步抓取。该参数的默认值为10
20、0,而事实上根据笔者的经验,在机器配置和网络均很好的情况下,设置50个线程数就已经足够使用了。2HTTP-Header在HTTP-Header这个属性域下面,包括两个属性值“user-agent”和“from”。默认情况下,这两个属性的值如图10-33所示。图10-33 默认的情况很明显,这样的值是无法完成真实的HTTP协议的模拟的,所以,必须要将值改掉。图10-34是笔者机器上的一种配置,读者可以借鉴。图10-34 一种正确的配置l “VERSION”字符串需要被替换成Heritrix的版本信息。l “PROJECT_URL_HERE”可以被替换成任何一个完整的URL地址。l “from”属
21、性中不需要设置真实的E-mail地址,只需是格式正确的邮件地址就可以了。当正确设置了上述的两个属性后,Heritrix就具备了运行的条件。单击“Submit”链接,提交这个抓取任务,如图10-35所示。图10-35 提交任务“Submit job”10.1.6 运行抓取任务(1)当单击“Submit job”链接后,会看到图10-36所示的页面。图中最上方很清楚的显示了“Job created”,这表示刚才所设置的抓取任务已经被成功的建立。同时,在下面的“Pending Jobs”一栏,可以清楚的看到刚刚被创建的Job,它的状态目前为“Pending”。图10-36 Job提交后的页面(2)下
22、面启动这个任务。回到“Console”界面上,可以看到,如图10-37所示,刚刚创建的任务已经显示了出来,等待我们开始它。图10-37 Job提交后的Console界面(3)在面版的右测,它显示了当前Java虚拟机的一些状态,如图10-38所示,可以看到当前的堆大小为4184KB,而已经被使用了3806KB,另外,最大的堆内容可以达到65088KB,也就是在64M左右。图10-38 内存状态显示(4)此时,单击面版中的“Start”链接,就会将此时处于“Pending”状态的抓取任务激活,令其开始抓取(5)在图10-39中,刚才还处于“Start”状态的链接已经变为了Hold状态。这表明,抓取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 Heritrix144 安装 配置 使用手册
链接地址:https://www.31doc.com/p-1991544.html