Aggressive Style 5

読者です 読者をやめる 読者になる 読者になる

Aggressive Style 5

昨今はコミケ関係を中心に書いています。同人やニコニコ動画方面で活躍される方の相互リンクをお待ちしています。

cron+PHP+MySQLを使い、Twitterの艦これアカウントのフォロワー数の推移を見てみた

調査や評論

序章:こんな事を始めたきっかけ

ITの仕事なんてものを始め早数年。何度も何度も自ら進んで会社を追われ無職になる。無職の期間中、遊郭の撮影をしようと全国に出たり、コスプレを撮影しようと台湾進出を試みるも失敗。お金も尽き始めついに実家とカフェを行ったり来たりする日々。その頃日本のインターネットの界隈では、「30分でパパっと作ったエロ動画サイトが1日目で5万PV達成したw(はてな匿名ダイヤリー)」などが盛り上がりの様相を見せた。

そして下らない記事を更新して行く中、TwitterCounterと言うサイトに出会った。これはTwitterのフォロワー数などの推移を記録し、グラフなどで様子を確認する事ができるもの。

Check your own Twitter Stats - Twitter Counter

URL:http://twittercounter.com


ここでこのアプリケーションの不満点として、

  • 機能面1:1日おきの推移は分かるが、1時間毎の推移など細かい推移が読み取りづらい
  • 機能面2:csv出力しにくい
  • コスト面:データを買うのに30$かかる

機能面やコスト面を考え、自分で作った方が早いと思い作業を開始した。これができるとアカウントの人気度の推移を見ることが可能となる。例えばこのブログを続けて行く上で、どの商品がどれだけ人気かと言うのが分かればアクセス稼ぎの指標立てができる。その結果「今後も○○の記事を書き続けるべきか?そうでないか?」の判断材料が増える点も見逃せない。要は競馬の予想屋のような、過去の状況から未来の状況を予測しやすくなる訳だ。

第二章:実現の手法を模索

さて、これを実現する上で、Twitterのツイート数がフォロワー数の情報が必要だ。まずTwitter APIを使ってみようとしたが、登録の段階で弾かれてしまう。何度も弾かれ二時間、三時間…と時間が経過する。これではキリが無いと思った自分は、Webスクレイピングと言う技術に目をつけた。これはWebページ上の必要な部分だけ切り取るテクニックの事。この技術を使い、「ツイート数」「フォロー数」「フォロワー数」の3つの情報を切り取った。このときスクレイピングに当たり、以下の3サイトから情報を得た。

そうして調査用のコードが完成(*gitHubが貼れなかったのでこちらを見て下さい)。まずTwitterの特定のページを拾ってきて、次に拾って来たページの各種数値の入っているcssクラス(.js-mini-profile-stat)のテキスト(->plaintext)を拾って来る。最後に拾って来た情報をMySQLに保存出来る形に整理し、MySQLに放り込む(insert)。

しかし手作業でこれを繰り返すわけにはいかない。そこで今度はcronというツールを使って、こいつを定期的に実行する必要が出て来る。以下の2サイトを巡回した結果、一定時間毎のフォロワー数の変化をMySQLに保存する方法を掴んだ。

そんなこんなでcrontabで「*/15 * * * * php ???.php」と入力し、15分毎の変化を見てみる事にした。

第三章:前置きはさておき、実際に確認してみた

第三章ではたまったMySQLを確認して、色々と評論する。具体的な方法はまず「MySQL CSVファイル入出力:さすけのプログラミング入門」SQLコマンドにより、一旦結果をcsvファイルに出力。次に出力したcsvファイルをExcelに取り込み、以下のような図1(時間毎のフォロワー数の推移)、図2(1時間前との差)のようなグラフを作成した。尚上記は「「艦これ」開発/運営 (@KanColle_STAFF) 」に依る物だ。

調査を開始したのが2時頃(フォロワー数:573,328人)、から22時頃(フォロワー数:574,878人)まででなんと1,550人フォロワー数が上昇している事が分かった。又最も1時間前との差が大きくなるのが11時〜15時とお昼の時間帯に、119人〜217人までの範囲で上昇している事が分かる。これはお昼時にWebを見ている人が多い、あるいはお昼時にゲームをしている人が見ている可能性が高い事が分かる。この事から直感的に、お昼の時間帯にゲームにログインしやすいようゲームを設計すると良いかも知れない。

その一方で深夜〜朝の動きは少なく、1時間前との差は11人〜40人と非常に少ない。私見だがネットゲームって寝ずにやるものだと思っていたが、意外とお昼の時間帯にアクセスが集中するのが見ていて面白い。




元データ(直近12時間)

以下は元データになる。本来ならば全て公開するべきだが、文章が長くなるので直近12時間のものを掲載する。


時刻フォロワー数1時間前との差
2014/5/9 11:001157348140
2014/5/9 12:0012573665184
2014/5/9 13:0013573804139
2014/5/9 14:0014573926122
2014/5/9 15:0015574045119
2014/5/9 16:0016574253208
2014/5/9 17:0017574470217
2014/5/9 18:0018574602132
2014/5/9 19:001957467674
2014/5/9 20:002057474569
2014/5/9 21:002157481065
2014/5/9 22:002257487868

最終章

と、無職の期間ながら、自分のやりたい事が出来て良かった。調査や分析ツールの作成、実際の調査や分析の練習の為にこの企画を組んだ。加え、艦これのスタッフやTwitterには無断で申し訳ない。最後に色々な面で反省点を書こうと思う。

技術面

技術面での反省点の1点目は、複数のTwitterアカウントから調査できるようにすると言う点。2点目は、15分に1回毎データーベースを更新しているので、1日に4[件/h]*24[h]=96[件]データが挿入されてしまう点。

そして3点目は、同じ時間帯に複数のアカウント分のツイート情報を取得するとTwitter側の負担になる点だ。さてデータ収集の面では同じ時間帯の取得が望ましいが、技術面で取得するアカウント数の上限を決めるか、止むなく1分程度時間をずらして取得せねばならない。

ブログ運営面

次にブログ運営面の反省点について話す。まず反省するべき点は、Twitterのフォロワー数の推移を見るのは、1時間に1回程度で良い言う点だ。これは朝、昼、晩における、1時間ごとのフォロワー数の推移を見る上で必要が無いと感じた。

しかし、複数のTwitterアカウントにご迷惑をおかけする事で、「AというアニメとBというアニメはどっちが人気か?」と言う人気ランキングを作成する事が容易となった。今後は複数のアカウントに着目し、人気度比較などをやると面白いかも知れない。