Результатом вызова xpath, сделанного в Nokogiri, будет NodeSet , который представляет собой просто список Nokigiri Nodes
Имея это в виду, мы можем просто взять примеры из документации по Нокогири и адаптировать их.
Чтобы ответить на ваш вопрос, «Не могли бы вы показать мне, как извлечь только атрибут src из тега img?» , вот один из таких способов.
#the 'open' method here is part of the open-uri library
xml = Nokogiri::XML(open(your_url_here))
all_images = xml.xpath("//img") #returns NodeSet (list of Nokogiri Nodes)
image_sources = []
#iterate through each node
all_images.each() do |node|
image_sources << node.get_attribute('src') #One method
#image_sources << node['src'] #Another convention we could use
end
Как отмечает Phrogz ниже, более нелепым способом извлечения атрибута 'src' из всех узлов изображений является непосредственное сопоставление атрибута 'src', а не итерация и вставка в массив.
image_sources = all_images.map{ |node| node['src'] }