ウデマエX全員の順位とブキとXパワーを取得してみた
どうもです。
前回の記事では、ウデマエXガチエリア 8月Xランキングでのブキの使用率を調査しました。
本記事では、集計対象のデータをどのように取得したか、について書きます。
前回の記事はこちら
タイトルの通り、全ルール/全員分のデータは既に取得しましたが、それらについての分析・考察はまた次回以降にやろうと思います……と書くとタイトル詐欺のような気がするので、8月末の時点での各ルールのウデマエXの人数だけは書いておきます。
・ガチエリア:41,659人
・ガチヤグラ:33,966人
・ガチホコバトル:36,239人
・ガチアサリ:21,693人
では本題に入ります。
注意事項
公開されていないAPIを実行しています。
参考とさせていただいた記事にも書かれていますが、同じことをやるとしても自己責任でお願いします。
参考文献
以下の記事を参考にしています。
[Python]イカリング2のJsonを取得してみたhttps://qiita.com/haifuri/items/d8d06c111e2518bfbc87
Splatoon2のAPIを叩いてみる
https://qiita.com/dog_coro_zzz/items/788665a4c637cbb27807
データ取得方法
実行API
APIを実行し、データを取得しています。APIについてはググってください。自分もよくわかっていないです。
実行するAPIは以下のような感じです。
https://app.splatoon2.nintendo.net/api/x_power_ranking/180801T00_180901T00/splat_zones?page=1
これを実行すると、8月のガチエリアのXランキング1位から100位までの情報が取得できます。すごい。
取得できる情報
取得できる情報はjson形式でこんな感じです。
これは一人分で、このデータの配列がずらーっと100人分並んでいるイメージです。
{
"cheater": false,
"name": "きびしいサマンサ",
"principal_id": ,
"rank": null,
"rank_change": null,
"unique_id": ,
"weapon": {
"id": "3040",
"image": "/images/weapon/6f1c2a339db6ec0dccb65704adee2db93c768245.png",
"name": "エクスプロッシャー",
"special": {
"id": "12",
"image_a": "/images/special/f49b0c33e1e25853a15dfc6a6c95705e8d290741.png",
"image_b": "/images/special/7cebdb0c336b64b829a1cfae2d40c0c4cb24a897.png",
"name": "バブルランチャー"
},
"sub": {
"id": "6",
"image_a": "/images/sub/46f5b9fe851d4ac8df9eb959e7270ff72526dffe.png",
"image_b": "/images/sub/47b6c31e712634bd793d5b920288fe7b1fb3c2bd.png",
"name": "スプリンクラー"
},
"thumbnail": "/images/weapon/bf0d4b5ddc35a533fc5080d025707f386b2a5daa.png"
},
"x_power": 2244.7
}
※自分のXランキングのデータです。
principal_id, unique_idについてはどう使われているかわからないので一応削除しています。
このように、
・名前
・使用ブキ、スペシャル、サブ
・Xパワー
・順位(2001位以下はnullです。自分は10897位なのでnullになっている。2001位以降は自力で順位を入れています。)
などのデータが全員分取得できます。
APIのパラメータ
先ほどのAPIを例に説明すると、
①固定部分
②期間を指定する
ただし、適当に入力してもダメな模様。
"180801T00_180901T00"、"180701T00_180801T00"など、1日始まりの1日終わりでないと受け付けられない。
また、集計中(例えば今でいうと2018年9月)の情報も取得できないみたい(集計中の情報が欲しかった……)。
ほかに指定の仕方を見つけたらぜひご連絡ください。
③ルール名を指定する
・ガチエリア:splat_zones
・ガチヤグラ:tower_control
・ガチホコバトル:rainmaker
・ガチアサリ:clam_blitz
④ページ数を指定する
page=1とした場合、1位から100位まで、page=2とした場合、101位から200位までのデータが取得できる。
イカリング2で表示できるのは500位までだが、page=6、501位以降のデータも取得できる。
たぶん、ウデマエX全員のデータが取得できている。
ブキ使用率調査について
前回の記事では、このAPIを使って取れるガチエリアXランキング全ての情報を取得し、使用ブキを集計することで使用率を割り出しました。
統計使えば全員分取得しなくてもよいのかもしれないですが、
・統計の知識を大学に置いてきてしまった
・Xパワーの大小によってよく使われるブキが違うかも
ということで、手っ取り早く全部数えました。
まとめ
以上がウデマエX全員の順位の取得方法となります。
このAPIを使うことで、Xパワーの分布やブキトッププレイヤーのXパワーなど、面白いことがわかるかもです。
これからも調査を続けていきますのでよろしくお願いします。
怒られたらやめます。