网络爬虫heritrix

上传人:kms****20 文档编号:40612977 上传时间:2018-05-26 格式:DOC 页数:10 大小:146.50KB
返回 下载 相关 举报
网络爬虫heritrix_第1页
第1页 / 共10页
网络爬虫heritrix_第2页
第2页 / 共10页
网络爬虫heritrix_第3页
第3页 / 共10页
网络爬虫heritrix_第4页
第4页 / 共10页
网络爬虫heritrix_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《网络爬虫heritrix》由会员分享,可在线阅读,更多相关《网络爬虫heritrix(10页珍藏版)》请在金锄头文库上搜索。

1、网络爬虫网络爬虫 heritrix1、 heritrix 的安装、配置的安装、配置首先需下载 heritrix1.14.4.zip 和 heritrix-1.14.4-src.zip(最新版本)。下载地址: http:/ Heritrix 的安装有两种方式:命令行方式运行和在 Eclipse 中配置 Heritrix。1.1 命令行方式运行。命令行方式运行。a、将得到的 heritrix-1.14.4.zip 压缩包直接解压缩到某一目录,我选择的是E:Heritrix。b、然后,将 E:Heritrix 目录中的 heritrix-1.14.4.jar 文件解压缩,把 profilesdefa

2、ult 下的两个文件 order.xml 和 seeds.txt 复制到 E:Heritrixconf 目录下。c、 以文本编辑方式打开 E:Heritrixconf 下的 heritrix.properties 文件,在“heritrix.cmdline.admin = ” 项的后面加入你所要设定的管理员账户和密码,用“:”分割,如:heritrix.cmdline.admin = admin:admind、复制 E:Heritrixconf 下的 jmxremote.password.template 文件到主目录E:Heritrix 下,并更名为 jmxremote.password,属

3、性最好设置为只读文件。编辑此文件,更改最后两行“monitorRole PASSWORD“、“controlRole PASSWORD“中的“PASSWORD“为管理员密码。如:monitorRole admincontrolRole admine、打开“运行”, 将 cmd 定位到 E:heritrixbin 下,执行 “heritrix -admin=admin:admin“ 命令,即可启动 heritrix。f、 Heritrix 默认端口是 8080,需要保证系统端口没有冲突,然后可以访问http:/127.0.0.1:8080 或 http:/localhost:8080/ 使用 h

4、eritrix 提供的 WUI,即Web 管理端。并使用“admin/admin“登录。可能会出现的异常:可能会出现的异常:在 Dos 下可能是这样显示:JMX password file is missing or permission not set correctly.原因是 heritrix 启动时找不到 heritrix 的.Jar 包,即 heritrix-1.14.4.jar。你就要看你的 E:/Heritrix 下有没有这个包,没有就加上,基本上是有的。有的话,就看你的环境变量中是不是设置了 HERITRIX_HOME 环境变量,如果有,把它删除就解决了。1.2 在在 Ecli

5、pse 中配置中配置 Heritrixa、新建空的 java 项目(注意不是 WEB 项目),命名为 heritrix;b、把 heritrix-1.14.4-srcsrcjava目录下的 org、st 和 com 文件夹拷贝到 heritrix/src目录下;c、把 heritrix-1.14.4-src 下的 wbapps 文件夹拷贝到 heritrix 目录下;d、右击 heritrix 项目,点击 properties ,通过 JavaBuildPath,将 heritrix-1.14.4-src下的 lib 目录下的所有包导入进来;e、解压缩 heritrix-1.14.4 目录下的

6、 heritrix-1.14.4.jar 文件,把解压后的所有文件和文件夹(除 org、st、com 文件夹和 heritrix.properties 文件外)拷贝到 heritrix 目录下;f、将 heritrix-1.14.4 目录下的 conf 文件夹拷贝到 heritrix 目录下;并将 heritrix 目录下的 profiles 文件夹移入 conf 文件夹中;g、打开 eclipse 下的 heritrix/conf/heritrix.properties 文件,找到“heritrix.cmdline.admin=“,修改为“heritrix.cmdline.admin = a

7、dmin:admin”;h、Conf/jmxremote.password.template 拷贝到 heritrix 目录下。改名为:jmxremote.password,最后再行改成: monitorRole admincontrolRole admini、找到 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

8、09:14:07.750 EVENT Started SocketListener on 127.0.0.1:8082 09:14:07.750 EVENT Started org.mortbay.jetty.Server179c285 Heritrix version: 1.14.4可能会出现的异常:可能会出现的异常: 1、在 Heritrix.java 中出现 File URLConnection 红叉;解决办法:将 compiler 属性中的 Errors/warring 中的 Forbidden.选为warrning 即可。 2、出现的异常:.thread-10 org.archive

