PythonとbottlenoseでAmazonのAPIを叩いてみる

Pythonと「bottlenose」を使って、AmazonのAPIを使ってみました。「bottlenose」はPythonのライブラリで、これを使えば比較的簡単にAmazon Product APIにアクセスできるようになります。

lionheart/bottlenose · GitHub

Amazon APIを使う準備

Amazon APIを使うには、Amazonから発行されるアクセスキー、シークレットキー、アソシエイトIDの3つが必要です。この記事を読んでいるAmazon APIを使ってみようという方にはあんまり説明はいらないと思うので詳細は書きません。

アクセスキー、シークレットキーはここから手に入れます。

Product Advertising API

CSVファイルをダウンロードすると、その中にアクセスキーとシークレットキーが書いてあります。これらの管理は厳重にしておきましょう。また、キーをダウンロードしても、アカウントの登録が終わってないとキーが有効になりませんので注意が必要です。わたくしはこれにハマって2時間くらい格闘してました。

アソシエイトID(トラッキングID)はここから。ブログとかで使うアソシエイトIDと同じものなので、既に持っていれば新たに作る必要はありません。

Amazonアソシエイト(アフィリエイト)プログラムに参加しよう!

bottlenoseのインストール

bottlenoseのソースはGithubに公開されています。ここからソースをもらってくるんですが、Githubのことは良くわからないので「Download ZIP」からダウンロードして普通に解凍して使いました。

lionheart/bottlenose · GitHub

ファイルを解凍した後、bottlenoseをインストールします。ターミナルでbottlenoseを置いたディレクトリに移動し、以下のコマンドを叩きます。

python setup.py build  
python setup.py install

Admin権限が無いアカウントの場合はこうなります。

sudo python setup.py build  
sudo python setup.py install

これでbottlenoseを使う準備ができました。

bottlenoseを使ってAmazon APIを使ってみる

これでbottlenoseでAmazon APIを叩く準備が整いました。とりあえずサンプルプログラムを作ってみます。

まずはbottlenoseのAmazonクラスに、アクセスキー、シークレットキー、アソシエイトID、Amazonのリージョン(今回は日本)をわたします。次に、Kindleストアの中からONE PIECEを検索します。ONE PIECEを検索しただけだと色々出てきてしまうので、作者を「尾田栄一郎」に絞り込みます。

こういう条件でコードを書くと、こんな感じになります。アクセスキー、シークレットキー、アソシエイトIDは自分のものに書き換えて使います。

# coding: utf8
import bottlenose

amazon = bottlenose.Amazon('アクセスキー', 'シークレットキー', 'アソシエイトID', Region='JP')
res = amazon.ItemSearch(Keywords=u'ONE PIECE', SearchIndex='KindleStore', ResponseGroup='Small', Author=u'尾田 栄一郎')
print res

上手くいけば、結果がxml形式で返ってきます。返ってきたxmlはそのままでは使いにくいのでパースしてあげるわけですが、とりあえずこの辺で。

シェアしてもらえるとうれしいです。゚(´っωc`)゚。