search
LoginSignup
0

More than 3 years have passed since last update.

posted at

updated at

アイカツ!のマイページから情報を取得するやつを作る その1

はじめに

この記事は、アイカツ! Advent Calendar 2018の7日目の記事です。内容としては、現在大好評稼働中のアーケードゲーム、データカードダス アイカツフレンズ!のマイページから情報を取得するツールを作成中で、その内容と進捗の紹介になります。

前日の記事はiyanayatudazeさんによるスギカツフレンズ!2018 レポ - ねむいでした。

ちなみに、これまでアイカツ! Advent Calendar 2018では以下のような技術系記事が投稿されています。

aikatsu-dcd-parser

kakakaya/aikatsu-dcd-parser: Fetch and parse Aikatsu! DCD mypage data.
取得及びパースをするライブラリ本体と、それを利用したCLIツールの2つが含まれており、いずれも dcdkatsu という名前でインポートや実行が可能です。

現時点(v0.1.0)で実装済みなのが、以下に示す user コマンドです(JSON整形はjq、画像の表示にはcatimgを使っており、このツールの機能ではありません)。マイページに表示される情報を取得し、JSONで出力しています。

asciicast

インストール

そのうちバイナリを配布します。多分次回記事には間に合わせますが、現時点ではまだなので今すぐ試したい方はGoをインストールして以下の手順を踏んでください。動作確認環境は go 1.11.2 です。

  • CLIツールをインストールしたい場合(普通の人はこちら)
    • go get -u -v github.com/kakakaya/aikatsu-dcd-parser/cmd/dcdkatsu
  • 取得部分をライブラリとして使いたい場合
    • go get -u -v github.com/kakakaya/aikatsu-dcd-parser
    • 解説は省略するので、ドキュメントはGoDocを参照してください。dcdkatsu - GoDoc

使い方

まず取得対象にしたいユーザーのマイページを開きます。※ログインする方ではなく、Twitterに共有などのボタンから得られるURLです。
2018-12-07_22-04-03.png
上記画像のようなURLで、 http://mypage.aikatsu.com/mypages/index/ に続く部分(以下、ユーザーID)をコピーします(上記画像だとRXL...v3x)。

次に、上節での手順を済ませていれば dcdkatsu コマンドが使えるようになっているはずなので、次のように実行します。

dcdkatsu user <ユーザーID> 

すると、いい感じにJSONが出力されます。

おわりに

こっそり作ってアドベントカレンダー終盤に公開するつもりでしたがSHINING LINE*を途絶えさせないためにも開発途中での公開と相成りました。今後も途絶えそうになったらぼちぼち開発の進捗を記事として公開しようかな、と考えています。

なお、今後以下のような機能の実装を考えています。

  • 取得間隔の制限(サーバへの負荷を防ぐため)
  • 取得可能な機能の追加
    • デジタルバインダーの取得
    • ログインが必要な部分の取得
    • フレンズ
    • バッジ
    • ランキング実績
    • 大会実績
    • アーカイブ
      • アイカツスターズ!1弾〜5弾
      • アイカツスターズ!星のツバサ編
  • 取得結果の保存、差分表示
  • テストの作成
    • ランキング周りが面倒そう
  • CI
    • やるだけ
  • バイナリの配布
    • goreleaserを試す

他にも欲しい機能やマサカリがあったら、この記事のコメントにお願いします。これは非公式なものであり、データカードダス アイカツフレンズ!公式や、バンダイナムコ、その他権利者の方に問い合わせないようお願いします。また、怒られたらすぐに消します。

明日はhazel_calmさんの「アイカツについてなにか書きます。」です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0