Version 1 (modified by atzm, 18 years ago) (diff) |
---|
PyAmazon
仕様が割ときつい.
基本
以下は amazon.co.jp から「パイソン」を検索した結果を適当に出力する例.
import amazon LOCALE = 'jp' ACCESS_KEY = 'your access key' amazon.setLocale(LOCALE) amazon.setLicense(ACCESS_KEY) data = amazon.searchByBlended(unicode('パイソン', 'euc-jp').encode('utf-8')) for p in data.ProductLine: details = p.ProductInfo.Details for d in details: for key, val in d.__dict__.iteritems(): print '%(key)s: %(val)s' % locals()
- PyAmazon は内部で Amazon API の XML を呼び出して xml.dom.minidom で解析した後,unmarshal という関数で階層構造に沿ってオブジェクトを作っている.そのため,XML の構造がそのまま Python のオブジェクトに継承されている.
- 検索キーワードには UTF-8 文字列 (unicode オブジェクトではない) を指定してやる必要がある.
- 問題なのは,Artists や Authors 等のフィールドが,場合によって amazon.Bag になったり str になったりすること.ちゃんと処理してやらないとハマる.