Ich habe hunger

あふりかエンジニア、アフリカ向けのB2BのSaaSを開発する

AmazonのProduct Advertising APIのItemSearchのページ制限が10ページだった件

AmazonのProduct Advertising APIをいじって
売り上げランキングを取ってくるスクリプトをrubyで書こうと思っていたときのお話。

Rubyのgemでをamazon-ecs使って情報の取得。

jugend/amazon-ecs · GitHub

まずはgemをインストールして準備万端。

# encoding: utf-8

require 'amazon/ecs'

Amazon::Ecs.options = {
  :associate_tag => 'sugi511-22', 
  :AWS_access_key_id => 'ここはaccess_key_id', 
  :AWS_secret_key => 'ここはsecret_key'
}

# API呼び出し

res = Amazon::Ecs.item_search(' ',{:search_index => 'DVD', :response_group => 'Medium', :sort => 'salesrank', :country => 'jp', :item_page=>'1'})

# 返ってきたXMLを表示
puts res.marshal_dump

こんな感じでやると、DVDカテゴリの売り上げランキングが取得出来る。
item_page=>1の部分を13とかにすると
item_pageは1-10の間で指定しろ的なメッセージが。


何やら調べてみると、2011年だかにAPIの変更があって取れないらしい。
実用的ではないが、1-100位までのランキングは作れるが
それ以降のランキングはAPI経由では作れないってことなのかな(´・ω・`)

別の手段(mechanize)使うとか考えてみようかなー。

ノシノシ