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



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

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

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

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

相关内容

最新更新