使用Nokogiri将div嵌套在div元素中
对于以下HTML,我想解析它并使用Nokogiri得到以下结果。
event_name = "folk concert 2" event_link = "http://www.douban.com/event/12761580/" event_date = "20th,11,2010"
我知道doc.xpath('//div[@class="nof clearfix"]')
可以获取每个div
元素,但是我应该如何继续获取每个属性,例如event_name
,尤其是date
?
HTML
folk concert 2
Date:25th,11,2010
folk concert
Date:10th,11,2010
我不知道xpaths,我更喜欢使用css选择器,它们对我来说更有意义。 本教程可能对您有用。
require 'rubygems' require 'nokogiri' require 'pp' Event = Struct.new :name , :link , :date doc = Nokogiri::HTML DATA events = doc.css("div.nof.clearfix").map do |eventnode| name = eventnode.at_css("h2 a").text.strip link = eventnode.at_css("h2 a")['href'] date = eventnode.at_css("div.pl.intro").text.strip Event.new name , link , date end pp events __END__ folk concert 2
Date: 25th,11,2010
folk concert
Date: 10th,11,2010
这输出:
[#, # ]