はじめに
この記事は、アイカツ! Advent Calendar 2018の24日目の記事です。内容としては、BANDAI CHANNELにおいて配信されているアイカツ!シリーズの各エピソードの再生回数を取得して、上位を調べてみたものになります。結局スクレイピングものばっかりになってしまった。
前日の記事はhazel_calmさんによる【アイカツ! Advent Calendar 2018】俺とアイカツフレンズ! - Hazel's blog
でした。
ちなみに、これまでアイカツ! Advent Calendar 2018では以下のような技術系記事が投稿されています。
-
アイカツ!画像でLGTMできるChrome拡張機能をストアに公開しました - matのブログ
- 2日目
-
Aikatsu Music Medoly - アトリエあざらし
- 5日目
-
アイカツ!のマイページから情報を取得するやつを作る その1 - Qiita
- 7日目
-
アイカツ!のマイページから情報を取得するやつを作る 番外編その1 - 各環境で実行可能なバイナリをgoreleaserでビルドしてGitHub Releasesでリリースする
- 11日目
-
冴草きいちゃんがアイカツ!画像を探してくれるdiscord botを作った話 - nyakuroのブログ
- 12日目
-
アイカツ!のマイページから情報を取得するやつを作る その2 - Qiita
- 14日目
-
アイカツ!の各弾ランキング上位陣のアピールポイントを可視化してみる(2018/12/23更新)
- 21日目
データの取得
やるだけ。おわり。
各シリーズのIDと話数。
import json
import requests
from operator import itemgetter
SERIESES = [{
'title': 'アイカツ!',
'title_id': 3480,
'episodes': 50,
}, {
'title': 'アイカツ!(2ndシーズン)',
'title_id': 3856,
'episodes': 51,
}, {
'title': 'アイカツ!(3rdシーズン)',
'title_id': 4321,
'episodes': 51,
}, {
'title': 'アイカツ!(4thシーズン)',
'title_id': 4859,
'episodes': 26,
}, {
'title': 'アイカツスターズ!',
'title_id': 5154,
'episodes': 50,
}, {
'title': 'アイカツスターズ!(2ndシーズン)',
'title_id': 5581,
'episodes': 50,
}, {
'title': '劇場版アイカツ!',
'title_id': 5840,
'episodes': 1,
}, {
'title': 'アイカツ!ミュージックアワード みんなで賞をもらっちゃいまSHOW!',
'title_id': 5841,
'episodes': 1,
}, {
'title': 'アイカツフレンズ!',
'title_id': 5969,
'episodes': 37,
}]
実際に取得する部分。取得結果のall_data
の中身はこちら。
取得部分(get_plays
)は読者への課題とします。
all_data = []
for series in SERIESES:
series_play_counts = [get_plays(series['title_id'], ep + 1) for ep in range(series['episodes'])]
all_data.append({
'title': series['title'],
'title_id': series['title_id'],
'play_counts': series_play_counts,
})
技術っぽいことを書くと、sorted
にkey
でソート方法の関数を渡している部分で、雑にlambda x:x[1]
とか書くのではなくoperator.itemgetter
を使うことで高速化を図っています。
for series in all_data:
print(series['title'])
by_play = sorted(enumerate(series['play_counts']), key=itemgetter(1), reverse=True)
print(by_play[0:3])
結果
上記のコードの実行結果が以下になります。
アイカツ!
- 1話 私がアイドルになっても?
- 291142回
- 2話 アイドルがいっぱい!
- 46562回
- 40話 ガール・ミーツ・ガール
- 43199回
1話、2話と来て40話に飛ぶのが特徴的ですね。いちあお馴れ初め、神城レイの登場、さまさまばけーしょんなど見ごたえのある回です。
アイカツ!(2ndシーズン)
- 51話 ロックなあの娘はドリーム☆ガール
- 141379回
- 52話 おかえり♫ストロベリー
- 33678回
- 64話 ラッキーアイドル☆
- 29782回
64話は新年レースでユリカ様が寝坊する回です。
アイカツ!(3rdシーズン)
- 102話 アイカツしよう☆Ready Go!!
- 61303回
- 114話 ハッピーツリークリスマス☆
- 10896回
- 122話 ヴァンパイアミステリー
- 10022回
クリスマス回とヴァンパイア回がランクイン。3年目ともなると「無料配信+1話まで」という見方が減ってきて、心に残る回がランクインしやすくなるのでしょうか。
アイカツ!(4thシーズン)
- 153話 とびだそう、広がる世界!
- 25889回
- 166話 私が見つけた最初の風
- 9979回
- 159話 ギャラクシー☆スターライト
- 8318回
SLQエントリーの回、スペースオオゾラッコーン回。どちらも大好きです。
アイカツスターズ!
- 1話 ゆめのはじまり
- 56117回
- 2話 ふたりはライバル!
- 15000回
- 3話 わたし色の空へ
- 12909回
新シリーズになったためか、最初の3話が順番にランクイン。
アイカツスターズ!(2ndシーズン)
- 51話 パーフェクトアイドル エルザ
- 12293回
- 52話 狙われたアイドル!?
- 4193回
- 54話 きらら☆フワフワ~なアイドル
- 3849回
きらら登場回が53話を追い抜いたようです。
劇場版アイカツ!
- 1話
- 2620回
劇場版なので1話しかないです。
アイカツ!ミュージックアワード みんなで賞をもらっちゃいまSHOW!
- 1話
- 1717回
劇場版なので1話しかないです。
アイカツフレンズ!
- 1話
- 4332回
- 10話
- 1842回
- 11話
- 1738回
ハニキャ結成回とピュアパレ結成回が揃ってランクイン。象徴たるフレンズ制度についての評判の良さが伺えます。
まとめ
全シリーズにおいて、無料配信になっている1話が1位になり、そのあとで人気のエピソードが上位に来るようです。また、予想より劇場版シリーズの再生回数が少なく、これは劇場版は1話完結なため見たい方が円盤を買いがちであるものと推測します。
今回の結果は以下のURLに保存してあるため、気が向いたらまたやってみようと思います。来年のこの時期とか。
おわりに
明日で最後となるアイカツ! Advent Calendar 2018ですが、今年は無事全日程をここまで埋めることができました。ADVENTERのカレンダーを埋めたときに出る飾り(?)がSHINING LINE*の如く連なっていて非常に良い感じですね。
明日はgomachan7さんによる「CalendarGirl」です。