読者です 読者をやめる 読者になる 読者になる

続RakuAPI

Python

RakuAPIのPython用ライブラリを、もう少し気合いを入れて書き直してみました。Python2.3以上で動作を確認しています。

インストール

ここから最新版のrakuapi-pythonをダウンロードしてください。
解凍後、以下のようにsetup.pyを実行してインストールします。管理権限が必要です。

$ sudo python setup.py install

使い方

検索した商品の名称を指定して、rakuapiモジュールのsearch関数を呼び出します。
例えば、「牛タン」を検索したい場合、次のようにします。

import rakuapi
result = rakuapi.search("牛タン")

結果は、辞書型のリストで取得できます。

[
  {
    u'ShopUrl': u'http://www.rakuten.co.jp/XXXXX/',
    u'ShopName': u'XXXX',
    u'Title': u'仙台名物牛タン1人前。ギフト・ご家族用には3人前以上がオススメ...',
    u'Url': u'http://www.rakuten.co.jp/XXXXXXX',
    u'Price': 999,
    u'Tax': u'税込、送料別',
    u'ThumbnailUrl': u'http://image.rakuten.co.jp/XXXXX.jpeg'
  },
  {
  }, ....
]

価格(Price)はint型、それ以外の情報はユニコード文字列です。


searchの引数に検索条件を与えることで、商品情報を絞り込むことができます。

  • row 取得件数(int)
  • genre ジャンル(str)
  • sort ソート方法(str) popular or low or high or new
  • min_price 最低価格(int)
  • max_price 最高価格(int)


引数に採りうる型を括弧内に記載しています。現在のバージョンでは、適切な型を指定しない場合、ValueErrorを排出します。
設定可能な検索条件に関しては、詳しくは楽天市場非公式ウェブサービスの設定パラメーターの項目を参照してください。


使用例をいくつか示します。

import rakuapi

# "Python"を含む最も人気のある商品を1件取得する
items = rakuapi.search("Python", sort = "popular", row = 1)

# 2万〜3万円の「福袋」を取得する
items = rakuapi.search("福袋", min_price = 20000, max_price = 30000)

# "iPod nano"を含む「家電・AV・カメラ」分野の商品一覧を取得する
items = rakuapi.search("iPod nano", genre = "electronics")

Tips

検索条件に指定できるジャンルを調べたいときには、rakuapi.genreモジュールを利用してみて下さい。

import rakuapi.genre

print rakuapi.genre.ja

# 出力結果
#{
#    'book'  : u'本・雑誌・コミック',
#    'cddvd' : u'CD・DVD・楽器',
#    ....
#}

rakuapi.genreモジュールには、ジャンルのコードと説明の辞書型が登録されています。現在のところ、rakuapi.genre.ja(日本語)が利用できます。