最佳Rails HTML解析器
我知道Hpricot仍然是一个标准,但我记得听说过Ruby有一个更快、更具表现力的HTML解析器 有人知道它叫什么吗?它是否值得从Hpricot转换到Hpricot最佳Rails HTML解析器,html,ruby,parsing,Html,Ruby,Parsing,我知道Hpricot仍然是一个标准,但我记得听说过Ruby有一个更快、更具表现力的HTML解析器 有人知道它叫什么吗?它是否值得从Hpricot转换到Hpricot 提前谢谢您可能正在考虑。 我自己也没用过,但“每个人”都在谈论它,它看起来确实很有趣: hpricot:html:doc 48.930000 3.640000 52.570000 ( 52.900035) hpricot2:html:doc 4.500000 0.020000 4.520000 ( 4.518984) nok
提前谢谢您可能正在考虑。 我自己也没用过,但“每个人”都在谈论它,它看起来确实很有趣:
hpricot:html:doc 48.930000 3.640000 52.570000 ( 52.900035)
hpricot2:html:doc 4.500000 0.020000 4.520000 ( 4.518984)
nokogiri:html:doc 3.640000 0.130000 3.770000 ( 3.770642)
还有
它以轻量级的、快速的、肮脏的解析器的形式销售自己。在过去的项目中使用它时,我发现它的界面非常直观且“Ruby-ish”,考虑到它是Python端口,这可能有点令人惊讶
编辑:看起来它已经不再维护了,所以它可能不是您要找的那个。看起来Nokogiri是你听说过的最新版本。不要使用正则表达式——ruby的正则表达式太慢了。Hpricot非常棒,Nokogiri看起来很有前途,尽管我还没有直接使用过它。有多种工具可用。我用 演示:
需要“rubygems”
需要“nokogiri”
doc=Nokogiri::HTML(%){
你好,世界
一些文本
})
title=doc.at_css(“h1.title”).text
content=doc.at_css(“p”).text
url=doc.at_css(“a”)[:href]
Ryan Bates制作了一个关于如何使用它的优秀的屏幕广播:
文档:
教程:Nokogiri的另一个优点是,它是基于Hpricot构建的,因此语法几乎相同。所以,切换对你来说应该没什么大不了的。。我还想添加LibXML,它速度很快,但无法处理标准的web野生HTML。
require 'rubygems'
require 'nokogiri'
doc = Nokogiri::HTML(%{
<h1 class="title">Hello, World</h1>
<p>Some text</p>
<a href="http://www.google.com/">Some link</a>
})
title = doc.at_css("h1.title").text
content = doc.at_css("p").text
url = doc.at_css("a")[:href]