ニンテンドースイッチオンラインのアプリからアクセスできる「イカリング3」に、ブラウザからクッキーを編集してアクセスします。僕はChromeを使いますが、Firefoxでも上手くいきます。
イカリング3は、このウェブサイトからアクセスできるのですが、開いてみると、
gtokenをゲットする
色々な方法があるのですが、今回はeli(frozenpandaman)さんが作ったs3s(stat.inkにゲームデータをアップロードするために使うスクリプト)の機能を使って取得したいとおもいます。PythonとGitを使うので、最初にそれらが使えるように導入しておきましょう。
まず、Githubレポジトリからs3sをクローンします。コマンドラインを開いて、
git clone https://github.com/frozenpandaman/s3s.git
と打つと、レポジトリがローカルにクローンされます。
このようなファイル達がダウンロードされると思います。そして、cdで
cd s3s
s3sのフォルダへ移動し、
pip install -r requirements.txt
と打ちましょう。そして、
python s3s.py
と打つと、「stat.inkのAPIキーを入力してください」と聞かれます。APIキーを持っていて、今後stat.inkを使うのであれば入力し、使う機会がまだないのであれば、skipと入力してください。
使いたい言語を聞かれるので、ja-JPと入力しましょう。これでプログラムは終了します。
次に、
python s3s.py -nsr
と打つと、
すると、「リンクアドレスを入れてください」と聞かれます。
上の図のように表示されているURLを開いて、ログインし、「この人にする」を右クリックしてリンクをコピーし、記入しましょう。
これが見えたら完了です。コマンドラインを閉じ、config.txtを開きましょう。
gtokenの値にあるものすごく長い値をコピーしたら、gtoken取得完了です。
gtokenをウェブサイトのクッキーに入れよう
先ほどのイカリング3のページに戻り、F12を使って開発者ツールを開き、「アプリケーション」をクリックし、左にあるCookieを開き、https://api.lp1.av5ja.srv.nintendo.net/ を開くと、このようなページが開くので、
そして、ウェブサイトを再読み込みすると…!
※gtokenの有効期限は六時間半です
終わり
イカリング3は無事見れましたか?これで、ウェブスクレイピングをして値を自動的にゲットしたりすることも可能です。読んでいただきありがとうございました!
最新のgtokenを取得してcookieのところに毎回入力していてやり方も合っているのですが、今週に入ってからなぜかエラーが発生しました 読み込みに失敗しました。通信環境のよいところで再度お試しください。と表示され開けなくなってしまいました。対処法はありますか?
コメントありがとうございます。
(9月3日)さきほど試してみたところ、こちらでも同じエラーが出ました。どうやら8月21日にサイトがアップデートされたようです。
調べたところ、ホームページをロードするときにトーナメントマネージャーのボタンを表示するかどうか、このウェブサイト(https://api.lp1.usagi.srv.nintendo.net/)にアクセスするのですが、そのウェブサイトがどうやらWeb service Token(gToken)を要求するそうです。詳しくはわかりませんが、今の方法のようにクッキーを単に変えるだけでは失敗するようです。
しばらく遊んでいないので、このトーナメントマネージャー(ルーム管理のようなものらしいです)が一体なんなのかわかりませんが、S3Sの開発者が新しい方法を書いていました(https://github.com/frozenpandaman/s3s/wiki/in%E2%80%90browser-splatnet-3)。それによると、frozenpandamanさんが今のアップデートに対応するuserscriptを作ってくれているようです。ウェブサイトは英語で書かれているので、簡単に翻訳すると、
(1) userscriptを実行するエクステンションをGoogle Chrome/Firefoxにダウンロードし、
(2) https://gist.github.com/frozenpandaman/8cd8e66757d3478f3aa3839a38ddaa1e のuserscript をインストールして、
(3) https://api.lp1.av5ja.srv.nintendo.net/ に再度アクセスするとgTokenを要求するポップアップウインドウが表示されるので、gTokenを入れるとホームページにアクセスできる
ということのようです。
また機会があれば、記事をアップデートしたいと思います。