6

我想解析一个 html 页面并从中提取有意义的文本。任何人都知道一些好的算法来做到这一点?

我在 Rails 上开发我的应用程序,但我认为 ruby​​ 在这方面有点慢,所以我认为如果在 c 中存在一些好的库,这将是合适的。

谢谢!!

PD:请不要用 java 推荐任何东西

更新:我找到了这个链接文本

可悲的是,在python中

4

4 回答 4

6

为 Ruby使用快速且用 C 编写的Nokogiri

(使用正则表达式来解析像 HTML 这样的递归表达式是出了名的困难和容易出错,我不会走这条路。我只在答案中提到这一点,因为这个问题似乎一次又一次地出现。)

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

于 2010-10-19T14:41:48.360 回答
2

与 Ruby 集成的解决方案

外部解决方案

于 2010-10-19T14:45:35.993 回答
-1

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

于 2010-10-19T14:36:16.540 回答
-3

您应该从文本中删除所有带尖括号的部分,然后折叠空格。理论上<and>在其他情况下不应该存在。页面包含&lt;&gt;无处不在,而不是它们。

折叠空格:将所有 TAB、换行符等转换为空格,然后将每个空格序列替换为单个空格。

更新:你应该在找到<body>标签后开始。

于 2010-10-19T14:37:53.877 回答