在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最简化的爬虫版本。 这是最流行的NodeJScheerio的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
Interesting Posts