SEが教えるEC運営のブログ ウェブ運用と開発現場を経験したSEのTIPS
TOP > BLOG > IT記事

楽天APIとPythonで価格調査を自動でしよう【サンプルコードつき】

早川朋孝 早川朋孝
EC専門のSE

楽天の日々の店舗運営で価格調査やランキング調査に時間をかけている人はたくさんいるだろう。店舗運営に効率化は必須で、プログラムで自動化・効率化できることはどんどん改善していきたい。ここではRakuten Ichiba APIとPythonを使って、商品のキーワードとジャンルを指定して楽天市場に出品されている商品の一覧をリストアップする方法を紹介する。

https://webservice.rakuten.co.jp/documentation
使うのはRakuten Ichiba APIだ。Rakuten Ichiba APIはRMSのAPIとは違う。個人情報やその他機微に触れることはないので気軽に利用できるし、もっと言うと店舗運営者でなくとも使える。必要なのは楽天会員であること。

上記URLで「New App」をクリックし必要な情報を入力すればアプリを動かすのに必要な情報が得られる。

  • Application ID/developer ID
  • application_secret
  • Affiliate ID(任意)

一般的なAPI利用のマナーとして、リクエスト先にサーバー負荷には注意しないといけない。短時間で大量のリクエストをすると一定時間使えなくなるし、それを繰り返すとアカウントごと停止をくらう可能性は十分にある。

このサンプルでは商品検索を使用しているが、機能ごとにAPIが分かれている。詳細は上記の楽天APIの公式URLに記載がある。

  • 商品検索
  • 価格調査
  • ランキング調査
  • ジャンル調査
  • タグ調査
import requests

#config
application_id = 'hogehoge' #アプリ作成時に発効されるid

def check_item_info(keyword, genre_id):
    """ 
    商品情報をリクエスト
    """ 

    #リクエストするエンドポイントと
    endpoint = 'https://app.rakuten.co.jp/services/api/Product/Search/20170426'
   
    #パラメータを設定
    endpoint += '?format=json'
    endpoint += '&keyword=' + keyword
    endpoint += '&genreId=' + genre_id
    endpoint += '&applicationId=' + application_id

    #リクエストを実行
    response = requests.get(endpoint)
    return response



if __name__ == '__main__':
    keyword = 'シャトーマルゴー' 
    genre_id = '563339'
    res = check_item_info(keyword, genre_id)
    print(res.json())

パラメータにはshopcodeなどもあり、自分の店舗やライバルの他店舗も指定できる。結果はjsonというデータ形式だが、必要に応じてCSVにして、さらにスプレッドシートやエクセルに自動で書き出すこともできる。APIとプログラムはEC運営の効率化の頼もしい味方なのだ。

この仕組みを利用すれば、RMSのAPIと連動して自動で最低価格を更新するプログラムもできる(ただし、月額1万円の商品CSV利用契約が必要)。例えばナショナルブランドの赤字覚悟の目玉商品を毎日価格チェックして更新している、という面倒な業務を自動化できる。そうやってできた時間を人間にしかできない大事な業務にあてれば、店舗運営を効率化できる。店舗運営にプログラムやツールをどんどん取り入れよう。

×
このブログを書いてる人
早川 朋孝 EC専門のSE
IT業界歴20年のエンジニアです。ネットショップ勤務で苦労した経験から、EC・ネットショップ事業者に向けて、バックオフィス業務の自動化・効率化を提案するSEをしています。
Web運用の経験もあり、アクセス解析、広告運用が得意で、広告APIとプログラムとの合わせ技で並の広告代理店にはできない提案が可能です。
プロフィール
API連携の相談にのります
趣味は読書、ピアノ、マリノスの応援など
PAGE TOP