像 PHP 中的 DOMDocument 类一样,RUBY 中是否有任何类(即核心 RUBY)来解析和获取 HTML 文档中的节点元素值。
问问题
33264 次
4 回答
46
目前还没有内置的 HTML 解析器,但有一些非常好的解析器可用,尤其是Nokogiri。
Meta-answer:对于此类常见需求,我建议您查看Ruby Toolbox站点。您会注意到 Nokogiri 是HTML 解析器的首选
于 2010-03-31T17:16:47.980 回答
9
你应该看看hpricot。它非常好。它不是“核心”红宝石,但它是一种常用的宝石。
于 2010-03-31T17:04:45.217 回答
5
你也可以试试Yorick Peterse的 Oga。
它是一个用 Ruby 编写的 XML/HTML 解析器,不需要 libxml 等系统库。你可以在这里找到它。https://github.com/YorickPeterse/oga
于 2015-08-06T14:04:05.900 回答
3
Ruby Cheerio - Ruby 中的 jQuery 样式 HTML 解析器. 用于爬虫的 Nokogiri 的最简化版本。这是最流行的 NodeJS 包Cheerio的 ruby 版本。
宝石安装 ruby-cheerio
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
于 2017-02-08T16:42:21.797 回答