自分でAPIを叩いてもいいんだけど,ドキュメントが読みづらいし,結局リクエストに何のパラメーターが必要なのかパッと書いてないですし,なんか自分でハッシュ化したSigunatureをURLに付けたりしないといけなくて面倒なので,便利なライブラリを使いましょう.
python-amazon-simple-product-api
超便利です.
インストールなどはREADME読めばすぐに分かります.
実際に実行してみるとこんな感じです.
regionを指定してやらないと海外のストアを検索しているのか,商品が見つからないので,region="JP"
を忘れないようにしてください.
In [9]: amazon = AmazonAPI(ACCESS_KEY, SECRET_KEY, ASSOCIATE_ID, region="JP")
In [10]: product = amazon.lookup(ItemId='B00E7N623K')
In [11]: product.__dict__
Out[11]:
{'api': <amazon.api.AmazonAPI at 0x1037e9cf8>,
'aws_associate_tag': 'アソシエイトID',
'parent': None,
'parsed_response': <Element {http://webservices.amazon.com/AWSECommerceService/2013-08-01}Item at 0x1035b9e08>,
'region': 'JP'}
In [12]: product.parsed_response
Out[12]: <Element {http://webservices.amazon.com/AWSECommerceService/2013-08-01}Item at 0x1035b9e08>
In [13]: product.parsed_response.ItemAttributes
Out[13]: <Element {http://webservices.amazon.com/AWSECommerceService/2013-08-01}ItemAttributes at 0x10382e508>
ライブラリの中身ではlxmlでxmlのレスポンスをパースしている気がします.
実際,上記の実行例の中でもlxmlのElementインスタンスが入れ子になって含まれていますね.
長々とAPIの公式ドキュメント読みましたが,明らかにこれが楽です.