代码之家  ›  专栏  ›  技术社区  ›  Kristian Lunde

使用nutch 1.0和自定义插件解析html数据

  •  3
  • Kristian Lunde  · 技术社区  · 15 年前

    我正在尝试为nutch 1.0编写一个自定义插件。这个插件应该解析html数据并从文档中过滤出相关信息。我有一个基本的插件在工作,它扩展了htmlparserresult对象,每次我进行解析时都会执行它。

    我现在面临两个问题:

    1. 我不太了解nutch解析的工作流/管道。我在nutch网站上找不到这方面的信息。

    2. 我不明白dom解析是如何完成的,我看到nutch有一组dom对象,htmlparser插件做了一些dom解析,但是我还没有弄清楚这是如何最好地完成的。

    1 回复  |  直到 15 年前
        1
  •  1
  •   mlathe    13 年前

    我记得以前做过一个简单的HTML解析插件。我不知道我是怎么做到的,但这里是基本点。我们想做的是:

    1. 解析html页面,但有条件地使用h1标记或具有特定类的标记作为页面标题,而不是实际的//html/head/title
    2. 有一些特殊的数据,有时在页面上(即选择了什么标签,这将告诉我们,如果这是一个零售客户,银行客户,或公司客户)。
    3. 等。

    我所做的只是找到HTML解析插件类(我很难找到实际的类名),并扩展它。然后重写解析函数。新函数应该调用 super 函数,然后可以遍历DOM树来查找您正在寻找的特殊数据。在我的例子中,我会寻找一个更好的标题,然后重写 超级的 函数出现了。

    关于你的第二个问题,我不清楚你在问什么。我想你是在问当dom格式不好时会发生什么?我只需要深入研究nutch代码(http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.nutch/nutch/1.3/)并找出解析是如何完成的(我确信他们使用库来完成)。这应该能告诉你更多关于事物是贪婪的,还是什么。

    有问题就喊。