Amazon AWS SimilarityLookup
- Amazon E-Commerce Service の API はここに詳細があります.
- http://docs.amazonwebservices.com/AWSEcommerceService/2007-01-17/
- SimilarityLookup というAPIで,関連商品の検索をやってみます
- 検索した商品に関連する1次結果が左側にならび,それぞれに関連する2次結果まで表示してみた.合計100件の関連商品が一覧できる.重複処理や見せ方を工夫すれば結構おもしろいかも.
コントロール
- Form から ASIN を入力し,そこから1次関連を検索する
- 1次関連検索結果から,それぞれに対して2次検索を行う
def amazon_search_sim require 'open-uri' @asins = [] @asins_sim = [] @asin_key = @params[:asin].to_i # 関連商品サーチ url = "http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=#{Amazon_Dev_Token}&Operation=SimilarityLookup&ItemId=#{@asin_key}&ResponseGroup=ItemIds" source = open(url).read source.gsub(%r!<ASIN>(.+?)</ASIN>!){ @asins << $1 } # 関連商品の関連サーチ if @asins for asin_sim in @asins sleep 1 url = "http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=#{Amazon_Dev_Token}&Operation=SimilarityLookup&ItemId=#{asin_sim}&ResponseGroup=ItemIds" source = open(url).read source.gsub(%r!<ASIN>(.+?)</ASIN>!){ @asins_sim << $1 } end end render :layout => false end