- Nutch是基于Java的开源搜索引擎。
- Nutch有如下优点:简单,支持分布式爬虫。
- Nutch爬虫的设计着重两个方面:
- 存储过程
- 爬虫过程
- Nutch存储主要使用数据文件,数据文件有三类:
- Web database,也叫WebDB,仅在爬虫中使用,用于存储爬虫抓取的网页之间的链接结构信息。WebDB存储了两种实体信息:
- Page 描述网页的特征信息,包括网页内的链接数目、网页的抓取时间、网页权重等,相当于图的节点。
- Link 描述两个Page之间的链接关系,相当于图的边。
- segment 存储一次抓取过程中抓到的网页以及索引信息。
- index 指爬虫抓取的所有网页的索引,由segment的索引合并处理得到
- Web database,也叫WebDB,仅在爬虫中使用,用于存储爬虫抓取的网页之间的链接结构信息。WebDB存储了两种实体信息:
- Nutch利用Lucene技术进行索引,Lucene的段与Nutch的段不同。Lucene的段是索引的一部分,而Nutch中段和索引是各自独立的。
- 在 Nutch 中,抓取操作的实现是通过实现一系列子操作来完成的。 Nutch 提供了子命令行可以单独调用这些子操作:
- 创建一个新的 WebDB (admin db -create),并且将起始 URL 写入 WebDB (inject)。
- 根据 WebDB 生成预取列表并写入相应的 segment(generate)。
- 根据预取列表中的 URL 抓取网页(fetch)。
- 解析(parse)获得的网页。
- 根据网页内的 URL 更新 WebDB(updateDB)。
- 循环进行(2)~(5)步直至预先设定的抓取深度。<
Nutch简介
最新推荐文章于 2019-05-16 09:29:51 发布
Nutch是一个基于Java的开源搜索引擎,采用分布式爬虫设计,利用Lucene进行索引,并基于HDFS进行分布式存储。其工作流程包括创建WebDB、生成预取列表、抓取、解析、更新、索引、去重和合并索引。Nutch支持数据文件存储,包括WebDB、segment和index,并通过MapReduce进行计算。
摘要由CSDN通过智能技术生成