1

我有一个关于解析 HTML 页面,特别是论坛的问题,我想解析包含某些帖子标准的论坛或线程,我还没有定义算法,因为我之前只解析过结构文本格式,一个用例可能是复制和粘贴每个线程手动进入程序,或者插入一个 URL 像 http://www.forums.com/forum/showthread.php?t=46875&page=3让程序解析页面

鉴于这一切,我想知道:

  1. 是否可以解析 HTML 页面上的论坛主题?
  2. 这样做的最佳/最快/最简单的语言是什么?
  3. 如果我更喜欢 Java,我需要哪些工具/库?
  4. 还有什么我应该考虑的吗?
4

3 回答 3

2

1 / 是

2 / 使用一些紧凑的语言,如 python 或 ruby​​ 进行原型设计。

3 / 一个需要考虑的 Java 工具:htmlparser

4 / 如果您只对某些特定文本或某些特殊感兴趣,则正则表达式可能就足够了。但是一旦你想深入挖掘内容的结构,你就需要某种模型来保存你的数据,因此需要一个解析器,在最好的情况下,它可以应对现实世界中出现的不一致性html。

于 2009-11-23T23:13:41.397 回答
1

您可能想查看某种 html 解析库,而不是使用正则表达式来执行此操作。对于ruby​​ 和python有一些非常好的 html 解析器,但是一个快速的谷歌显示也有一些用于 java 的解析器。这些库的好处是您不必使用正则表达式处理每个边缘情况/它们处理格式错误的 html(这两种情况都可能使用正则表达式是不可能的,这取决于您想要做什么),而且它们还为您提供了很多处理数据的方式(例如,beautiful soup 让您可以抓取属于特定类的所有元素,或者使用其他一些 css 选择器来限制您要处理的页面元素)。

就我个人而言,至少在开始时,我会从 ruby​​ 或 python 开始,因为这些库是众所周知的,并且有很多关于为此目的使用它们的信息。此外,我发现在 ruby​​ 或 python 中快速原型化这些类型的东西比在 jvm 中更容易。如果有必要,您甚至可以稍后使用 jruby 或 jython 将该代码带到 jvm 上。

于 2009-11-23T23:17:31.053 回答
0
  1. 是的
  2. 正则表达式,任何风格。
  3. 可能是带正则表达式的
  4. 有一些工具 可以为您做到这一点
于 2009-11-23T23:09:08.763 回答