2016-05-31 21 views
0

我有這個數組從網絡刮來回來。看起來像這樣:內部陣列的使用情況刪除重複項

[["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"]] 

那麼會發生什麼,它重複?所以我想上面的陣列改變這一點(這將是不同的,每次所以就需要刪除重複。):

[["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"] 

別的在此之後存在是一種欺騙。

什麼,我需要我的是收費和價格上一些變種,所以我可以下來保存到數據庫:)

感謝 山姆

額外 繼承人的raketask。

require "nokogiri" 
require "open-uri" 
namespace :task do 
    task test: :environment do 
    ticketmaster_url = "http://www.ticketmaster.co.uk/derren-brown-miracle-glasgow-04-07-2016/event/370050789149169E?artistid=1408737&majorcatid=10002&minorcatid=53&tpab=-1" 
    doc = Nokogiri::HTML(open(ticketmaster_url)) 
    event_name = nil 
    ticket_price = nil 
    doc.xpath("//script[@type='text/javascript']/text()").each do |text| 
     if text.content =~ /more_options_on_polling/ 
     ticket_price = text.to_s.scan(/\"(formatted_(?:price|sum_fees))\":\"(.+?)\"/) 
     byebug 
     end 
    end 

    end 
end 

回答

1

你只需要添加陣列uniq方法,你已經從網頁颳了,這將給你從這個數組中取得一個值,然後你可以很容易地在這個數組上迭代來存儲數據到數據庫中。

1

您可以像使用

[["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£5.60"], 
["formatted_price", "£46.50"], 
["formatted_sum_fees", "£4.50"], 
["formatted_price", "£37.50"], 
["formatted_sum_fees", "£3.30"], 
["formatted_price", "£27.50"]].uniq 

然後結果是:

[["formatted_sum_fees", "£5.60"], ["formatted_price", "£46.50"], ["formatted_sum_fees", "£4.50"], ["formatted_price", "£37.50"], ["formatted_sum_fees", "£3.30"], ["formatted_price", "£27.50"]] 
+0

對不起,我不明白這一點? –