Apache Nutch fetch和updatedb阶段

时间:2017-07-06 08:43:51

标签: java apache parsing html-parsing nutch

我对Nutch获取用于更新crawldb的链接的方式有疑问。

有问题的命令是bin/nutch updatedb crawl/crawldb $s1

我需要编写一个自定义解析器,在此之前我已经检查了Nutch的源代码,就我而言,我负责提供更新抓取的链接,通过从文档中提取并放置在ParseData中作为Outlink []。至少这是我从this了解到的。

如果我错了,请纠正我,因为我不希望我的爬虫在第一次迭代后停止,因为它没有链接来更新抓取。

1 个答案:

答案 0 :(得分:1)

Nutch使用parse-htmlparse-tika来解析您抓取的网址(通常是HTML),在此阶段提取并存储外链,当您执行爬虫的新迭代时,Nutch会选择一些可用(提取)链接继续抓取,如果您需要从网络中提取其他信息,您只需要编写自己的解析器,让我们说您想要所有h1个标题例如,在一个单独的领域。

如果你看一下抓取脚本(https://github.com/apache/nutch/blob/master/src/bin/crawl#L246),你会发现每次迭代都会执行一次updatedb命令,所以如果你正在使用parse-html或者parse-tika会自动为您提取HTML文档(以及其他文档)的外链。