Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト(修正あり)

数学ガール』がアマゾンで予約可能になりました。この機会に「Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト」を書いてみようと思いました。いまから作るのは「ASINのリストを元に、その本のタイトルと現在のランキングを表示する」というスクリプトです。
1. 準備

  • アマゾンに関連したgemがきっとあるはずなので探しましょう。
  • あったのでインストールしましょう。
  • まずは説明文を読みましょう。

2. スクリプト

require 'iconv'
require 'amazon/ecs'

ASINs = %w[
4797337990
4797336803
479733679X
4797336781
4797331623
4797332115
4797332123
4797329734
4797327030
4797322977
4797321261
4844319159
4797341378
]

Amazon::Ecs.options = {:AWS_access_key_id => 'your-aws-access-key-id', :country => 'jp'}
ASINs.each do |asin|
  r = Amazon::Ecs::item_lookup(asin, opts = { :response_group => 'Request,Medium' })
  if r.error
    message = r.error
  else
    item = r.items[0]
    message = "#{item.get('title')} => #{item.get('salesrank')}"
  end
  puts Iconv.conv('cp932', 'UTF-8', message)
end

3. 実行結果

Java言語で学ぶリファクタリング入門 => 13395
新版Perl言語プログラミングレッスン入門編 => 35007
新版C言語プログラミングレッスン 文法編 => 148028
新版C言語プログラミングレッスン 入門編 => 106314
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 => 11984
改訂第2版 Java言語プログラミングレッスン (上) => 98512
改訂第2版 Java言語プログラミングレッスン (下) => 60372
プログラマの数学 => 15409
増補改訂版Java言語で学ぶデザインパターン入門 => 1614
暗号技術入門-秘密の国のアリス => 3016
結城浩のPerlクイズ => 110953
結城浩のWiki入門 ~YukiWikiではじめる みんなで作るWebサイト~ => 242921
数学ガール => 390

あらら。せっかく『数学ガール』の売れ行きランキングを調べようと思ったのに、まだAPI経由ではわからないんだ…。ふにゃ。
→『数学ガール』のASINを間違えていたよ(>_<)。上記では修正しました。
それはさておき、『数学ガール』の無料プレゼントの〆切は、明日6月7日(木)です。