使用 Nokogiri 进行解析 - 无法遍历行

Parsing with Nokogiri - can't iterate over rows

出于某种原因,此代码无法正常工作:

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

我一直在努力找出原因。请帮助我的人!为什么这不能遍历行?

有时内部 CSS 选择器没有匹配项,所以 at_css(...) returns 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