如何用ruby / nokogiri解析html源代码?

时间:2010-10-27 04:56:21

标签: ruby xpath nokogiri

我已成功使用ruby(1.8)和nokogiri的css解析来从网页中提取前面的数据。

但是我现在需要从一系列页面中提取一些数据,其中数据位于页面源代码中的“meta”标签中。

我需要的其中一条线如下:

<meta name="geo.position" content="35.667459;139.706256" />

我尝试过使用xpath put无法正确使用。

非常感谢任何有关所需语法的帮助。

由于

2 个答案:

答案 0 :(得分:2)

这是CSS attribute selector的好例子。例如:

doc.css('meta[name="geo.position"]').each do |meta_tag|
  puts meta_tag['content'] # => 35.667459;139.706256
end

等效的XPath表达式几乎完全相同:

doc.xpath('//meta[@name = "geo.position"]').each do |meta_tag|
  puts meta_tag['content'] # => 35.667459;139.706256
end

答案 1 :(得分:1)

require 'nokogiri'

doc = Nokogiri::HTML('<meta name="geo.position" content="35.667459;139.706256" />')
doc.at('//meta[@name="geo.position"]')['content'] # => "35.667459;139.706256"