heritrix 下载、安装、配置、以及简单开发

heritrix下载及配置

一、下载:到www.sourceforge.net网站搜索heritrix,然后分别下载下来heritrix-1.14.0-RC1.zip,heritrix-1.14.0-RC1-src.zip

二、配置

     .在非开发环境下配置的步骤

        1.解压heritrix-1.14.0-RC1.zip,假设解压到了c盘根目录下并把解压后的文件夹命名为heritrix

        2.进入c:\heritrix\conf复制文件jmxremote.password.template到c:\heritrix下并把文件重新命名为jmxremote.password,

          然后修改其内容为下:

           monitorRole @123456789@ ->monitorRole admin (@于@之间设置的是密码,后面是->用户角色用户名)

           controlRole @123456789@ ->controlRole shi

          并设置文件jmxremote.password的属性为只读

        3.进入c:\heritrix\conf打开文件heritrix.properties,修改其中的几项key-value值

          heritrix.cmdline.admin = admin:770629 (用户名:密码)

          heritrix.cmdline.port = 8080 (heritrix服务器默认端口号8080,保证该端口不被占用就不用改了)

        4.打开cmd,切换目录到c:\heritrix\bin

          然后敲入命令:heritrix --admin=admin:123456789

 

      .在eclipe中配置并启动的步骤

       1.首先解压heritrix-1.14.0-RC1.zip得到heritrix-1.14.0-RC1.jar,然后解压jar包,再解压heritrix-1.14.0-RC1-src.zip

        2.我把两个解压后的jar文件和heritrix-1.14.0-RC1-src.zip分别放在了E:\MyWork\heritrix\heritrix-1.14-jar目录下和

                E:\MyWork\libs\heritrix\heritrix-1.14.0-RC1-src\heritrix-1.14.0-RC1目录下

        3.创建一个动态Web工程

        4.把 E:\MyWork\heritrix\heritrix-1.14.0-RC1\lib目录下的所有jar文件导入工程,并且复制到工程下面的

            WebContent\WEB_INF下面,工程会自动把这些jar放在Web App Libraries里面

        5.把E:\MyWork\libs\heritrix\heritrix-1.14.0-RC1-src\heritrix-1.14.0-RC1\src\java下的com,org,st这三个目录都拷贝到

         工程src下面

        6.把 E:\MyWork\heritrix\heritrix-1.14-jar下的modules,arcMetaheaderBody.xsl,heritrix.properties,其修该内容是:

             heritrix.cmdline.admin = admin:770629 (用户名:密码)

             heritrix.cmdline.port = 8080 (heritrix服务器默认端口号8080,保证该端口不被占用就不用改了)

             然后将其拷贝到工程src下面

        7.把 E:\MyWork\libs\heritrix\heritrix-1.14.0-RC1-src\heritrix-1.14.0-RC1\src下的webapps拷贝到工程目录下面

        8.在工程下面新建一个jobs文件夹,heritrix抓取的内容默认是放在该文件夹下面

        9.现在就可以运行主类Heritrix.java了,然后就可以以web的形式访问服务器了:http://localhost:8080/登录就ok了

1.登录界面:


2.登录后你会看到这个界面:


3.下面开始建立一个简单的抓取测试点击Jobs进入新建job界面

 

 

4点击defaul建立一个缺省抓取


5.点击Modules进行参数设置

 

除了以上两个组件外,还有五个队列要配置,这5个队列依次heritrix的处理器链

 

 

 

 

 

 

 

单击setting


      

进入setting的界面(只需要设置下面的两个参数就可以了,其他的不太了解了):

 

现在单击 Submitjob 再点击consol 然后点击start 抓取就开始了

 

下面是通过扩充框架来实现我们自己的抓取逻辑所要做的事情:

heritrix有多个扩展点,在这里我扩展了org.archive.crawler.FrontierScheduler

