用Nokogiri进行解析 - 不能遍历行

时间:2015-02-15 18:47:06

标签: ruby parsing nokogiri

由于某些原因,此代码无效:

url = "http://www.ontariocourts.ca/decisions_index/2015.htm"
doc = Nokogiri::HTML(open(url)) 

doc.css("table.judtbl tr").each do |i|   
  title = i.at_css(".title p").content
  citation = i.at_css(".citation p").content

p title
p citation

end

我一直在努力弄清楚原因。请帮帮我一个人!!为什么不能遍历行?

1 个答案:

答案 0 :(得分:0)

有时内部CSS选择器没有匹配,因此at_css(...)返回nil,这可能导致.content失败。试试这个:

doc.css("table.judtbl tr").each do |tr|   
  title = tr.at_css(".title p")
  citation = tr.at_css(".citation p")
  next unless title && citation # Skip the row if it has no title/citation.
  puts "OK: #{title.text} -- #{citation.text}"
end