将 Nutch 网络爬虫功能集成到 Java 应用程序中

Integrating Nutch web-crawling functionality into a Java application

我会在我的 Java 应用程序中使用 Apache Nutch 从一个或多个网站抓取网页。基本上,我需要为网络爬虫找到的每个网页调用我的 Java 应用程序的方法,以便处理页面内容(文本等)。如何实现?

好吧,你的问题似乎是 "XY Problem",Nutch 可以在你的自定义 Java 应用程序中用作库,bin/nutchbin/crawl 脚本基本上只需使用正确的参数执行几个 Java 类,因此在您的应用程序中您可以使用正确的参数调用正确的 类,查看 bin/crawl 脚本将提供您使用正确的步骤顺序(和 类)来调用完整的循环爬网。这应该只用于小型爬网。

现在,回到 XY 问题,如果您只需要从网页中提取自定义 text/metadata,您就可以扩展 Nutch 本身,而无需编写自定义应用程序。根据您的描述,您似乎在寻找自定义 parser/indexing 插件。如果是这种情况,我建议您查看标题插件 (https://github.com/apache/nutch/tree/master/src/plugin/headings),这是编写您自己的 HtmlParseFilter 插件的一个很好的起点。您仍然需要编写自定义代码,但它将包含在 Nutch 插件中。

您也可以查看 https://issues.apache.org/jira/browse/NUTCH-1870,此插件允许使用 XPath 表达式提取 HTML 的自定义部分。