如何从HTML中提取有意义的文本
-
09-10-2019 - |
题
我想解析HTML页面并从中提取有意义的文本。有人知道一些好的算法吗?
我在Rails上开发了我的应用程序,但我认为Ruby在此方面有点慢,因此我认为如果C中存在一些好的库,那将是适当的。
谢谢!!
PD:请不要推荐Java
更新:我发现了这个 链接文字
可悲的是,在Python
解决方案
利用 诺科吉里, ,这是快速且用C写成的,对于Ruby。
(使用REGEXP来解析HTML等递归表达式 众所周知困难和错误的错误 而且我不会走那条路。我只在答案中提到这一点,因为这个问题似乎一次又一次地出现。)
像上面提到的Nokogiri这样的真实解析器,您还获得了额外的好处,即保留HTML文档的结构和逻辑,有时您确实需要这些线索。
其他提示
与Ruby集成的解决方案
- 利用 诺科吉里 作为 由优秀的克拉克·康德(Clark Kant)推荐
- 利用 HPRICOT
外部解决方案
- 如果您的HTML形成良好,则可以使用 Expat XML解析器 为了这。
- 对于仅针对仅HTML的东西,W3C实际上发布了代码 libwww, ,其中一个 简单的HTML解析器 (文档).
lynx 能够做到这一点。如果您想看看它,这是开源的。
您应该从文本中剥离所有角度托架部分,然后塌陷白空间。从理论上讲 <
和 >
在其他情况下不应该在那里。页面包含 <
和 >
到处都是他们。
折叠空格:将所有选项卡,newline等转换为空格,然后将每个空间序列替换为单个空间。
更新:您应该在找到 <body>
标签。
不隶属于 StackOverflow