Java 如何使用Nutch仅抓取和解析精确数据?

Java 如何使用Nutch仅抓取和解析精确数据?,java,parsing,solr,web-crawler,nutch,Java,Parsing,Solr,Web Crawler,Nutch,我是个新手。我已经安装了Nutch2.0,通过遵循一些基本教程,使用Solr4.5对数据进行了爬网和索引。现在,我不想解析一个页面的所有文本内容,我想对其进行自定义,就像Nutch应该对页面进行抓取一样,只抓取/获取与地址相关的数据,因为我的用例是抓取URL并将地址信息解析为文本 例如,我只需要抓取和解析包含地址信息、电子邮件id、电话号码和传真号码的文本内容 我该怎么做?是否已经有任何插件可用于此 如果我想为此编写一个定制的解析器,有人能在这方面帮助我吗 如果要签出Nutch的通用XPath插

我是个新手。我已经安装了Nutch2.0,通过遵循一些基本教程,使用Solr4.5对数据进行了爬网和索引。现在,我不想解析一个页面的所有文本内容,我想对其进行自定义,就像Nutch应该对页面进行抓取一样,只抓取/获取与地址相关的数据,因为我的用例是抓取URL并将地址信息解析为文本

例如,我只需要抓取和解析包含地址信息、电子邮件id、电话号码和传真号码的文本内容

  • 我该怎么做?是否已经有任何插件可用于此
  • 如果我想为此编写一个定制的解析器,有人能在这方面帮助我吗
  • 如果要签出Nutch的通用XPath插件中正在进行的工作,另一种方法是编写一个定制的HTMLPasseFilter,以丢弃所需的数据。插件就是一个很好(也很简单)的例子。请记住,这两个链接都是针对Nutch的1.x分支的,您使用的是2.x,虽然在某种程度上有所不同,但逻辑应该是可移植的,另一个选择是使用1.x分支

    根据您的评论:


    因为你不知道网页的结构,所以问题在某种程度上是不同的:本质上你需要“教”Nutch如何检测你想要的文本,基于一些regexp或者使用一些库来解决从纯文本中提取的问题,比如jgeocoder库,你需要解析(在网页的每个节点上迭代)尝试查找类似于地址、电话号码、传真号码等的内容。这有点类似于headings插件所做的工作,但它没有查找地址或电话号码,而是在HTML结构中查找标题节点。这可能是一个起点,写一些插件,做你想做的,但我不认为有任何开箱即用的做这件事

    Check引入了一个名为XPath的插件,该插件允许nutch用户处理各种网页,只获取用户想要的某些信息,从而使索引更准确,内容更灵活。

    感谢您的回复。我已经看过这个XPath插件,但是如果我使用这个插件,网站应该是已知结构的。我应该知道我的内容将在一个特定的部门。但在我的情况下,我不知道网站的结构,它可能在我的情况下有所不同。如果在这种情况下我是rite,我就不能使用XPath插件。