はじめに

iTunesAPIを使ってiOSアプリの無料、有料、トップセールスのランキング、カテゴリーを指定してのランキング取得についての備忘録

ランキング取得のAPI

単純にランキングの取得を行いたい場合は、以下のようなURLをたたけばできる。


https://itunes.apple.com/jp/rss/{ランキング種別}/limit=100/json

iOSアプリで無料、有料、トップセールスのランキング取得を行いたい場合は、上記の{ランキング種別}のところを以下のものに書き換える

  • topfreeapplications(無料)
  • toppaidapplications(有料)
  • topgrossingapplications(トップセールス)

有料ランキングを取得したいなら、以下になる。なお、件数(limit)の上限は100まで


https://itunes.apple.com/jp/rss/toppaidapplications/limit=100/json

カテゴリーを指定する方法

カテゴリーを指定して、ランキング取得したい場合は、genre={カテゴリー}を追加する


https://itunes.apple.com/jp/rss/{ランキング種別}/limit=100/genre={カテゴリー}/json

カテゴリーを調べる方法はいくつかあるが、「iTunes Affiliate Resources」の情報を元に探すと楽

たとえば、有料のアクションゲームのランキングを取得したいときは、7001 Action なので、genre=7001 を指定してやる


https://itunes.apple.com/jp/rss/toppaidapplications/limit=100/genre=7001/json

なお、余談だが、https://itunes.apple.com/jp/ のjpをusに変えると米国のランキングが見れる。他の国もカントリーコードを調べれば可能なはず

pythonでの例

Ajaxを使ってウェブページで整形して表示させたり、色々とあるが定期的にランキングを取得する必要があったので、pythonを勉強がてら使ってファイルを取得している。

下はその例。勉強したてのコードなので突っ込みどころがあるかもしれないけど、我慢してね


	
コード例
	
import requests
import json
import cgi
import datetime

class Json_Get:
    def __init__(self,json_name,kind,genre):
        self.json_name = json_name
        self.kind = kind
        self.genre = genre
    def output(self):
	    json_rank = requests.get('https://itunes.apple.com/jp/rss/'+self.kind+'/limit=100/genre='+self.genre+'/json')
	    
	    f_name = datetime.datetime.today()
	    f_name = f_name.strftime('%Y-%m-%d_')+self.json_name
	    
	    path_w = '保存したいパスを入れて'+str(f_name)+'.json'
	    
	    with open(path_w, mode='w') as f:
	    	f.write(json_rank.text)


iTunse_JSON = Json_Get('dic_rank','toppaidapplications','7001')
iTunse_JSON.output()