アイカツ!シリーズアニメ公式HPからストーリーを取り出すスクリプトを書いた

この記事は「アイカツ! Advent Calendar 2019」5日目の記事です。

tl;dr

github.com

aikatsu_story実行例
aikatsu_story実行例

これはなに

アイカツ!木曜時代、会社のPCでその日に放映されるアイカツ!のあらすじを確認したいことがよくあったのですが、会社のPCで http://www.aikatsu.net/story/ を開いて、会社PCで

aikatsu.net/story (http://www.aikatsu.net/story/story-010.html) ↑を開くのはモラルを疑われそうなので、シェル上でこっそりアイカツ!のあらすじを確認できるスクリプトを書きました。

www.aikatsu.net

使い方

インストール(HomeBrewの場合)

brew tap gecko655/aikatsu-story
brew install aikatsu_story

インストール(HomeBrewを使わない場合)

https://github.com/gecko655/homebrew-aikatsu-story/blob/master/aikatsu_story をダウンロードして適当にpathを通してください。

なお、

  • jq, pupがインストールされている必要があります。
  • Bashの文法をふんだんに使ったので、Bash以外のshellでは動かない気がします。

使い方

Usage: aikatsu_story [-0] [-s] [-f] [-o] [--url] [--title] episode-id
  -0: Aikatsu!
  -s: Aikatsu Stars!
  -f: Aikatsu Friends!
  -o: Aikatsu on parade! (current default)

  --url: Show story url instead of story
  --title: Show story title instead of story

想定している使われ方

  • まずは普通に
aikatsu_story -0 79
aikatsu_story -0 --title 79
aikatsu_story -0 --url 79

パートナーズカップのかいさいがこくちされ、せけんはもり上がる。パートナーズカップでしょうりするかぎは、自分に合うベストパートナーを見つけること。ぜんはいそげと、いちごやセイラたちも学園のかきねをこえてそうだんをしはじめる。気になるあの子やあの子のパートナーは、はたして…!?

第79話 Yes! ベストパートナー

http://www.aikatsu.net/02/story/79.html

ツイッターのオタクが「79話が〜」などのように話数で会話し始めたときに、こっそりどの回か確認するのに便利

# python製twitter clientのインストール( https://github.com/sixohsix/twitter )
pip install twitter
twitter  # OAuth設定する

aikatsu_story 10 |  twitter set

aikatsu_story -f 11 | tee >(say -v Kyoko)

遂にみおはあいねとフレンズ結成のための行動に出る。 憧れは、もはや伝説となっている『ラブミーティア』結成秘話のようなドラマチックすぎるシチュエーション。あいねに話すタイミングをうかがっていると、名古屋から来たアイドル海老原なこと何やら親密そうにしており――?

(音が出ます)


(aikatsu_story -s 98 | sed 's/。/ /g'; aikatsu_story -s --title 98) | xargs echo-sd --stress
季節は3月
    ↘
   つまり、中等部3年生の白銀リリィと二階堂ゆずの卒業のじき
    ↙
四ツ星学園の高等部に進学する予定のリリィに対し、ゆずは世界中のじむしょからスカウトをうけ、どこに行こうかなやんでいる様子
    ↘
   今までずっと一緒だった2人の道は、4月からべつべつになってしまうのか…?
    ↙
_人人人人人人人人人人_
> ゆずっとリリィ☆ <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄

ぼくの想像力ではこれ以上ビビッと来るものがなかった

その他

  • 毎回 http://www.aikatsu.net にアクセスするので、あんまり高頻度に実行しないようにしてください。
    • ローカルでキャッシュを持ったりとかはしてないので
  • ストーリーの内容から話数を逆引きすることはできません
  • 今週のアイカツオンパレード!が何話か自動で計算する機能は付けていません。
    • おはなしページ(http://www.aikatsu.net/story/)の一番新しい回を見に行けばいいように見えるが、おはなしページは2話先まで更新されることがあるので使えない
    • カレンダーから計算することもできなくはない気がしますが、正確性を担保できない気がしたので諦めました。
  • おはなしページの仕様、シリーズごとにころころ変わりすぎ
    • ストーリーの書いてある要素のclass名が text, story-text, story-main, story-waku-menu, story-frame-menu と変化している
      • フレンズ51話以降は story-frame-menu で安定してきたかも?
    • 無印31話だけclass名が異なっている
  • このスクリプトを書いたのは今年の4月ごろで、現在アイカツ!は木曜から土曜に移ってしまいましたが、MXの再放送はまだ木曜日ですし、最新話のストーリーをシェルで得られるのは何かと便利です。
  • これでぼくもアイカツエンジニアのおねえちゃんを名乗っていいですか

今後も末永くアイカツ!シリーズが続いて、 http://www.aikatsu.net が毎週更新されていってほしいですね。