doc = Nokogiri::HTML(open(url))
output = doc.css('div h3 a')
output.class
# => Nokogir :: XML :: NodeSet
Nokogir :: XML :: NodeSet является классом, подобным массиву, поэтому (если говорить просто) вы можете ожидать NokogirОбъекты :: XML :: NodeSet ведут себя как массивы при вызове стандартных итеративных методов или [].
В вашем примере вывод содержит все вхождения: a теги находятся в пределах h3 тегов, которые в свою очередь находятся в пределах div тегов. (2 попадания)
, поэтому вы можете:
output[0].attr('href')
# => "http://www.faith.co.uk/"
output[1].attr('href')
# =>" http://www.hate.co.uk/"
output.each do |node|
puts "Link says: " + node.content
end
Ссылка говорит: Родео СинклерСсылка говорит: Morvern
output.map do |node|
node.attr('href')
end
# => ['http://www.faith.co.uk/',' http://www.hate.co.uk/']
и так далее ...
иди и проверь nokogiri.org для большего количества примеров и вглубинные объяснения.