Nutch - 如何通过小补丁爬行?

时间:2010-03-29 12:40:02

标签: lucene web-crawler nutch

我不能让Nutch通过小补丁来抓我。我通过参数-depth 7和-topN 10000的 bin / nutch crawl 命令启动它。它永远不会结束。仅在我的硬盘空置时结束。我需要做什么:

  1. 开始抓我的种子 进一步发展的可能性 对外连结。
  2. 然后抓取20000页     索引他们。
  3. 再抓一个20000     页面,索引它们并合并     第一个指数。
  4. 循环步骤3次。
  5. 也尝试使用wiki中的脚本,但我发现的所有脚本都没有进一步发展。如果我再次运行它们,它们会从头开始做。在脚本结束时,我开始抓取时拥有相同的索引。但是,我需要继续爬行。

1 个答案:

答案 0 :(得分:10)

您必须了解Nutch生成/获取/更新周期。

循环的生成步骤将从爬网数据库中获取URL(您可以使用 topN 参数设置最大数量)并生成新段。最初,爬网数据库只包含种子URL。

获取步骤执行实际抓取。页面的实际内容存储在段中。

最后,更新步骤使用fetch的结果更新爬网数据库(添加新网址,设置网址的最后获取时间,设置网址获取的http状态代码等)。

抓取工具将运行此周期 n 次,可使用深度参数进行配置。

完成所有周期后, crawl 工具将删除启动它的文件夹中的所有索引,并从所有段和爬网db中创建一个新索引。

因此,为了满足您的要求,您可能不应该使用抓取工具,而是调用单独的Nutch命令,这就是抓取工具在幕后做。这样,您就可以控制爬行次数,并确保索引始终合并,而不是在每次迭代时删除。

我建议你从脚本定义here开始,然后根据需要进行更改。