繁体   English   中英

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

[英]Nutch - how to crawl by small patches?

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

  1. 开始爬行我的种子,有可能进一步的外链。
  2. 抓取20000页,然后将其编入索引。
  3. 抓取另外20000页,索引它们并与第一个索引合并。
  4. 循环步骤3次。

尝试使用wiki中的脚本,但我发现的所有脚本都没有进一步发展。 如果我再次运行它们,它们会从头开始做。 在脚本结束时,我开始抓取时拥有相同的索引。 但是,我需要继续爬行。

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

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

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

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

爬网工具将运行此循环n次,可使用depth参数进行配置。

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

因此,为了满足您的要求,您可能不应该使用爬网工具,而是调用单独的Nutch命令,这是爬网工具在场景后面执行的操作。 通过这种方式,您将能够控制爬网次数,并确保索引始终合并,而不是在每次迭代时删除。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM