我想解析一个html页面并从中提取有意义的文本。有人知道一些好的算法吗?
我在Rails上开发我的应用程序,但我认为ruby在这方面有点慢,所以我认为如果在c中存在一些好的库,那将是合适的。
谢谢!
PD:请不要用java推荐任何东西
更新: 我找到了这个link text
可悲的是,在python中
答案 0 :(得分:6)
使用快速编写的Nokogiri用于Ruby。
(使用regexp来解析像HTML这样的递归表达式notoriously difficult and error prone,我不会走那条路。我只在答案中提到这一点,因为这个问题似乎一再出现。)
使用像上面提到的Nokogiri这样的真正解析器,您还可以获得保留HTML文档的结构和逻辑的额外好处,有时您确实需要这些线索。
答案 1 :(得分:2)
答案 2 :(得分:-1)
Lynx能够做到这一点。如果你想看一下,这是开源的。
答案 3 :(得分:-3)
您应该从文本中剥离所有角度括号的部分,然后折叠白色空格。
理论上,<
和>
在其他情况下不应该存在。页面包含<
和>
,而不是它们。
折叠空格:将所有TAB,换行符等转换为空格,然后将每个空格序列替换为单个空格。
更新:您应该在找到<body>
代码后开始。