长假归来,正式进入“全文搜索”产品的开发阶段,虽然是给门户网站使用的全文搜索,但是由于是要做成傻瓜式的产品,所以需要使用爬虫来获取网站的内容,然后再用Lucene来搜索,这Lucene还好说,可是爬虫就不好办了,虽然开源的东西不少,可是一个爬虫程序都没接触过,这可咋办呢?好在手边有本关于搜索引擎的书,书中的爬虫程序使用的是“Heritrix”,干脆,就用书中的这个就得了。
sourceforge下载最新的版本——heritrix-1.14.3.zip,解压以后放到我电脑的E盘根目录,文件夹重命名为heritrix,这样做是有个好处的,后面你就知道了 。解压好以后,照着书上的内容继续往下做,就要启动它了。好嘛,启动的命令可真够长的,我也不能每次都手动输入啊,算了,先在记事本里写好再说吧。复制粘贴?也够麻烦的,有了,改成bat文件试试。打开cmd进到E:\heritrix下,运行bat文件,哈哈,成功了,能运行了。不错,不错,恭喜一下自己
运行之前,需要修改conf目录下的heritrix.properties文件中的“heritrix.cmdline.admin = ”这行,在“=”后面输入“username:password”,重新启动一次,在浏览器地址栏输入“http://localhost:8080/”回车,在页面中输入用户名和密码,如下图:

  
点击Login按钮,进入主界面,如下图:


  点击“Jobs”,在页面中选择“With defaults”,创建一个新的Job,name和description可以随意填写,具体配置如下图:

然后点击Modules按钮,进入下一级配置菜单,“Crawl Scope”和“URI Frontier”选择好以后要点击“change”按钮,其他的选号以后要点击“Add”按钮,具体配置如下图:


  需要注意的是Crawl Scope 不要选择“BroadScope”,推荐选择“HostScope”,因为“BroadScope”方式是会对所有网站进行抓取,而不是根据输入的网址进行抓取。设置好Modules以后,点击Settings,进入如下图所示页面

  图中标注的地方为需要修改的内容,其他地方不需要修改,默认即可。然后点击“Submit job”保存Job。保存以后,可以在Job页面看到如下信息


  这样就建立了一个简单的Job,然后点击Console,回到管理页面,我们可以看到有一个“Start”,如下图

点击以后,这个简单的Job就能工作了,哈哈,大功告成,happy 。可以通过Pause来暂停抓取,也可以通过Terminate来停止抓取。

通过测试,我发现HostScope方式,虽然是根据主机来抓取,但是还是会解析出页面中的其他URL从而继续抓取,这也就造成了抓取的内容不止是输入的网址,也许还会有其他的网址的内容,等我测试过所有的方式以后,再和大家分享。

附件是我写的bat文件,使用1.14.3版本的朋友,修改相应的路径就可以运行了