require 'ruby-cheerio'
jQuery = RubyCheerio.new("<html><body><h1 class='one'>h1_1</h1><h1>h1_2</h1></body></html>")
jQuery.find('h1').each do |head_one|
p head_one.text
end
# getting attribute values like jQuery.
p jQuery.find('h1.one')[0].prop('h1','class')
# function chaining similar to jQuery.
p jQuery.find('body').find('h1').first.text
5条答案
按热度按时间gkn4icbw1#
目前还没有内置的HTML解析器,但有一些非常好的解析器,特别是Nokogiri。
元答案:对于像这样的常见需求,我建议查看Ruby Toolbox站点。您会注意到Nokogiri是HTML parsers的首选推荐
xbp102n02#
你应该看看hpricot。非常好它不是“核心”Ruby,但它是一种常用的宝石。
tzxcd3kk3#
Ruby Cheerio -Ruby中的jQuery风格HTML解析器。Nokogiri的最简化版本。这是最流行的NodeJS包cheerio的ruby版本。
Follow the link for a simple crawler example.
gem install ruby-cheerio
wz8daaqr4#
你也可以试试Yorick Peterse的Oga。
它是一个用Ruby编写的XML/HTML解析器,不需要像libxml这样的系统库。你可以在这里找到它。https://github.com/YorickPeterse/oga
eagi6jfj5#
很多人会建议Nokogiri,但你也可以看看Nokolexbor。
如果您想要高性能的HTML解析和节点搜索,它是Nokogiri的直接替代品。