1.下载
到官网http://sourceforge.net/projects/archive-crawler/下载最新版,heritrix每个版本都提供4个下载文件(tar.gz, src.tar.gz,zip, src,zip)。我下载了:
heritrix-1.14.4.zip
heritrix-1.14.4-src.zip
两个文件。
2.安装
第一种是直接在命令行中配置,解压heritrix-1.14.4.zip到C盘根目录,并更名为heritrix,复制C:\heritrix\conf目录下的jmxremote.password.template文件到目录下,并更名为jmxremote.password,并像下面一样修改其内容(最后两行):
monitorRole @123456789@ ->monitorRole admin (@于@之间设置的是密码)
controlRole @123456789@ ->controlRole shi (后面是:->用户角色 用户名)
然后进入c:\heritrix\conf打开文件heritrix.properties,修改其中的几项key-value值
heritrix.cmdline.admin = admin:770629 (用户名:密码)
heritrix.cmdline.port = 8080 (heritrix服务器默认端口号8080,保证该端口不被占用就行了)
最后.打开cmd,切换目录到c:\heritrix\bin,敲入命令:heritrix --admin=admin:123456789
启动时,可能出现warning:
WARNING: It's currently not possible to run Heritrix in background
on Windows. It was just started minimized in a new Window
and will be shut down as soon as you log off.
不用管,我也不知道什么意思。
第2种是在eclipse(或myeclipse)中导入源码,运行。我在myeclipse中配置,首先,新建一个web project,解压之前下载的src.zip文件,从src中复制java文件夹下的org和st目录到工程的src目录下,复制src中conf文件夹到工程根目录下,复制src中lib目录下的所有jar文件到工程的WEB-INF目录下,从第一种方法中的heritrix目录中的webapps目录下复制admin.war和selftest.war到工程的WebRoot目录下,然后,修改conf文件夹下的heritrix.properties文件,如第一种方法所述即可。导入源码的过程中可能报一个错,找到错误,删除override注解即可。由于我使用的是myeclipse,所以还需要修改Heritrix.java中的getWarsdir()方法,修改其中的webapps为WebRoot即可。还可能报错,找不到tlds-alpha-by-domain.txt文件,从src中的resource目录下找到该文件,拷贝到相应位置即可。最后,运行Heritrix.java文件,即可启动heritrix。
3.使用
启动heritrix后,从浏览器http://127.0.0.1:8080/进入web UI界面,输入用户名密码。
第1个界面:
点击jobs进入第2个界面:
点击with defaults进入第3个界面,在seeds处输入要爬取的网站根域名:
点击modules进入第4个界面,如图倒数第3项,选择org.archive.crawler.writer.MirrorWriterProcessor:
点击setting进入第5个界面,如图,其中“user-agent”中的“PROJECT_URL_HERE”对应自己的完整URL地址,“from”中设置自己的合法email地址,这两项设置其实可随便设置,只要格式规则合法即可。
最后,点击sunmit job,在console界面就可以start程序了,启动程序后,heritrix会将爬取到的网页放在jobs目录下。