9、.util.ArchiveUtils.( )TLD list.解决办法:将 heritrix-1.14.4-srcheritrix-1.14.4srcresourcesorgarchiveutil 下的文本文档拷贝到 heritrix 中的 orgarchiveutil 下;3、在 eclipse 中可以启动 heritrix,但在 jobs-modules.jsp 页面中没有添加(“Add”)按扭,且再现以下异常。致使错误:“无法编译样式表”严重 thread-12 org.archivecrawler.framework.WriterPodProcessor.io.arc.解决办法:将 h

10、eritrix 项目中的 modulse 的上一级目录文件添加到 eclipse 的classpath 中。(或者将 modulse 文件夹移到 src 文件夹中)2、 创建和终止一个新的抓取任务创建和终止一个新的抓取任务2.1 创建一个新任务创建一个新任务Heritrix 成功运行后,输入账号密码登录,然后需要创建一个新的抓取任务,步骤如下: a、进入 Heritrix 控制台页面后,选择 Jobs 选项卡,有四种选择方式,只试用了第 4 种方式,点击 With defaults。b、设置作业的名字,填写描述(随意填入字符),将种子设置为要抓取的网站主页,如:http:/ 用户在使用时,也可

11、以同时输入多个种子,每个 URL 地址单独写在一行上。c、单击 Modules,定制为此次任务设置各个处理模块,其中需要配置的共有 7 项。试 用时大部分采用默认,主要修改 Select Writers 项默认的是 Arc 方式点击旁边的 Remove 删除,在下拉框中选择: org.archive.crawler.writer.MirrorWriterProcessor,并单击 Add 按钮。 d、单击 Settings,这里只需要修改两个地方:(1)user-agent:改为 Mozilla/5.0 (compatible; heritrix/1.14.3 +http:/116.56.14

12、2.15)http:/116.56.142.15 可以更换为任意的一个完整的 url。(2)from:改为 可更换为任意的 Email 地址, 不需要设置真实的,只需是格式正确的邮件地址就可以了。e、单击 Submit job 提交作业会回到 Job 页面,显示了“Job created”,这表示刚才 所设置的抓取任务已经被成功的建立。同时,在下面的“Pending Jobs”一栏,可 以清楚的看到刚刚被创建的 Job,它的状态目前为“Pending”。f、单击 Console,回到控制台页面,可以看到刚刚创建的任务。g、单击 Start 即可开始抓取作业,刷新一下,即可看到运行状态。h、

13、 Heritrix 运行以后,可以在 Heritrix 项目文件夹下看到 jobs 文件夹,打开之后 可以看到 qq-20100920091730687,再进去有个 mirror 文件夹即可看到抓取的内容 。2.2 终止抓取或终止终止抓取或终止 Heritrix 的运行的运行 当用户进行某个抓取任务时,有两种方法会让任务停止下来。 1)正常终止 :是任务的自然结束,其条件为所有队列中的 URI 都已经被处理过了。此时,任务将自然终止。在“Jobs”面版上会看到任务已经完成,被加入到“Completed jobs”列表中。 2) 强行终止 :有时候对任务的控制不够,结果抓取了太多不相关的信息,进

14、而造成URL 队列无限制膨胀,无法终止。在这种情况下,就需要强行将任务终止。在Console 面版上有一排链接,最后一个“Terminate”链接,就是用来终止当前运行的任务。单击“Terminate”链接后,当前在运行的抓取任务就会立即终止,并同样将任务放置到“Jobs”面版上的“Completed jobs”列表中,只不过在“status”上,它会显示“Finished - Ended by operator”这样的提示。 如果用户希望关闭 Heritrix,并终止所有正在运行的任务,也可以单击 Console 面版上的“Shutdown Heritrix software”的链接,此时,

15、Heritrix 会弹出一个警告,告诉你如果关闭 Heritrix,则当前一切正在运行的任务都将被终止。如果选择“Im sure, shut it down”,则 Heritrix 的 WebUI 将会终止,虚拟机进程结束。3、 Heritrix 的架构的架构Heritrix 采用了模块化的设计,它由一些核心类和可插件模块构成。核心类可以配置, 但不能被覆盖,插件模块可以被由第三方模块取代。Heritrix 自己的包有 48 个,还有它 导入的第三方包也有 30 多个。 3.1heritrix 的体系结构图:的体系结构图:3.2 架构分析架构分析 1 1) CrawlControllerCrawlController(中央控制器中央控制器) 中央控制器是一次抓取任务中的核心组件。它将决定整个抓取任务的开始和结束。 CrawlController 位于 org.archive.crawler.framework 中。在 CrawlController 类中,定 义了以下几个组件: CrawlOrder:它是整个抓取工作的起点,因为一个抓取工作必须要有一个 Order 对象,它 保存了对该次抓取任务中 order.xml 的属性配置。 CrawlScope:这是决定当前的抓取范围的一个组件。 ProcessorChainList:它表示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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