我已经和nutch 2.x玩了一段时间了,按照this post中的建议按照Nutch 2.x教程进行设置,仍然无法弄清楚 - 任何帮助都会是非常感谢。
按照教程使用INJECT命令时,它会在seeds.txt中注入2个URL:
nutch inject ../local/urls/seed.txt
但是在运行脚本时,它不会访问任何网址:
bin/crawl ../local/urls/seed.txt TestCrawl *ttp://l*calhost:8983/solr 2
答案 0 :(得分:0)
我现在又重新开始使用全新安装的Nutch 2.2.1 - Hbase-0.94.10和Solr 4.4.0,因为有人在邮件列表上建议,因为本教程中提到的版本已有多年历史,现在我得到的错误是:
[root @ localhost local] #bin / nutch inject /urls/seed.txt InjectorJob:从2013-08-11 17:59:32开始 InjectorJob:注入urlDir:/urls/seed.txt InjectorJob:org.apache.gora.util.GoraException:java.lang.RuntimeException:java.lang.IllegalArgumentException:不是host:端口对: 2249@ localhost.localdomainlocalhost,45431,1376235201648
答案 1 :(得分:0)
虽然这是一个很长时间的问题,但我在这里有一个建议。 因为nutch是apache项目,所以它会服从robots.txt,也许正因为如此,你有任何东西。你可以gedit src / java / org / apache / nutch / fetcher / FetcherReducer.java来取消注释
/*if (!rules.isAllowed(fit.u.toString())) {
// unblock
fetchQueues.finishFetchItem(fit, true);
if (LOG.isDebugEnabled()) {
LOG.debug("Denied by robots.txt: " + fit.url);
}
output(fit, null, ProtocolStatusUtils.STATUS_ROBOTS_DENIED,
CrawlStatus.STATUS_GONE);
continue;
}
*/