2010-05-22 55 views
23

你会选择哪一个?我的重要属性是(不按顺序):Nokogiri vs Hpricot?

  1. 支持和未来的增强。
  2. 社区和一般知识库(在互联网上)。
  3. 综合(I.E.,经过验证可以解析各种*。* ml页面)。
  4. 表现。
  5. 内存占用(运行时,而不是代码库)。

回答

35

挑选Nokogiri,所有点和特别是第一点:Hpricot是no longer maintained

元回答:请参阅ruby-toolbox了解不同工具在特定区域的受欢迎程度。

+0

更新 - hpricot不再被维护,这使得选择更容易。 – jsh 2013-01-15 23:05:27

+0

@jsh:谢谢,回答更新 – 2013-01-16 00:24:55

8

如果您没有或无法在您使用的计算机上安装LibXML,请仅选择Hpricot。如果情况并非如此,那么选择Nokogiri,在提到的五个属性中比Hpricot更好。

+7

自从几分钟前,还有一个纯Java版的Nokogiri。所以,你可以在没有FFI和没有libxml的JRuby上使用Nokogiri。 (Google App Engine是FFI不可行的一个例子。) – 2010-05-22 19:47:04

6

我发现Hpricot很有用的情况是在处理破碎的HTML时,处理后需要保持断开状态。 Hpricot擅长仅修改您更新的文档部分。除非需要这个,否则Nokogiri就是要走的路。