我想解析HTML页面并从中提取有意义的文本。有人知道一些好的算法吗?

我在Rails上开发了我的应用程序,但我认为Ruby在此方面有点慢,因此我认为如果C中存在一些好的库,那将是适当的。

谢谢!!

PD:请不要推荐Java

更新:我发现了这个 链接文字

可悲的是,在Python

有帮助吗?

解决方案

利用 诺科吉里, ,这是快速且用C写成的,对于Ruby。

(使用REGEXP来解析HTML等递归表达式 众所周知困难和错误的错误 而且我不会走那条路。我只在答案中提到这一点,因为这个问题似乎一次又一次地出现。)

像上面提到的Nokogiri这样的真实解析器,您还获得了额外的好处,即保留HTML文档的结构和逻辑,有时您确实需要这些线索。

其他提示

与Ruby集成的解决方案

外部解决方案

lynx 能够做到这一点。如果您想看看它,这是开源的。

您应该从文本中剥离所有角度托架部分,然后塌陷白空间。从理论上讲 <> 在其他情况下不应该在那里。页面包含 &lt;&gt; 到处都是他们。

折叠空格:将所有选项卡,newline等转换为空格,然后将每个空间序列替换为单个空间。

更新:您应该在找到 <body> 标签。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top