楽天ランキングを楽天APIで取得してCSVで保存する

2015.5.13

th_Python-logo-notext.svg楽天ではランキングチェックをよく行いますよね。スクリプトで自動化してCSVに保存してからチェックすると捗るんじゃないかと思ってます。ECサイト運営者向けのPythonスクリプトを書きましたのでお使いください。

アプリケーションIDは楽天APIの利用登録を行って以下のスクリプト内に挿入してください。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import csv
import sys, codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)

gen_input = input("catID input here: ")

url = "https://app.rakuten.co.jp/services/api/IchibaItem/Ranking/20120927?"

st_load = {
    "genreId": gen_input,
    "applicationId": ******************************,
    }

r = requests.get(url, params=st_load)

res = r.json()

f = open("raku.csv" , "ab")
writer = csv.writer(f)
writer.writerow(["No", "Itemname", "URL", "Price"])

for i in res["Items"]:
    item = i["Item"]
    Rank = item["rank"]
    Name = (item["itemName"].encode("utf-8"))
    Url = item["itemUrl"]
    Price = item["itemPrice"]

    writer.writerow([Rank, Name, Url, Price])

f.close()

ターミナルから実行するとカテゴリIDの入力を求められますから、任意のチェックしたいカテゴリIDなどを入力してください。560271とか、そういうやつです。外部保存するCSVファイルは同一ディレクトリになければ自動生成されます。二度目以降の実行の際はリネームしないと、ヘッダ行が重複しますのでご注意ください。CSVで保存しているのですが、エクセルなどに貼り付けて後からグラフ処理なんかでもいいと思います。

自動的なグラフ化などは今後公開予定です。