我不能让Nutch通过小补丁来抓我。我通过参数-depth 7和-topN 10000的 bin / nutch crawl 命令启动它。它永远不会结束。仅在我的硬盘空置时结束。我需要做什么:
也尝试使用wiki中的脚本,但我发现的所有脚本都没有进一步发展。如果我再次运行它们,它们会从头开始做。在脚本结束时,我开始抓取时拥有相同的索引。但是,我需要继续爬行。
答案 0 :(得分:10)
您必须了解Nutch生成/获取/更新周期。
循环的生成步骤将从爬网数据库中获取URL(您可以使用 topN 参数设置最大数量)并生成新段。最初,爬网数据库只包含种子URL。
获取步骤执行实际抓取。页面的实际内容存储在段中。
最后,更新步骤使用fetch的结果更新爬网数据库(添加新网址,设置网址的最后获取时间,设置网址获取的http状态代码等)。
抓取工具将运行此周期 n 次,可使用深度参数进行配置。
完成所有周期后, crawl 工具将删除启动它的文件夹中的所有索引,并从所有段和爬网db中创建一个新索引。
因此,为了满足您的要求,您可能不应该使用抓取工具,而是调用单独的Nutch命令,这就是抓取工具在幕后做。这样,您就可以控制爬行次数,并确保索引始终合并,而不是在每次迭代时删除。
我建议你从脚本定义here开始,然后根据需要进行更改。