一、下载heritrix-1.14.4下载链接 http://sourceforge.net/projects/archive-crawler/files/archive-crawler%20%28heritrix%201.x%29/1.14.4/
需要下载的压缩文件包有两个,如下: heritrix-1.14.4.zip 和 heritrix-1.14.4-src.zip
二、安装程序
新建Java Project工程,在Eclipse中新建一个Java Project工程,删除掉工程中的两个文件目录bin和src。
向新建的Java Project添加Heritrix-1.14.4文件
将目录heritrix-1.14.4-src\src\java\下面的三个目录:org,com,st一起拷贝到新建工程目录下面。
将目录heritrix-1.14.4-src\src\conf\下面的:三个目录(包括:modules、profiles、selftest),以及四个文件(heritrix.properties、jmxremote.password.template、heritrix.cacerts、jndi.properties)一起拷贝到新建的工程目录下面。
将目录heritrix-1.14.4-src\src\resources\下面的三个文件,包括:arcMetaheaderBody.xsl等拷贝到新建的工程目录下。
将目录heritrix-1.14.4\下面的webapps目录拷贝到新建工程目录下这里,webapps目录下面有两个WAR包(即admin.war和selftest.war)。
刷新工程右键单击工程,将heritrix-1.14.4\下的lib文件夹拷贝到工程下。然后将文件的路径加入工程中。
add External Archives在弹出的窗口中选择添加目录 heritrix-1.14.4-src\heritrix-1.14.4\lib。
修改工程里class文件中的第3行和倒数第2行为<classpathentry kind="src" path=""/>
<classpathentry kind="output" path=""/>
修改heritrix.properties属性文件
修改heritrix.version=1.14.4,heritrix.jobsdir到抓取的数据存储的位置(默认的jobs),heritrix.cmdline.admin(admin:admin)登录账号密码,heritrix.cmdline.port(8085)运行的端口。
运行package org.archive.crawler包中Heritrix.java文件即可完成配置
在浏览器中输入http://localhost:8085/即进入页面。
三、开始抓取任务
(1) 登陆后,在导航栏选择"Jobs",呈现的第一项是"Create New Job",选择第四小项"With defaults"。输入项的前两项Name和Description随意,Seeds非常重要:http://www.name.com/ 注意最后一个反斜杠必须。
(2) 选择下边的"Modules",进入Module配置页(Heritrix的扩展功能都是通过模块概念实现的,可以实现自己的模块完成自己想要的功能)。其中第一项 "Select Crawl Scope" 使用默认的 "org.archive.crawler.deciderules.DecidingScope"。倒数第三项 "Select Writers " 删除默认的 "org.archive.crawler.writer.ARCWriterProcessor" ,后添加"org.archive.crawler.writer.MirrorWriterProcessor",这样执行任务的时候抓取到的页面会以镜像的方式放在本地的目录结构中,而不是生成ARC存档文件。
(3) 选择"Modules"右边的"Submodules",在第一项内容中 "crawl-order ->scope->decide-rules->rules" 删除掉其中的 "acceptIfTranscluded" (org.archive.crawler.deciderules.TransclusionDecideRule) 的这一项抓取作用域的规则。否则当Http请求返回301或者302时Heritrix会去抓取其他域下的网页。
(4) 在第二行导航栏中选择"Settings"进入Job的配置页面,其中主要修改两项:http-headers 下的user-agent 和 from:
user-agent主要是指运行Heritrix的用户的配置,即使用者的机器配置。首先是浏览器的选择,比如IE/7.0;其中 @VERSION@是指使用Heritrix的版本号,这里应该是1.14.4;最后面的PROJECT_URL_HERE是指本机地址:http://127.0.0.1。
(5) 在第二行导航栏中选择最右边的"Submit job"
(6) 在第一行导航栏中选择第一项的"Console",点击"Start",抓取任务正式开始,时间长短有网络状况和所抓取网站的深度有关。