【问题标题】:Apache Nutch Crawler - Crawl new injected URLs in existing table onlyApache Nutch Crawler - 仅在现有表中抓取新注入的 URL
【发布时间】:2020-05-18 05:11:41
【问题描述】:

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

【问题讨论】:

    标签: web-crawler nutch stormcrawler


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

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

    【讨论】:

    • 谢谢,先生,我正在使用带有 Hbase 后端的 Nutch 2.x。在你的指导下,我也是这么想的。我在想另一种方式。稍微更新注入器代码以标记当时注入的 URL。它还可以完全跳过一个阶段(生成器)。这种方法有什么问题吗?
    • 可能不会。 “完全跳过一个阶段(生成器)” - 是的,如果您不想关注链接并且在一段时间后不需要(自动)重新抓取页面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多