用Lucene做了一个能实现全文搜索功能的程序(不敢说是搜索引擎)。但是用的文本是本地的语料库。希望用爬虫去爬爬网上的东西,就了解了下Heritrix。
现在网上关于Heritrix的资料还是比较多的,所以学习起来曲线也不大。
Heritrix版本:1.14.4。
1、从网上下载到Heritrix的源代码,解压。
2、在eclise下建立新的工程,取名:HeritrixLearning。
3、把源代码下面的heritrix-1.14.4\src\java目录中的st、org、com文件件copy到工程的src目录下:这就是Hetrix的源码了。
4、把heritrix-1.14.4\src目录下的conf、webapps文件夹copy到工程的根目录下。
5、把heritrix-1.14.4\src\resources\org\archive\util目录下的tlds-alpha-by-domain.txt copy到工程的org.archive.util包里。
6、从heritrix的jar包(heritrix-1.14.4.jar)(注意:这里不再是源码了)中解压出arcMetaheaderBody.xsl文件,放到工程的src目录下。如果没有这个,Heritrix运行时会报错的。
错误:“null”
致命错误:“无法编译样式表”
7、打开conf目录下的heritrix.properties:修改为:
- # Default commandline startup values.
- # Below values are used if unspecified on the command line.
- heritrix.cmdline.admin = admin:admin
8、运行Heritrix:工程中找到org.archive.crawler.Heritrix.java,右键选运行方式配置,选择Classpath ,选择User Entries -- Advanced ,选择Add Folders,将conf文件夹添加进去。点击Run 开始运行
如果正常的话,显示如下:
07:34:47.484 EVENT Starting Jetty/4.2.23
07:34:47.906 EVENT Started WebApplicationContext[/,Heritrix Console]
07:34:48.125 EVENT Started SocketListener on 127.0.0.1:8080
07:34:48.125 EVENT Started org.mortbay.jetty.Server@133f1d7
Heritrix version: @VERSION@
9、 打开浏览器,输入http://localhost:8080
则会到heritrix的登录口:输入admin(用户名密码一样的)
10、新建一下job,这个网上有很多,这里不细说。
会有错误就是:jobs下面没有mirror文件夹。怎么办呢,在创建job设置Modules时,将Select Writers设置成org.archive.crawler.writer.MirrorWriterProcessor ,一定要注意,选完后,要点一下那个add按钮。
OK,剩下的事儿就是到工程的代码下找job文件夹看爬下来的东东了。
真正应用Heritrix其实是没有那么简单的,很多东西都需要我们自己制定。
在http://localhost:8080/jobs/modules.jsp
参考博客:http://hi.baidu.com/zhouyang209117/item/a32d0abdf91e2943ba0e1284
Eclipse下配置Heritrix:http://hanyuanbo.iteye.com/blog/777451