【问题标题】:How to crawl and parse only precise data using Nutch?如何使用 Nutch 仅抓取和解析精确数据?
【发布时间】:2015-09-24 09:44:04
【问题描述】:

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

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

  1. 我应该怎么做?是否有任何插件可用于此?
  2. 如果我想为此编写一个自定义解析器,有人可以在这方面帮助我吗?

【问题讨论】:

    标签: java parsing solr web-crawler nutch


    【解决方案1】:

    Checkout NUTCH-1870 正在为 Nutch 开发通用 XPath 插件,另一种方法是编写自定义 HtmlParseFilter 来废弃您想要的数据。 headings 插件是一个很好(也很简单)的例子。请记住,这两个链接都是针对 Nutch 的 1.x 分支的,并且您正在使用 2.x,尽管在某种程度上情况有所不同,逻辑应该是可移植的,另一种选择是使用 1.x分支。

    根据您的评论:

    由于您不知道网页的结构,因此问题有所不同:本质上,您需要“教”Nutch 如何根据一些正则表达式或使用一些可以解决问题的库来检测您想要的文本从 jgeocoder 库之类的纯文本中提取,您需要解析(在网页的每个节点上迭代)试图找到类似于地址、电话号码、传真号码等的内容。这有点类似于标题插件可以,但不是查找地址或电话号码,而是查找 HTML 结构中的标题节点。这可能是编写一些插件来做你想做的事情的起点,但我认为没有任何开箱即用的东西。

    【讨论】:

    • 感谢您的回复。我已经使用过这个 XPath 插件,但是如果我使用这个插件,网站应该是已知的结构。我应该知道我的内容在特定 div 中的位置。但在我的情况下,我不知道网站的结构,在我的情况下它可能会有所不同。如果我是 rite 在这种情况下我不能使用 XPath 插件。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 2016-01-10
      相关资源
      最近更新 更多