首页 > 解决方案 > Apache Nutch Crawler - 仅在现有表中抓取新注入的 URL

问题描述

我必须通过 Nutch 抓取一些 URL。为此,我每次都必须提供种子 URL。因此,它们每次都被注入同一个表中。现在,随着时间的流逝,数据库将增加,并且在生成阶段,它会查找所有需要时间的 URL。是否有某种方法可以指示 Nutch 仅抓取新注入的 URL 而不要查看表格(对于旧 URL)。或者有没有更好的方法来解决这个问题。

标签: web-crawlernutchstormcrawler

解决方案


  1. (假设“table”代表 Nutch 2.x 使用的“WebTable”,将爬取的网页持久保存在支持的存储后端之一、HBase 等中):生成器通过批处理 ID 标记获取列表,请参阅bin/crawl有关如何使用批处理 ID 的详细信息的脚本。这是一个任意但唯一的字符串,不会太长,因为某些存储后端有长度限制(请参阅 gora-*-mapping.xml)。要跳过生成步骤,您可以使用任何其他工具使用自定义批处理 ID 标记新注入的 URL,然后使用此 ID调用fetchparse、 。updatedbindex

  2. (如果是关于 Nutch 1.x)有一个工具freegen可以获取 URL 列表(文本文件)并从中创建一个段。然后调用fetch, parse, updatedbindex将创建的段的路径作为参数传递。


推荐阅读