1 安装
1.1 首要条件
使用Windows XP / 2003 均可。必须有JAVA环境,请自行安装J2SE jre/jdk。我使用的版本是JAVA SE 1.6.0_02。
1.2 下载Heritrix
Heritrix的主页:http://crawler.archive.org/
下载页面:http://crawler.archive.org/downloads.html,在此页面中选择 Sourceforge Downloads进入下载列表,选择一个版本的ZIP压缩包进行下载。当前最新的版本是Heritrix-1.12.1。
1.3 安装、配置Heritrix
1、将得到的Heritrix压缩包直接解压缩到某一目录,我选择的是D:/Heritrix。
2、将 /Heritrix 目录中的heritrix-1.12.1.jar文件解包,把 profiles/default 下的两个文件order.xml和seeds.txt复制到 /heritrix/conf 目录。
3、以文本编辑方式打开 /heritrix/conf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 项的后面加入你所要设定的管理员账户和密码,用“:”分割,如:
heritrix.cmdline.admin = admin:pwd1234
4、复制 /heritrix/conf 下的jmxremote.password.template文件到主目录/Heritrix 下,并更名为jmxremote.password。编辑此文件,更改最后两行"monitorRole @PASSWORD@"、"controlRole @PASSWORD@"中的"@PASSWORD@"为管理员密码。如:
monitorRole pwd1234
controlRole pwd1234
2 运行
2.1 系统自带脚本运行
在目录 /heritrix/bin 下可见“heritrix.cmd”脚本文件,这就是heritrix的运行脚本文件。直接双击运行则命令窗口会一闪而过,并没有启动起来。这里其实需要带参数才能运行。可在 /heritrix/bin 目录下建立一个脚本文件,如 run.cmd 包含内容如下:
heritrix.cmd --admin=admin:pwd1234
双击此脚本,至此Heritrix即运行起来。
在XP下,此方法运行时会产生两个窗口,第一个窗口即脚本窗口,在第一次运行时候会显示提示“需要更改jmxremote.password属性为只读,是否更改?Y,N”,请选择Y。第二个窗口显示Heritrix运行状况。运行成功后前一个窗口会自动关闭,第二个窗口中显示Heritrix版本号。内容见图1。
而在2003std版本下运行此脚本文件并不会有更改文件只读属性的提示,Heritrix启动起来后脚本命令窗体关闭,仅保留Heritrix运行状况窗体。
2.2 自写命令运行
另外一种方法是自己建立一个脚本文件运行heritrix。在 /heritrix/bin 目录下建立文件run.bat,脚本内容如下[参考文献1]:
java -Xmx512m -Dheritrix.home=D://heritrix -cp "D://heritrix//lib//commons-codec-1.3.jar;
D://heritrix//lib//commons-collections-3.1.jar;D://heritrix//lib//dnsjava-2.0.3.jar;
D://heritrix//lib//poi-scratchpad-2.0-RC1-20031102.jar;
D://heritrix//lib//commons-logging-1.0.4.jar;D://heritrix//lib//commons-httpclient-3.0.1.jar;
D://heritrix//lib//commons-cli-1.0.jar;D://heritrix//lib//mg4j-1.0.1.jar;
D://heritrix//lib//javaswf-CVS-SNAPSHOT-1.jar;D://heritrix//lib//bsh-2.0b4.jar;
D://heritrix//lib//servlet-tomcat-4.1.30.jar;D://heritrix//lib//junit-3.8.2.jar;
D://heritrix//lib//jasper-compiler-tomcat-4.1.30.jar;D://heritrix//lib//commons-lang-2.3.jar;
D://heritrix//lib//itext-1.2.0.jar;D://heritrix//lib//poi-2.0-RC1-20031102.jar;
D://heritrix//lib//jetty-4.2.23.jar;D://heritrix//lib//commons-net-1.4.1.jar;
D://heritrix//lib//libidn-0.5.9.jar;D://heritrix//lib//ant-1.6.2.jar;
D://heritrix//lib//fastutil-5.0.3-heritrix-subset-1.0.jar;D://heritrix//lib//je-3.2.23.jar;
D://heritrix//lib//commons-pool-1.3.jar;D://heritrix//lib//jasper-runtime-tomcat-4.1.30.jar;
D://heritrix//heritrix-1.12.1.jar" org.archive.crawler.Heritrix
此方法运行Heriterx不会有任何提示和其他窗口,直接显示Heritrix运行状况窗体。
3 任务
3.1 登录
通过以上步骤Heritrix已经运行起来,可通过浏览器访问其WebUI。在浏览器地址栏中输入地址:http://127.0.0.1:8080/,出现Heritrix的登录界面,如图2:
输入前面我们设置的用户名及密码登录,登录成功后界面如图3:
3.2 建立抓取任务
3.2.1 新建任务
单击图3所显示的WebUI中的“Jobs”菜单进入任务设置页面,如图4:
点选图4中所示的“With defaults”,按照默认的设置创建一个新的抓取任务。可如图5所示进行设置:
任务名字可随便起,种子地址可以添加多个,但需要是包含http和最后的斜杠在内的完整网址,这里测试使用百度的网址。之后点击左下角的Modules按钮,进入处理链设置页面。
3.2.2 处理链的设置
具体设置不再进行说明,可参见参考书目1中的内容(CSDN有免费试读),设置如图6:
设置方法很简单,就是在下拉列表中选择好,点击Add添加即可。之后的设置可参考图中内容,要注意每一项处理器设置都是有顺序关系的。每一项的名称其实都揭示了其作用,这里不再描述,需要中文的请看参考书目1。
3.2.3 运行参数设置
处理链设置完成后,点击图7中所示菜单的“Settings”项,进行运行参数的设置。
进入运行参数设置页面后,有很多可以设定的参数,对于需要了解详情的设置,请点击设置框左边的“?”号,可看到弹出的帮助信息。最简单的可只更改“HTTP-Header”项中的内容,更改其属性值“user-agent”和“from”。修改内容如图8:
设置完成后,点击如图9所示任务提交菜单项,即完成全部任务的建立工作。
3.3 运行任务
通过提交设定好的任务,页面返回到Jobs的主菜单,可看到如图10画面:
在图10中,我们可以看到红色字说明一个任务已经被建立,在页面下方有任务的一些信息和设置菜单。此时点击左上角的“Console”菜单,返回主页面,看到如图11:
按照图11中的红色说明,点击“Start”可以开始任务。如图12:
点击左下角红色框标出的“Refresh”选项,可以刷新任务状态。图13是刚刚开始的任务状态:
从图14中我们可以看到,抓取速度是很快的,之前“Settings”选项中的抓取线程使用了默认的100线,此时全部已经使用,抓取速度达到了195KBs,每秒7.7个URIs。
抓取后的网站结构和文件保存如图15:
至此,Heritrix的简单抓取任务设置描述完毕。希望对大家有所帮助。