有没有 HTML 解析库?
Are there any HTML parsing libraries?
嘿,我正在 crystal 中寻找一些 html 解析库。类似于 ruby 的 nokogiri。我有一个有效的正则表达式,但更喜欢 html 解析库,因为 html + regex == 不好。谢谢
经过几个小时的谷歌搜索,我才发现 myhtml, modest and Crystagiri。它们都是 HTML 个解析库。
Crystal 标准库中的标准方式是 XML.parse_html
。这会给你一个 XML::Node
,它有一个非常好的界面。
如果您需要来使用CSS选择器,您可以使用Crystagiri,尽管除此之外我看不出有什么比stdlib提供的更多好处。
我是 Crystagiri. This is an HTML parser library for Crystal (like the amazing Nokogiri Ruby gem 的创建者。我不会假装 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>
感谢Crystal Lang,Crystagiri is three time faster than Nokogiri(根据我的测试)。
嘿,我正在 crystal 中寻找一些 html 解析库。类似于 ruby 的 nokogiri。我有一个有效的正则表达式,但更喜欢 html 解析库,因为 html + regex == 不好。谢谢
经过几个小时的谷歌搜索,我才发现 myhtml, modest and Crystagiri。它们都是 HTML 个解析库。
Crystal 标准库中的标准方式是 XML.parse_html
。这会给你一个 XML::Node
,它有一个非常好的界面。
如果您需要来使用CSS选择器,您可以使用Crystagiri,尽管除此之外我看不出有什么比stdlib提供的更多好处。
我是 Crystagiri. This is an HTML parser library for Crystal (like the amazing Nokogiri Ruby gem 的创建者。我不会假装 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>
感谢Crystal Lang,Crystagiri is three time faster than Nokogiri(根据我的测试)。