今天折腾了半天,终于把Heritrix配置好了,真是太不容易了,要把这个过程写下来。
配置:
1.下载heritrix-1.14.3: http://sourceforge.net/projects/archive-crawler/files/archive-crawler%20%28heritrix%201.x%29/1.14.3/heritrix-1.14.3.zip/download
2.解压到D:\dev\heritrix-1.14.3
3.把heritrix-1.14.3.jar解压并把里面的profiles文件夹拷到conf下
4.修改conf目录下的heritrix.properties为
heritrix.cmdline.admin = admin:admin(表示用户名和密码都是admin,用:分开)
heritrix.cmdline.port = 8080
4.把conf目录下的jmxremote.password.template另存为jmxremote.password并移动到D:\dev\heritrix-1.14.3目录下
5.设置环境变量:
在系统变量里新建 HERITRIX_HOME=D:\dev\heritrix-1.14.3
并在系统变量的path后添加;%HERITRIX_HOME%\bin
6.在命令行下输入heritrix --admin=admin:admin启动heritrix。
抓取任务的创建:
1.在地址栏输入http://localhost:8080出现heritrix,说明已经启动成功。输入用户名和密码并登陆。
2.点击“Jobs”标签页,会出现:
Create New Job
Based on existing job
Based on a recovery
Based on a profile
With defaults
第一次创建就选"With defaults",输入Name of new job, Description ,seeds的地址,seeds的地址要特别注意,比如http://news.sohu.com/(最后那个/是必须的),如果要输入多个url,可以用回车隔开,也就是每行一个url。
3.点下面的“modules"设置Writers,把默认的ARCWriterProcessor删除,添加MirrorWriterProcessor。
4.点“settings”设置 http-headers(这是非常非常重要的一点,当时折磨了我一个多小时,都快崩溃了,不过关键是我没好好利用起我那本书,要不然就不至于这么惨烈)
给个例子吧,就全明白了:
user-agent:IE/7.0 (compatible; heritrix/1.14.3 +http://10.2.21.240)
from:
[email protected]
最重要的是user-agent中http前的那个+号,我就因为它一直没跑通,from中填写email地址,只要是email格式的就行
5.最后点击“submit job”就完成了job的创建
6.点“Console”中的start就能开始抓取任务,然后我们就可以在Job Status看到任务的执行情况。
就这样,我顺利爬取了第一个任务,加油加油,继续努力,期待我的搜索引擎尽快出炉。