使用Java代码与Apache Nutch 1.9进行爬网

时间:2015-10-05 13:19:48

标签: java nutch

我们开发了一个数据处理管道,使用Apache Nutch 1.4在给定一组配置的URL的情况下对Web数据进行爬网。管道随后应用一系列mapreduce任务来处理Web数据,最后将其索引到Solr中。我们使用预配置的hadoop集群和Amazon EMR。

这个应用程序是3年前开发的,已经使用了将近一年。当我们尝试使用最新的EMR版本(4.x)运行它时,它失败了。我想,Apache Nutch 1.4不再受支持,因为它使用较旧的hadoop版本(1.x)。所以我们决定升级到Nutch 1.9。但是,我们发现Nutch 1.9没有我们在1.4版本中用于从Java代码爬行的Crawl类(org.apache.nutch.crawl.Crawl)。检查文档我发现建议的方法是使用脚本 bin / crawl

然而,根据我从java代码调用脚本看起来似乎不太好,因为我们正在调用外部进程,这使我们的控制力降低。 那我该怎么办?写我自己的org.apache.nutch.crawl.Crawl版本,还是有其他一些我在这里缺少的课程?

我的要求很简单。我想从Java代码中调用Nutch API 1.9或更高版本。

1 个答案:

答案 0 :(得分:0)

目前正在为Nutch 1.X开发一个REST API - https://wiki.apache.org/nutch/Nutch_1.X_RESTAPI

没有像您所说的那样直接抓取api,但您可以尝试使用REST端点调用作业,看看它们是否适合您的用例。

相关问题