AmazonのAPIを使って書籍データを取得する(1)

AmazonのAPIを使ってデータを取ってみようと思いついたので、いろいろ調べてみました。どうやらPHPを使った例が一番多いようなのですが(サーバ上で動かすほうが多いからでしょうか)、そうなるとPHPが動く環境を作ることから始めないといけなくなってしまうので、多少なりとも使ったことがあるRubyでなんとかする方法を探しました。

まずやらねばならんのは、AmazonのAPIを使うにはキーを手に入れることです。そのためにはアフィリエイトアカウントを作る必要があるんですが、アフィリエイトアカウントはもうあるのでキーを取得しました。
やり方はサービス利用の準備:ajaxtower.jpに詳しく載っていたので、参考にしましたというか見ながらやりました。多少英語が出てきますがひるまずに。

Rubyにはamazon-ecsというライブラリがあるので、まずはそれをインストールします。

gem install amazon-ecs

でオッケー。(Rubyのインストール状況によってはsudoする必要があるかも?)
あとはAmazonのAPIを使うスクリプトを書くだけです。

Amazon API(正確にはProduct Advertising APIというそうです)の使用にはいくつか制限があるので、それを覚えていないとデータの取得に失敗するので気をつけましょう。

  1. APIにリクエストするのは1時間に2000回まで(アフィリエイトでいっぱい売れると増えるそうですが)
  2. APIにリクエストするのは1秒に1回まで
  3. 1回のリクエストで取得できるのは1ページにつき10アイテムまで
  4. 一つの検索(Item_search)で出てくるページのうち、取得できるのは10ページ目まで
    (検索で1000アイテムヒットしても10アイテム×10ページで100アイテムしか情報を所得できない)
  5. カテゴリ(search_index)が「すべて(All)」の場合、取得できるのは5ページ、ページ毎にアイテム5個まで

といった具合です。これは2013/04/07現在の制限です。たまに変わるので最新の情報を確認した方がいいかも。制限といってもいろいろなところに情報が分散しているので、探すのに苦労するかもしれないんですが。最後には利用ガイドラインProduct Advertising API Developer Guideを見てくださいって話になっちゃうんですよね。でもきっと誰かが解説してくれているので、がんばって探すのがいいと思います。(投げやりですが)
というところで、以下次号で。

AmazonのAPIを使って書籍データを取得する(3)
AmazonのAPIを使って書籍データを取得する(2)
AmazonのAPIを使って書籍データを取得する(1) ←この記事です

初めてのRuby
初めてのRuby

posted with amazlet at 13.04.06
Yugui
オライリージャパン
売り上げランキング: 35,809
カテゴリー: サイト, ソースコード, Ruby タグ: パーマリンク

AmazonのAPIを使って書籍データを取得する(1) への2件のフィードバック

  1. ピンバック: AmazonのAPIを使って書籍データを取得する(3) | Ukkari blog

  2. ピンバック: AmazonのAPIを使って書籍データを取得する(2) | Ukkari blog

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中