Ruby on rails Nokogiri-为每个刮取的结果创建哈希

Ruby on rails Nokogiri-为每个刮取的结果创建哈希,ruby-on-rails,ruby,nokogiri,Ruby On Rails,Ruby,Nokogiri,我试图为每个匹配css选择器的结果创建一个哈希。目前,每页大约有10个结果,但我想为每个结果创建一个哈希。最好的办法是什么 或者限制在nokogiri中发现的结果数量是有意义的 listing_data = @nodes listing = { :url => listing_data.css('div#content div.content_inner div.section div.supercolumn div.column div.block div.item

我试图为每个匹配css选择器的结果创建一个哈希。目前,每页大约有10个结果,但我想为每个结果创建一个哈希。最好的办法是什么

或者限制在nokogiri中发现的结果数量是有意义的

 listing_data = @nodes




listing = {


    :url => listing_data.css('div#content div.content_inner div.section div.supercolumn div.column div.block div.items div#pages div.unsponsored div.item.compact div.item_inner div.photo a img.tiny').text,
    :price => listing_data.css('div#content div.content_inner div.section div.supercolumn div.column div.block div.items div#pages div.unsponsored div.item.compact div.item_inner div.more h3 span').text
}
end

那么
listing_data.css
返回一个数组(或类似的)结果?大致代码草图如下:

urls = listing_data.css('selector here')
prices = listing_data.css('another selector')
result = urls.zip(prices).map do |url,price|
  {:url => url, :price => price}
end

用什么键入的哈希?不清楚你在问什么。“限制结果数量”似乎是一个完全不同的问题,这与你的要求有什么关系?我认为你是对的。假设我正在查看易趣的搜索结果页面。我想为每个结果做一个散列,包括价格、剩余时间和url。我的问题是我创建了散列,css选择器给了我所有的搜索结果。我正在寻找一种方法,使每一个散列,而不是把它们都集中在一个散列。谢谢我还是不明白这个问题;Nokogiri为您的选择器提供了一个迭代器:创建散列并将其添加到数组或collect中。对不起,我自己的措辞不太好。我在原来的帖子中添加了一些代码。但长话短说,通过这些代码,我生成了大约15个价格,15个URL。我希望我可以为每个列表创建一个哈希,这样一个哈希将包含一个url和一个价格。另一个散列将包含另一个url和另一个价格。我的问题是,我不熟悉基本上说“嘿,只提取找到的第一个结果并将其存储在哈希中,而不是存储适合这些css选择器的所有结果”的语法。谢谢