爬虫Labin,Nutch,Neritrix介绍和对比 http://www.open-open.com/bbs/view/1325332257061
Larbin
开发语言: C++
http://larbin.sourceforge.net/index-eng.html
larbin是个基于C++的web爬虫工具,拥有易于操作的界面,不过只能跑在LINUX下,在一台普通PC下larbin每天可以爬5百万个页面(当然啦,需要拥有良好的网络)
简介
Larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。
Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。
Latbin最初的设计也是依据设计简单但是高度可配置性的原则,因此我们可以看到,一个简单的larbin的爬虫可以每天获取500万的网页,非常高效。
功能
larbin 获取单个、确定网站的所有联结,甚至可以镜像一个网站。
larbin建立 url 列表群,例如针对所有的网页进行 url retrive后,进行xml的联结的获取。或者是 mp3 。
larbin 定制后可以作为搜索引擎的信息的来源 (例如可以将抓取下来的网页每2000一组存放在一系列的目录结构里面) 。
问题
Labin的主要问题是,:
仅提供保存网页保存功能,没有进行进一步的网页解析;
不支持分布式系统;
功能相对简单,提供的配置项也不够多;
不支持网页自动重访,更新功能;
从2003年底以后,Labin已经放弃更新,目前处于荒芜长草的状态
******
Nutch
开发语言: Java
http://lucene.apache.org/nutch/
简介:
Apache的子项目之一,属于Lucene项目下的子项目。
Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而且很容易集成到自己的应用之中。
总体上Nutch可以分为2个部分: 抓取部分和搜索部分。抓取程序抓取页面并把抓取回来的数据做成反向索引,搜索程序则对反向索引搜索回答用户的请求。抓取程序和搜索程序的接口是索引,两者都使用索引中的字段。抓取程序和搜索程序可以分别位于不同的机器上。下面详细介绍一下抓取部分。
抓取部分:
抓取程序是被Nutch的抓取工具驱动的。这是一组工具,用来建立和维护几个不同的数据结构: web database, a set of segments, and the index。下面逐个解释这三个不同的数据结构:
The web database, 或者WebDB。这是一个特殊存储数据结构,用来映像被抓取网站数据的结构和属性的集合。WebDB 用来存储从抓取开始 (包括重新抓取) 的所有网站结构数据和属性。WebDB 只是被 抓取程序使用,搜索程序并不使用它。WebDB 存储2种实体: 页面 和 链接。页面 表示 网络上的一个网页,这个网页的Url作为标示被索引,同时建立一个对网页内容的MD5 哈希签名。跟网页相关的其它内容也被存储,包括: 页面中的链接数量 (外链接) ,页面抓取信息 (在页面被重复抓取的情况下) ,还有表示页面级别的分数 score 。链接 表示从一个网页的链接到其它网页的链接。因此 WebDB 可以说是一个网络图,节点是页面,链接是边。
...