Skip to main content
 首页 » 编程设计

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

2023年09月21日126sky-heaven

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

请您参考如下方法:

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

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

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