将Nutch web爬行功能集成到Java应用程序中
我会在Java应用程序中使用ApacheNutch从一个或多个网站抓取网页。基本上,我需要为web爬虫找到的每个web页面调用Java应用程序的一个方法,以便处理页面内容(文本等)。如何实现这一点?您的问题似乎是,Nutch可以用作自定义Java应用程序中的库,将Nutch web爬行功能集成到Java应用程序中,java,web-crawler,nutch,Java,Web Crawler,Nutch,我会在Java应用程序中使用ApacheNutch从一个或多个网站抓取网页。基本上,我需要为web爬虫找到的每个web页面调用Java应用程序的一个方法,以便处理页面内容(文本等)。如何实现这一点?您的问题似乎是,Nutch可以用作自定义Java应用程序中的库,bin/Nutch和bin/crawl脚本基本上只使用正确的参数执行几个Java类,因此在您的应用程序中,您可以使用正确的参数调用正确的类,查看bin/crawl脚本将为您提供调用全周期爬网的正确步骤(和类)序列。这应该只用于小型爬行 现
bin/Nutch
和bin/crawl
脚本基本上只使用正确的参数执行几个Java类,因此在您的应用程序中,您可以使用正确的参数调用正确的类,查看bin/crawl
脚本将为您提供调用全周期爬网的正确步骤(和类)序列。这应该只用于小型爬行
现在,回到XY问题,如果您只需要从网页中提取自定义文本/元数据,那么您只需扩展Nutch本身,而无需编写自定义应用程序。从您描述的内容来看,您似乎在寻找一个自定义的解析器/索引插件。如果是这种情况,我建议看一下headings plugin(),这是编写自己的HtmlParseFilter
插件的一个很好的起点。您仍然需要编写自定义代码,但它将包含在Nutch插件中
您还可以查看,该插件允许使用XPath表达式提取HTML的自定义部分。请参阅我在别处发布的相关答案: