0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-12-13

はじめに

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

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

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

aikatsu-dcd-parser

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

進捗

  • ユーザーごとの公開デジタルバインダーの取得
  • URLを指定したカードの取得

を実装し、v0.2.1としてリリースしました。

詳細はREADMEを参照してください。以下のようなデータが取得可能です。

デジタルバインダー

dcdkatsu binder <ユーザーID> <弾ID> みたいな感じでやることで次のような結果を得られます。なお、弾IDはデジタルバインダーのページの末尾に付く数字で、12がフレンズ1弾、13がフレンズ2弾、……16がフレンズ5弾に相当します。スターズのほうとのつながりがなく、謎です。

{
    "series_id":16,
    "series_name":"フレンズ5弾",
    "cards":[
        {"code":"","name":"","rarity":"","stars":"","type":"","category":"","brand":"","dress_appeal":"","appeal_point":0,"owner_id":"RX...3x","owned":false,"series_id":16,"url":"http://mypage.aikatsu.com/mypages/detail/NP10_H5_U_PR_Qt_001_T01/_00/16/RX...3x/","image_url":"http://mypage.aikatsu.com/images/cardlist/card/458005/f5-1bfr_00.png"},
        {"code":"","name":"","rarity":"","stars":"","type":"","category":"","brand":"","dress_appeal":"","appeal_point":0,"owner_id":"RX...3x","owned":false,"series_id":16,"url":"http://mypage.aikatsu.com/mypages/detail/NP10_H5_U_PR_Qt_001_B01/_00/16/RX...3x/","image_url":"http://mypage.aikatsu.com/images/cardlist/card/458005/f5-2bfr_00.png"},
        {"code":"","name":"","rarity":"","stars":"","type":"","category":"","brand":"","dress_appeal":"","appeal_point":0,"owner_id":"RX...3x","owned":false,"series_id":16,"url":"http://mypage.aikatsu.com/mypages/detail/NP10_H5_U_PR_Qt_001_S01/_00/16/RX...3x/","image_url":"http://mypage.aikatsu.com/images/cardlist/card/458005/f5-3bfr_00.png"},
        ...
    ],
    "owner_id":"RX...3x","url":"http://mypage.aikatsu.com/mypages/digital_binders/RX...3x/16","data_get_date":"2018-12-14T00:56:00+09:00"
}

カード

カードについては取得がユーザーのIDと紐付いていたり、一意に推測することが困難なため、URLを指定して取得する形になっています。上記バインダーのコマンドで取得したものを使ってもよいし、いい感じにやっても大丈夫です。

dcdkatsu card <カードURL>

{
  "code": "F5-5",
  "name": "アートレボリューショントップス",
  "rarity": "ベストフレンズレア",
  "stars": "★★★",
  "type": "キュート",
  "category": "トップス",
  "brand": "ピュアパレット",
  "dress_appeal": "ベストピュアパレットウィッシュ",
  "appeal_point": 900,
  "owner_id": "RX...3x",
  "owned": true,
  "series_id": 16,
  "url": "http://mypage.aikatsu.com/mypages/detail/NP10_H5_U_PR_Qt_002_T01/_00/16/RX...3x",
  "image_url": "http://mypage.aikatsu.com/images/cardlist/card/458005/f5-5bfr_00.png"
}

ユーザー

その1で書いてたように、v0.1.0で実装してたけどおもしろワンライナーの動画だけ書いてたけど出力を載せ忘れてたので。

dcdkatsu user <ユーザーID>

{
  "id": "RX...3x",
  "url": "http://mypage.aikatsu.com/mypages/index/RX...3x",
  "name": "@kakakaya",
  "avatar_url": "http://mypage.aikatsu.com/avatar/2_20-136_1-9_0_1_6-26_27_20-136_0_0.png",
  "last_play_location": "2018年12月05日・東京都",
  "cute_level": 56,
  "cool_level": 44,
  "sexy_level": 20,
  "pop_level": 16,
  "idol_rank": 43,
  "idol_rank_level": "いちにんまえのアイドル",
  "fan_count": 322722,
  "played_cards_count": 252,
  "data_get_date": "2018-12-14T01:09:00+09:00"
}

おわりに

火曜にも書いたし明日が忙しいしでてんやわんやです。ネタは無限にあるのでもしかしたら土曜か日曜にも差し込むかも。

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

  • 取得間隔の制限(サーバへの負荷を防ぐため)
  • 取得可能な機能の追加
    • ログインが必要な部分の取得
      • フレンズ
      • バッジ
      • ランキング実績
      • 大会実績
      • アーカイブ
        • アイカツスターズ!1弾〜5弾
        • アイカツスターズ!星のツバサ編
        • ↑色々違っていて面倒そうという気分
  • 取得結果の保存、差分表示
  • テストの作成、CI
    • やるだけ
    • ランキング周りが面倒そう
    • v0.2.0でアホなミスしたので早く入れたい
  • リリース方法のいい感じ化
    • .debを配布したい
    • AURに置きたい
  • 活用例
    • 持ってないカード一覧出力のサンプルとか

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

明日はkakakayaさんの「kakakaya/aikatsu-dcd-parser 番外編その2」です。

0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?