这几天没事就在折腾hertrix,因为毕设就是做搜索引擎的。以前也没接触过这方面的东西,所以就按指导老师的推荐借了几本搜苏引擎的书在家看。然后首先就按《开发自己的搜苏引擎Lucene2.0+Hertrix》来玩Heritrix来抓。首先想偷懒就直接在verycd上找了那本书的光碟直接把作者配置好的heritrix项目导到自己的Myeclipse里运行,然后完全按着书上的步骤一步一步配置,结果配置好了点start,抓取总是显示30 queued等了半个小时还没抓到一个网页。
。到了第二晚上又继续奋战,去网上找别人的配置过程,然后每个每个的试,但还是出现那老问题。我怀疑可能原书配置好的heritrix可能有问题。就直接去官网下了个1.14.3版本(我用软件一般不会用最新版,怕不稳定)
然后去网上找了很多别人的配置过程,最后我把配置成功的几篇过程转过来然后加些自己的补充,希望对你们又帮助:
1、下载heritrix-1.14.3-src.zip和heritrix-1.14.3.zip两个压缩包,并解压,以后分别简称SRC包和ZIP包;
2、在Eclipse下新建Java项目,取名Heritrix;(如我打开Eclipse的工作区在D:\eclipse\workplace下,当我建了项目Heritrix后,我就可以找到D:\eclipse\workplace\Heritrix文件夹.其中包含两个工程属性文件.classpath 和.project和两个文件夹src和bin,接着把bin文件夹删掉)
3、复制SRC包下面src/java文件夹下org、com、st三个文件夹到项目根目录下的src文件夹下(即D:\eclipse\workplace\Heritrix\src);
4、复制SRC包下src下resources和conf文件夹到项目根目录(D:\eclipse\workplace\Heritrix);
5、复制SRC包下lib文件夹到项目根目录(即D:\eclipse\workplace\Heritrix);
6、复制ZIP包下webapps文件夹到项目根目录(D:\eclipse\workplace\Heritrix);
补充1点:(将项目conf文件夹下的modules文件夹剪切到bin目录下),否则后面可能在配置抓取种子时,在Modules选项出现没有下拉框给你选。
做好了以上,在Eclipse中Heritrix项目右击刷新一下,就可以看到刚才所复制的包了。
7、在Eclipse中修改项目conf下heritrix.properties文件(
修改内容至少两个两个地方:
@VERSION@ 改为 1.14.3
heritrix.cmdline.admin = 改为 heritrix.cmdline.admin = admin:xxm (这里是用户名与密码,可任读者设定.)
heritrix.cmdline.port = 改为 heritrix.cmdline.port = 8080 (注默认是8080的如果你已占用了这个端口号的话,要设另一个才行,虽然我电脑上的tomcat、
端口也是8080但我试了下只要你不开tomcat这里默认的8080还是能用,但我还是改为了8088)
接下来配置myeclipse下的conf文件下的Heritrix.properties,主要配置四项:如下红色部分所示
##############################################################################
# Properties with prefixes 'heritrix.', 'org.archive.', or 'system.' prefix
# get copied into System.properties on startup so available via
# System.getProperties. (For 'system.' properties, that prefix is stripped.
# (See Heritrix.loadProperties()).
# Version is filled in by the maven.xml pregoal. It copies here the project
# currentVersion property.
heritrix.version = 1.14.3
# Location of the heritrix jobs directory.
heritrix.jobsdir = jobs
# Default commandline startup values.
# Below values are used if unspecified on the command line.
heritrix.cmdline.admin = admin:admin
heritrix.cmdline.port = 8088
heritrix.cmdline.run = false
heritrix.cmdline.nowui = false
heritrix.cmdline.order =
heritrix.cmdline.jmxserver = false
heritrix.cmdline.jmxserver.port = 8081
##############################################################################
改好了以上的,别忘了保存一下哦.
8、在项目Heritrix上右键选择构建路径->配置构建路径->库选项卡->添加Jar,将lib目录下的所有.jar文件选中,点击完成!
9.将conf文件夹下改好的heritrix.properties 文件复制一份到src文件夹(这一步不知道是不是必须的,我是在别人博客说这样好些)
10.将myeclipse的Hertrix项目的src文件夹改名为sourcefolder(我开始没这样做后来报了异常,开始还没太在意,仍然如数http://localhost:8088:
错误:“null”
致命错误:“无法编译样式表”
12/24/2008 10:34:05 +0000 严重 org.archive.crawler.framework.WriterPoolProcessor getFirstrecordBody Failed transform javax.xml.transform.TransformerConfigurationException: 无法编译样式表
12/24/2008 10:34:05 +0000 严重 org.archive.io.arc.ARCWriter getMetadataLength Unsupported metadata type: null
12/24/2008 10:34:15 +0000 严重 org.archive.io.arc.ARCWriter getMetadataLength Unsupported metadata type: null
)
然后在进去heritrix后的Modules页面也会不会出现那些change和add按钮让选择,当你配置完了后运行还会警告。
13.在Eclipse下启动Heritrix,找到项目src下的org.archive.crawler包下的主类Heritrix.java鼠标右键->运行。等成功看到heritrix版本信息后就说明你运行成功了。
然后接下来进去后配置抓取网站的信息网上很多,那个也很简单我也就不太啰嗦了。