Я пытаюсь перевести этот фрагмент кода из scruyt в nokogiri и застрял, пытаясь записать свои результаты либо в хэш, либо в xml. В скрабуте это выглядит так:
require 'rubygems'
require 'scrubyt'
result_data = Scrubyt::Extractor.define do
fetch "http://www.amazon.com/gp/offer-listing/0061673730"
results "//div[@class='resultsset']" do
item "//tbody/tr" do
condition "//div[@class = 'Condition']"
price "//span[@class = 'price']"
shipping "//span[@class = 'price_shipping']"
end
end
end
@description = result_data.to_xml
return @description
end
С помощью nokogiri я могу разобрать нужную информацию, но, похоже, нет быстрого способа вернуть элементы в хэш-документе или XML-документе. Вот все, что у меня есть в нокогири.
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://www.amazon.com/gp/offer-listing/0061673730'))
doc.css('div.condition, span.price, span.price_shipping ').each do |item|
puts item.content
end
Как вернуть информацию об элементе в xml или хэш?