是否有任何HTML解析库?

问题描述:

嘿,我正在寻找一些水晶HTML解析库。与红宝石nokogiri类似的东西。我有一个工作正则表达式,但宁愿一个HTML解析库,因为HTML +正则表达式==不好。谢谢。是否有任何HTML解析库?

+0

心不是引入nokogiri晶兼容? – marmeladze

+0

@marmeladze没有Ruby库是你不能使用Java同样的方式“水晶兼容”来自JavaScript的图书馆,它们是完全不同的语言, – RX14

+0

https://github.com/veelenga/awesome-crystal#htmlxml-parsing –

Crystal标准库中的标准方式是XML.parse_html。这会给你一个XML::Node,它有一个非常漂亮的界面。

如果需要使用CSS选择器,你可以使用Crystagiri,虽然本来我没有看到过STDLIB的发行多少好处。

经过几个小时的谷歌搜索,我刚刚发现约myhtml,modestCrystagiri。所有这些都是HTML解析库。

+0

添加链接到您的答案 –

我是Crystagiri的创建者。这是水晶的HTML解析器库(如惊人Nokogiri红宝石宝石,我不会假装说Crystagiri做多的引入nokogiri,但你可以用它来使用CSS选择器

娄一个基本的例子:。

require "crystagiri" 

doc = Crystagiri::HTML.from_url "http://example.com/" 
puts doc.css("li > strong.title") { |tag| puts tag.node} 
# => <strong class="title"> .. </strong> 
# => <strong class="title"> .. </strong> 

由于水晶郎,Crystagiri是三个时间比Nokogiri快(accroding到我的测试)。