在Ruby中解析HTML文档的方法?
就像PHP中的DOMDocument类一样,RUBY中有任何类(即核心RUBY),用于从HTML文档中解析和获取节点元素值。
目前还没有内置的HTML解析器,但是有一些非常好的解析器,特别是Nokogiri 。
元答案:对于这些常见需求,我建议您查看Ruby Toolbox网站。 您会注意到Nokogiri是HTML解析器的最佳推荐
你应该看看hpricot 。 这非常好。 它不是’核心’ruby,但它是一种常用的gem。
你也可以尝试Yorick Peterse的Oga。
它是一个用Ruby编写的XML / HTML解析器,不需要像libxml这样的系统库。 你可以在这里找到它。 https://github.com/YorickPeterse/oga
Ruby Cheerio – ruby中的jQuery样式HTML解析器。 Nokogiri最简化的爬虫版本。 这是最流行的NodeJS包cheerio的ruby版本。
请点击链接以获取简单的抓取工具示例。
gem install ruby-cheerio
require 'ruby-cheerio' jQuery = RubyCheerio.new("h1_1
h1_2
") 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