【问题标题】:Need an open source crawler like Apache Nutch without Hadoop需要一个像 Apache Nutch 这样没有 Hadoop 的开源爬虫
【发布时间】:2014-04-03 15:48:50
【问题描述】:

我需要一个具有 url 规范化器、url 过滤器、解析器、礼貌等功能的开源爬虫,但不包括一些 url,但无论如何我正在做的事情并不大。我需要更新的只是大约 500 位主机及其 1 级外链。我不喜欢通过实现 Nutch 拥有的所有这些好的特性来重新发明轮子,同时我不喜欢 Hadoop 的开销来完成这个小任务。

Nutch 有没有没有 Hadoop 的分支?或任何其他具有这些功能的简单爬虫? 我不需要任何自适应获取调度、排名等。我只有一个主机列表,我应该使用一台机器获取它们的外链。

我更喜欢 Nutch 的一些分支,因为我有使用它的经验。

【问题讨论】:

    标签: hadoop web-crawler nutch


    【解决方案1】:

    我认为你只需要 linux 命令wget。 例如,假设主机放在文件hosts.txt 中。您可以使用以下命令下载它们:

    for host in `cat hosts.txt` ; do wget -r -d 1 -H "$host"; done
    

    -r表示递归,-d 1表示只下载1级,-H表示不限制域名。

    您可以在谷歌搜索wget recursive download,或运行man wget以获取更多信息。

    【讨论】:

    • 是的,但我需要它是多线程的,同时我需要遵守礼貌规则(不要同时向一台服务器发送许多请求)。我还需要一个解析器来提取外链,一个 url 规范化来规范化 url,一个 url 过滤工具来排除一些 url。还有一些其他必需的功能,例如检测 mimetype,将它们存储在 lucene 中等。我可以实现所有这些,但它们已经在 Nutch 等一些爬虫中实现。 Nutch 的问题在于它与我不需要的 Hadoop 高度耦合。
    • 那我觉得 Heritrix 是另一种选择:github.com/internetarchive/heritrix3
    【解决方案2】:

    Nutch 不再绑定到 Hadoop:

    默认情况下,Nutch 不再附带 Hadoop 发行版,但是 在本地模式下运行时,例如在单个进程中运行 Nutch 机器,然后我们使用 Hadoop 作为依赖项。这可能适合你,如果 你有一个小网站要抓取和索引,但大多数人选择 Nutch 因为它能够在部署模式下运行,在 Hadoop 中 集群。

    来自:http://wiki.apache.org/nutch/NutchHadoopTutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      相关资源
      最近更新 更多