即写了一个类继承该类:

               覆盖 protected void schedule(CandidateURI caURI){

              //URL选择策略,只有符合这些条件的url才能进入等待抓取的队列

              //代码在此填充

        }

然后在Processor.Options内我们的类添加进来如:

ear.spider.postprocessor.FrontierSchedulerForPconlineMobile|FrontierSchedulerForPconlineMobile

表示把我们写的类添加到配置参数里

 

那么我们只需在抓取是选择我们自己抓取逻辑类就可以了。如图:

 

 
在命令行输入 heritrix --admin=admin:admin
提示无法在后台启动heritrix,提示可能有以下原因:
a)login and password not been specified
b)another program uses the port for the web uI
c)jmx password file is missing or permissions not set correctly
新打开的窗口显示exception in thread "main" java.lang.NoClassDfFoundError:org/archive/crawler/heritrix
我设置的用户名密码都是按照你说的方法,请帮我找一下原因,谢谢!liuminna 发表于2008年7月22日 18:31:57 IP:举报回复删除
前面的操作“在非开发环境下配置的步骤

1.解压heritrix-1.14.0-RC1.zip,假设解压到了c盘根目录下并把解压后的文件夹命名为heritrix

2.进入c:\heritrix\conf复制文件jmxremote.password.template到c:\heritrix下并把文件重新命名为jmxremote.password,

然后修改其内容为下:

monitorRole @123456789@ ->monitorRole admin (@于@之间设置的是密码,后面是->用户角色用户名)

controlRole @123456789@ ->controlRole shi

并设置文件jmxremote.password的属性为只读

3.进入c:\heritrix\conf打开文件heritrix.properties,修改其中的几项key-value值

heritrix.cmdline.admin = admin:770629 (用户名:密码)

heritrix.cmdline.port = 8080 (heritrix服务器默认端口号8080,保证该端口不被占用就不用改了)

”都进行了设置,不知问题在哪里

转载自:http://renegade24.iteye.com/blog/969777

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Heritrix是一个开源,可扩展的web爬虫项目。用户可以使用它来从网上抓取想要的资源。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。 Heritrix是一个爬虫框架,其组织结构如图2.1所示,包含了整个组件和抓取流程: Heritrix采用的是模块化的设计,各个模块由一个控制器类(CrawlController类)来协调,控制器是整体的核心。控制器结构图如图2.2所示:   图2.2 CrawlController类结构图 CrawlController类是整个爬虫的总控制者,控制整个抓取工作的起点,决定整个抓取任务的开始和结束。CrawlController从Frontier获取URL,传递给线程池(ToePool)中的ToeThread处理。 Frontier(边界控制器)主要确定下一个将被处理的URL,负责访问的均衡处理,避免对某一Web服务器造成太大的压力。Frontier保存着爬虫的状态,包括已经找到的URI、正在处理中的URI和已经处理过的URI。 Heritrix是按多线程方式抓取的爬虫,主线程把任务分配给Teo线程(处理线程),每个Teo线程每次处理一个URL。Teo线程对每个URL执行一遍URL处理器链。URL处理器链包括如下5个处理步骤。整个流程都在图2.1中。 (1)预取链:主要是做一些准备工作,例如,对处理进行延迟和重新处理,否决随后的操作。 (2)提取链:主要是下载网页,进行DNS转换,填写请求和响应表单。 (3)抽取链:当提取完成时,抽取感兴趣的HTML和JavaScript,通常那里有新的要抓取的URL。 (4)写链:存储抓取结果,可以在这一步直接做全文索引。Heritrix提供了用ARC格式保存下载结果的ARCWriterProcessor实现。 (5)提交链:做和此URL相关操作的最后处理。检查哪些新提取出的URL在抓取范围内,然后把这些URL提交给Frontier。另外还会更新DNS缓存信息。 服务器缓存(Server cache)存放服务器的持久信息,能够被爬行部件随时查到,包括被抓取的Web服务器信息,例如DNS查询结果,也就是IP地址。 标签:Heritrix

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值