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

时间:2015-09-24 09:44:05

标签: java parsing solr web-crawler nutch

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

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

  1. 我该怎么做?有没有可用的插件?
  2. 如果我想为此编写自定义解析器,任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

结帐NUTCH-1870 Nutch的通用XPath插件正在进行的工作,另一种方法是编写一个自定义的HtmlParseFilter来废弃您想要的数据。一个好的(简单)示例是headings插件。请记住,这两个链接都是针对Nutch的1.x分支,并且您正在使用2.x虽然在某种程度上不同的逻辑应该是可移植的,另一种选择是使用1.x分支。

根据您的评论:

由于你不知道网页的结构,问题在某种程度上是不同的:基本上你需要“教”Nutch如何检测你想要的文本,基于一些正则表达式或使用一些确实解决的库提取出像jgeocoder库这样的纯文本,你需要解析(遍历网页的每个节点),试图找到类似于地址,电话号码,传真号码等的东西。这有点类似于标题插件可以,但它不是在寻找地址或电话号码,而只是在HTML结构中找到标题节点。这可能是编写一些可以满足您需求的插件的起点,但我认为没有任何开箱即用的功能。

答案 1 :(得分:0)

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