スマホアプリの人気の動向を知りたい場合は、AppleのAppStoreとGoogle Playを見ると思います。今回は、それを自動的に取得する方法を紹介します。
AppStoreのRSS Feed GeneratorからURL取得
AppStoreのランキングは、RSS Feedで配信されています。また、いつから存在するのか解らないのですが、このRSS Feedを生成するGeneratorサイトがあり、任意の国/カテゴリー/データ種別用のRSSを指定できるようになっています。
例えば、日本での有料のiOSアプリのトップ25を取得する場合は、次のようなURLとなります。
https://itunes.apple.com/jp/rss/topgrossingapplications/limit=25/genre=6015/xml
取得できるXMLは、次のような形です。
Google スプレッドシートで取得する
それでは、取得したデータをGoogle スプレッドシート取得してみましょう。Google スプレッドシートには、幾つか外部データを取得するセル関数が存在します。今回は、ImportFeed関数が良いでしょう。関数の詳細については、この辺りを見てください。
Google スプレッドシートの関数でWebからデータを取得する
ImportFeedの構文は、次のようになっています。
IMPORTFEED(URL, [クエリ], [見出し], [アイテム数])
必須はURLのみで、後はオプションです。まずは、URLのみでの取得をしてみましょう。
デフォルトでは、Title,Author,URL,Summaryの4つの項目を取得します。しかし、このデータの場合はSummaryが大きすぎて見づらいです。そこで、項目指定で取得することにします。項目は、引数"クエリ"で指定します。欲しい値は、TitleとURLです。その場合、"items title"と"items url"といったように指定します。
=IMPORTFEED("https://itunes.apple.com/jp/rss/topgrossingapplications/limit=25/genre=6015/xml","items title","true")
=IMPORTFEED("https://itunes.apple.com/jp/rss/topgrossingapplications/limit=25/genre=6015/xml","items url","true")
※本当は、1つの関数で取得したいのですが、複数項目を指定する方法が解りませんでした。誰か教えてください。
A1,A2のセルに上の二つの関数を並べると、次のような形になります。スッキリ!!
まとめ
AppStoreのランキングについては、RSSで配信されているので簡単に取得できます。一方で、Google PlayについてはRSSが提供されていません。次回、どうやったら楽に取れるか考えてみます。
See Also:
環境構築レスでAmazonの商品レビューを取得する
Google スプレッドシートの関数でWebからデータを取得する