我对Nutch获取用于更新crawldb的链接的方式有疑问。
有问题的命令是bin/nutch updatedb crawl/crawldb $s1
我需要编写一个自定义解析器,在此之前我已经检查了Nutch的源代码,就我而言,我负责提供更新抓取的链接,通过从文档中提取并放置在ParseData中作为Outlink []。至少这是我从this了解到的。
如果我错了,请纠正我,因为我不希望我的爬虫在第一次迭代后停止,因为它没有链接来更新抓取。
答案 0 :(得分:1)
Nutch使用parse-html
或parse-tika
来解析您抓取的网址(通常是HTML),在此阶段提取并存储外链,当您执行爬虫的新迭代时,Nutch会选择一些可用(提取)链接继续抓取,如果您需要从网络中提取其他信息,您只需要编写自己的解析器,让我们说您想要所有h1
个标题例如,在一个单独的领域。
如果你看一下抓取脚本(https://github.com/apache/nutch/blob/master/src/bin/crawl#L246),你会发现每次迭代都会执行一次updatedb命令,所以如果你正在使用parse-html
或者parse-tika
会自动为您提取HTML文档(以及其他文档)的外链。