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

时间:2009-04-28 22:13:26

标签: html-parsing nutch

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

我的问题目前面临两个问题:

  1. 我不太了解nutch解析的工作流程/ pipline。我没有在荷兰网站上找到有关这方面的信息。

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

1 个答案:

答案 0 :(得分:1)

我记得为过去的作品制作了一个nutch HTML解析插件。我无法完全按照我的方式进行操作,但这里有基本要点。我们想要做以下事情:

  1. 解析HTML页面但有条件地使用H1标签或带有某个类的标签作为页面标题而不是实际的// html / head / title
  2. 页面上有时会出现一些特殊的数据(即选择了哪个标签,这会告诉我们这是零售客户,银行客户还是公司客户)。
  3. 我所做的只是找到html-parse插件类(我找不到实际的类名),并扩展它。然后覆盖解析功能。新函数应调用super函数,然后可以遍历DOM树以查找您要查找的特殊数据。在我的情况下,我会寻找一个更好的标题,然后覆盖super函数提出的值。

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

    霍勒,如果你有疑问。