`
wwty
  • 浏览: 543115 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

nutch的抓取策略

 
阅读更多

1.Web database,也叫WebDB,其中存储的是爬虫所抓取网页之间的链接结构信息,它只在爬虫Crawler工作中使用而和Searcher的工作没有任何关系。WebDB内存储了两种实体的信息:page和link。

 

针对page:

Page实体通过描述网络上一个网页的特征信息来表征一个实际的网页,因为网页有很多个需要描述,WebDB中通过网页的URL和网页内容的MD5两种索引方法对这些网页实体进行了索引。

Page实体描述的网页特征主要包括网页内的link数目,抓取此网页的时间等相关抓取信息,对此网页的重要度评分等。

 

针对link:

同样的,Link实体描述的是两个page实体之间的链接关系。

 

WebDB构成了一个所抓取网页的链接结构图,这个图中Page实体是图的结点,而Link实体则代表图的边。

 

总结:完成了入口url的分析,从入口url提取urllist集合

 

2.一次爬行会产生很多个segment,每个segment内存储的是爬虫Crawler在单独一次抓取循环中抓到的网页以及这些网页的索引。Crawler爬行时会根据WebDB中的link关系按照一定的爬行策略生成每次抓取循环所需的fetchlist,然后Fetcher通过fetchlist中的URLs抓取这些网页并索引,然后将其存入segment。Segment是有时限的,当这些网页被Crawler重新抓取后,先前抓取产生的segment就作废了。在存储中。Segment文件夹是以产生时间命名的,方便我们删除作废的segments以节省存储空间。

 

总结:根据webdb当中存放的url完成数据抓取

 

 

 

3.index是Crawler抓取的所有网页的索引,它是通过对所有单个segment中的索引进行合并处理所得的。Nutch利用Lucene技术进行索引,所以Lucene中对索引进行操作的接口对Nutch中的index同样有效。但是需要注意的是,Lucene中的segment和Nutch中的不同,Lucene中的segment是索引index的一部分,但是Nutch中的segment只是WebDB中各个部分网页的内容和索引,最后通过其生成的index跟这些segment已经毫无关系了。

 

总结:建立索引的过程

 

 

Crawler的工作原理:首先Crawler根据WebDB生成一个待抓取网页的URL集合叫做Fetchlist,接着下载线程Fetcher根据Fetchlist将网页抓取回来,如果下载线程有很多个,那么就生成很多个Fetchlist,也就是一个Fetcher对应一个Fetchlist。然后Crawler用抓取回来的网页更新WebDB,根据更新后的WebDB生成新的Fetchlist,里面是未抓取的或者新发现的URLs,然后下一轮抓取循环重新开始。这个循环过程可以叫做“产生/抓取/更新”循环。

分享到:
评论

相关推荐

    Nutch 1.2源码阅读

    - **`crawlDb`**:存储待抓取和已抓取的URL信息,是Nutch抓取策略的基础。 - **`linkDb`**:记录网页间的链接关系,用于计算页面排名(如PageRank算法)。 - **`segments`**:临时存储每次抓取的网页数据,便于后续...

    nutch

    Nutch 的配置文件(如 `conf/nutch-site.xml`)需要根据实际需求进行调整,比如设置抓取策略、设置抓取间隔、调整抓取范围等。Nutch 还提供了命令行工具,如 `bin/nutch crawl`,用于启动爬虫流程。 **Nutch 入门...

    apache-nutch

    4. **策略插件**:Nutch 允许用户自定义抓取策略,例如根据网页类型、优先级等进行抓取。 **二、分布式爬虫架构** 1. **Hadoop集成**:Nutch 使用Hadoop作为其基础平台,实现分布式抓取和处理,有效应对大数据量的...

    nutch09版本亲测好用

    Nutch 0.9 提供了一个灵活的抓取框架,允许用户自定义抓取策略。它使用 URL管理器来跟踪已抓取和待抓取的URL,并且能够根据抓取策略决定何时以及如何抓取新页面。 4. **链接分析**: Nutch 使用了 PageRank 算法...

    Nutch入门教程 高清 带书签

    学习Nutch,需要熟悉其配置文件,如`conf/nutch-site.xml`,其中包含了各种参数设置,如抓取间隔、抓取策略、存储路径等。同时,还需要配置`conf/regex-urlfilter.txt`和`conf/fetcher.properties`等文件,以实现...

    nutch网页爬取总结

    配置 Nutch 的 `conf/nutch-site.xml` 文件以设置存储路径、抓取策略等参数。 - **安装 Tomcat**:Tomcat 用于运行 Nutch 的 UI 部分,执行 `sudo apt-get install tomcat8`(Ubuntu)或 `yum install tomcat`...

    nutch使用&Nutch;入门教程

    还需要配置Nutch的`conf/nutch-site.xml`文件,指定抓取策略、存储路径、爬虫范围等参数。 四、Nutch工作流详解 Nutch的工作流程包括多个步骤,如生成段(Segments)、迭代抓取(Fetch)、解析(Parse)、更新链接...

    nutch1.2 java project

    6. **抓取策略**:Nutch 提供了基于链接分析的抓取策略,通过 PageRank 或其他算法确定哪些页面应该优先抓取。 7. **存储与索引**:Nutch 可以将抓取的网页存储在 HDFS 上,并使用 Apache Solr 或 Elasticsearch ...

    Lucene+Nutch本书源码+详细说明

    通过分析这些源码,我们可以学习如何将Nutch抓取的网页内容转化为适合Lucene索引的格式,如何使用Lucene的API构建和更新索引,以及如何设计查询解析器和搜索结果排序算法。 总的来说,这个资源对于想要深入了解搜索...

    nutch入门教程

    这要求对Nutch的数据集和抓取策略有更深入的理解,包括如何设定合理的抓取频率,以及如何处理海量的抓取数据。 #### 4. Nutch基本原理分析 **4.1 Nutch的基本组成** Nutch由多个核心组件构成,包括爬虫(负责网页...

    nutch2.2.1

    8. **Conf**: 配置文件,用于设置Nutch的行为,如抓取策略、解析规则等。 Nutch 2.2.1 版本中的关键特性包括: - **多线程抓取**: 提高了网页抓取的效率,通过并发处理多个URL。 - **可扩展性**: 基于Hadoop,可以...

    搜索引擎nutch配置

    根据需求,可能需要调整Nutch的抓取策略、抓取深度、并发度等参数,以达到最佳性能。同时,遇到问题时,查看错误日志和堆栈跟踪是定位问题的关键。 11. **Nutch与其他系统集成** Nutch可以与HBase、Cassandra等...

    Nutch2.3.1 环境搭建

    - 配置抓取策略,如`db.ignore.external.links`,`db.ignore.internal.links`等。 - 配置存储路径,如`generators.out.dir`,`solr.server.url`(如果需要集成Solr)。 3. `regex-urlfilter.txt`:定义URL过滤规则...

    nutch-1.9 源码

    开发者可以编写自定义插件来扩展其功能,如改变抓取策略、定制解析规则等。 9. **配置文件**:Nutch的配置文件(如`conf/nutch-site.xml`)是其易用性的关键。通过修改这些配置文件,用户无需深入代码就能调整爬虫...

    nutch-2.1源代码

    用户可以通过修改配置文件来调整爬虫的行为,如设置抓取间隔、抓取策略等。同时,Nutch有许多可插拔组件,如解析器、索引器、搜索引擎等,可以方便地替换或扩展。 7. **分布式计算**:Nutch-2.1虽然适用于Windows...

    apache-nutch-2.3

    3. **网页抓取**:Nutch 使用 HTTP 协议抓取网页,支持多种编码格式,并且可以配置抓取策略,如抓取频率、深度等。 4. **网页解析与预处理**:Nutch 内置了 HTML 解析器,可以将HTML内容转化为文本,去除噪声,提取...

    nutch2.2.1-src

    7. **配置文件**:Nutch的配置文件非常重要,它们定义了爬虫的行为、抓取策略、抓取间隔、存储路径等参数。开发者可以通过修改配置文件来调整Nutch的行为。 配合博客文章`...

    nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据

    3. **抓取阶段**:Nutch 会根据发现的链接构建一个待抓取的URL队列,并按照一定的策略(如深度优先、广度优先)进行抓取。这个过程会持续进行,直到达到预设的抓取限制。 4. **解析阶段**:抓取的网页内容会被解析...

    nutch根据URL来查找快照

    1. **配置Nutch**: 首先,你需要确保Nutch已经正确安装并且配置完毕,包括设置爬虫的种子URL、配置抓取策略(如Crawl Interval)以及存储路径等。 2. **执行抓取**: 使用Nutch的`bin/nutch crawl`命令启动抓取过程...

Global site tag (gtag.js) - Google Analytics