由于某些原因,此代码不起作用:
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(...)
返回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