从控制台配置Heritrix,使之能运行之后,完成获取信息的基本功能是没问题的。

但是Heritrix默认的功能,比较类似于离线浏览器,把所有的信息都抓下来了。尽管Heritrix提供有可定制的处理链,但可能不够灵活,有时需要自己定制Crawler类调试运行。于是开始找在Eclipse中配置的方法。网上搜到的配置方法有些很繁琐,有的不完整,看着头很大。所以对比了下他们的描述,想了想照着做总是出现错误的原因,找了种比较完整可行的方法。

1。先下载heritrix-1.12.1-src.zipheritrix-1.12.1.zip。方法在2008/01/26的另一篇文章中写过了,不再赘述。我直接下载到桌面了。(系统盘是G盘……)分别把他们解压到当前文件夹\heritrix-1.12.1\\heritrix-1.12.1-src\。

2。解压heritrix-1.12.1.jar到\heritrix-1.12.1\heritrix-1.12.1。解压得到的文件夹结构如图:

3。把以上目录的所有文件拷贝到heritrix-1.12.1-src\heritrix-1.12.1\src\java文件夹下。目的是将java文件夹配置成一个完整的工程目录。

4。把\heritrix-1.12.1-src\heritrix-1.12.1\lib文件夹 拷贝到\heritrix-1.12.1-src\heritrix-1.12.1\src\java文件夹下。把lib下的jar包放入工程内部是为了便于管理。

5。把heritrix-1.12.1-src\heritrix-1.12.1\src\webapps文件夹拷贝到\heritrix-1.12.1-src\heritrix-1.12.1\src\java文件夹下。此时工程目录基本上完整了。得到的效果如图:

 

6。在Eclipse中新建一个Java Project,选择从现有源代码建立,源代码的路径指向\heritrix-1.12.1-src\heritrix-1.12.1\src\java。命名为Heritrix,点击ok。

7。这时在package explorer中应该会出现大量的编译错误标记。原因是没有把对应的jar包导入项目。在Java Build Path的Library选项卡中,把项目lib文件夹下的jar包全部加入Build Path。

8。在window->Preference->Java->Compiler中,将Compiler compliance level 设为5.0,也就是JDK1.5兼容的语法。目的是使Heritrix编译通过。否则Eclipse可能不认assert这个关键字。

9。用鼠标选中/Heritrix/org/archive/crawler/Heritrix.java,右键选择Run As Java Application,Console应该是没有输出的。原因是没有提供运行的参数(用户名/口令)。 一种方法是,修改项目根文件夹下的heritrix.properties文件,设置“heritrix.cmdline.admin = admin:admin”。正常运行时的输出如下:

Heritrix version: 1.12.1
17:26:43.621 EVENT  Starting Jetty/4.2.23
17:26:43.801 EVENT  Started WebApplicationContext[/,Heritrix Console]
17:26:43.871 EVENT  Started SocketListener on 127.0.0.1:8080
17:26:43.871 EVENT  Started org.mortbay.jetty.Server@a01335

11。另外一种设定用户名和密码的方式是,在Run Dialog中的Arguments参数选项卡中,输入-admin=admin:admin,单击Apply,再单击Run即可运行。

10。运行Heritrix,在浏览器中输入http://localhost:8080/,用户名/密码为“admin/admin”,可以登陆进去的话应该就可以正常使用了。至此配置完毕。至于怎样建立抓取任务,可参看2008/01/26那篇文章,描述的很详细了。

晚上睡前忽然想起来点东西,就开机重新配它。配置用了不到10分钟,总结出来用了近一个小时……晕。写东西太慢了。

posted on 2009-01-27 01:44  何婧  阅读(1795)  评论(0编辑  收藏  举报