解析网页

时间:2009-11-23 23:05:29

标签: html-parsing

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

考虑到这一切,我想知道:

  1. 是否可以在HTML页面上解析论坛帖子?
  2. 这样做最好/最快/最简单的语言是什么?
  3. 如果我更喜欢Java,我需要哪些工具/库?
  4. 我应该考虑的任何其他事情?

3 个答案:

答案 0 :(得分:2)

1 /是

2 /使用python或ruby等紧凑语言进行原型设计。

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

  1. 正则表达式,任何风味。
  2. 可能是那些w / regex
  3. there are tools out there that will do this for you