一、框架介绍
如果某个项目要用到全文检索,检索对象是一些网站的网页内容,要使用到网络爬虫工具。
目前技术选型对象主要有两个:
Heritrix 和
Nutch。二者均为Java开源框架,
Heritrix 是 SourceForge上的开源产品,Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛(
Web Crawler),它们实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地,使用的方法都是分析网站每一个有效的URI,并提交Http请求,从而获得相应结果,生成本地文件及相应的日志信息等。
下面是两者的简单介绍,摘自网络:
Heritrix 是个 "archival crawler" -- 用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相同的URL不针对先前的进行替换。爬虫通过Web用户界面启动、监控、调整,允许弹性的定义要获取的URL。
Nutch:(1)Nutch 只获取并保存可索引的内容。 Heritrix 则是照单全收。力求保存页面原貌,导致了很多无用的数据结果。(2)Nutch 可以修剪内容,或者对内容格式进行转换。(3)Nutch 保存内容为数据库优化格式便于以后索引;刷新替换旧的内容。而 Heritrix 是添加(追加)新的内容。(4)Nutch 从命令行运行、控制。 Heritrix 有 Web 控制管理界面。(5)Nutch 的定制能力不够强,不过现在已经有了一定改进。 Heritrix 可控制的参数更多。
二、关于Heritrix使用的初步总结
目前对Heritrix做了初步选型测试,有了一些总结,对于使用Heritrix抓取网页有两种方法,一种方法是直接安装,如下步骤,一种方法是在Eclipse中进行部署,运行测试抓取网页具体配置参考网址:
http://www.ibm.com/developerworks/cn/opensource/os-cn-heritrix/
1.关于安装:
目前的版本号为1.12.1,官网地址为
http://crawler.archive.org/
。常规安装,即解压到相关目录,之后配置系统环境变量"
HERITRIX
_HOME"到该解压目录(Java环境已经配置好)。
2.安装的后续工作:
将 %
HERITRIX
_HOME%\
heritrix
-1.12.1.jar 解压到临时目录,拷贝其中的profiles目录到 %
HERITRIX
_HOME%\conf\目录下,用来解决
Heritrix
关于的Profile默认配置的一个Bug。 <