PythonとAmazonのProduct Advertising API
最近、AmazonのProduct Advertising APIをPythonでごにょごにょするということをやっていて、ある程度やり方というかライブラリを見つけたりとかしたので、忘れないように書き残しておきます。
1.Product Advertising API への登録
ここから登録します。
登録が完了するとアクセスキーとシークレットキーが配布されます。
もしアクセスキーを忘れるなどして分からなくなったら、ここからアカウント→セキュリティ証明書と辿って確認できます。
2.Pythonライブラリ選択
Product Advertising APIをうまくラップしていつつ簡単に使えそうなライブラリとして、bottlenoseを選んでみました。
選んだ理由は、探した中で最もシンプルかつ実装の把握が容易で、さらに開発が比較的活発と思われたからです。
(他にもっといいのがあれば教えてください)
3.インストール
bottlenoseをインストールします。
残念ながらPyPIに上がっているbottlenoseは、バージョンがかなり古いようで、日本語(というかマルチバイト文字列)がうまく扱えません。
けれども、GitHubの最新版だと問題ないので、GitHubからソースをダウンロードして、インストールします。
$ curl -L https://github.com/dlo/bottlenose/tarball/master -o bottlenose.tgz
$ tar zxvf bottlenose.tgz
$ cd dlo-bottlenose-xxxxxxx
$ python setup.py build
$ python setup.py install
また、bottlenoseはAmazonのAPIを叩いて取得したXMLデータを自動でオブジェクト化したりはしてくれないので、そのあたりを自分で面倒見る必要があります。
世の中には、XMLからオブジェクトを作成するlxmlという便利なライブラリがあるので、それを今回は使います。
$ pip install lxml
4.商品検索
準備が整ったところでAmazonの商品を検索してみます。
サンプルとして、Amazonのブックカテゴリを対象に「東野圭吾」を検索してみました。
そのコードがこちら。
(access_key_idとsecret_access_keyには、登録時に配布されたものを入れます)
そして結果がこちら。
$ python sample.py
真夏の方程式
秘密 (文春文庫)
麒麟の翼 (特別書き下ろし)
悪意 (講談社文庫)
赤い指 (講談社文庫)
夜明けの街で (角川文庫)
ダイイング・アイ (光文社文庫 ひ 6-11)
流星の絆 (講談社文庫)
白夜行 (集英社文庫)
さまよう刃 (角川文庫)
すばらしく簡単です。