Python library of Amazon Associates Web Service

Python library of Amazon Associates Web Service を公開しました。既存で pyAWSというのがあるみたいですが、正直使いにくかったので、自分用に作成しました。Google App Engine に乗っけたかったので、Pure Python で dom をパースできる pxdom を同梱してます。もち、xml.dom.minidom でも動作します。APIのバージョンは、いまんとこ最新の "2009-02-01" です。とりあえず、ItemSearch の機能しかありません。

import aaws
api = Api('1MGVS72Y8JF7EC7JDZG2')
items = api.ItemSearch('Python', SearchIndex='Books', ResponseGroup='Small')
print '%s' % items.url
print 'TotalResults: %s' % items.count
print 'TotalPages: %s' % items.num_pages
print 'ItemPage: %s' % items.number
for item in items.object_list:
  print '  * Title: %s' % item.Title

if item.has_next()
  next = items.next_page_number()
  items = api.ItemSearch('Python', SearchIndex='Books', ResponseGroup='Small', ItemPage=next)

という使い方ができます。とりあえず、結果のクラスは paginator と互換性を持たせているので、ある程度直感的に使えるかもと期待w。Amazonで遊ぶアプリを作っているので、今後 ItemLookup 等のAPIも追加していく予定(いつもながら亀のスピード)。コードはいつもながらひどいと思います。

それと、公開しといてなんですが、AAWS は、もうすぐ Product Advertising API になるため 2009-08-15 で使えなくなるそうです・・・。いらないですね。まだ API 仕様読んでないですが、対応予定。予定は未定。

コメント

  1. GoogleAppEngine で使ってみようかといろいろと試しています。 ResponseGroup に Images とかを指定した場合に isCollective で処理するところが手元ではウマく行きませんでしたので、こんな patch を書いてみました。

    http://gist.github.com/114552

    返信削除
  2. patch ありがとうございます。さっそく当てさせていただきました。

    返信削除

コメントを投稿

このブログの人気の投稿

Python から Win32 API 経由で印刷する

Disqus のスケール - Django 編

#PySpa アドベント (23 日目)