Google Apps ScriptとTwitter APIで峯岸みなみさんのTwitterフォロワー数の推移を測定・分析する下地作り
久しぶりにコードを書きたくなったのと、何かしら自分なりに峯岸さんにお役立ちできればなというモチベーションで、以下のようなことに取り組んだ。
やりたいこと
①定期的にフォロワー数を取得する
②データを蓄積する
③蓄積したデータを可視化する
やったこと
①Twitter APIを利用する
②Google Apps ScriptでGoogleスプレッドシートに追記する
③今回は対象外
③を対象外としたのは、②ができていればどうにでもなるため
実現方法
成果物の一例
データを蓄積しているGoogleスプレッドシートと、フォロワー数の増減のグラフなどがこのように表示できる。
なお、これらはGoogleスプレッドシートの「ウェブに公開」で「埋め込み」 の機能を使って貼り付けている。そのため、データが更新されれば、これらも最新のものになっているはずである。(この記事を書いているのは2019年1月6日である)
Why Google Apps Script?
理由は大きく2つ。
- 定期的に実行する環境が無償で手に入るため。
- 今後、スクレイピングしてデータを蓄積するなど様々な方面でGoogle Apps Scriptの利用シーンを増やせそうなため。
最初はPythonで書いていたため、AWSの利用などを検討していた。
など技術的に面白そうなことも考えて居たが、まずはスモールスタートということで、無償で実現できる方法を選択した。
今回は以下のような前提のため、Google Apps Scriptで十分と判断した。
Why Googleスプレッドシート?
Google Apps Scriptと同じ理由。
MongoDBやInfluxDBなども利用してみたかったが、まずはスモールスタートで実現しやすい方法を選択した。
今回の実施要項
Twitter APIでユーザ情報をJSONで取得する
使用したのは、このAPIである。
GET users/show — Twitter Developers
コードは下記。screen_name(TwitterのID)を引数にAPIを叩いて、JSONを返す。
なお、この前段階で、Twitter APIの認証を通しておく必要がある。
Google Apps ScriptでTwitter APIを叩く際に、OAuth認証で少し嵌まった。
下記の記事が参考になる。Callbackの設定のところでつまづいていた。
GASでTwitterにツイートする(GASの準備偏) | 三十路街道 ボンバィエ
https://script.google.com/macros/d/[スクリプトID]/usercallback
とすると、今回の場合、うまくいった。
Googleスプレッドシートに取得時のタイムスタンプとjsonを格納する
格納する際は、最新のデータが一番上に来るようにする
たったこれだけで、できてしまう。Google Apps Scriptの便利さたるや、恐るべし。
初歩的なことではあるが、HH(24時間表記)とhh(12時間表記)を間違えていた。
できるようになったこと
TwitterのAPIの使い方が分かった(初体験)
Google Apps Scriptを触れるようになった(初体験)
JavaScriptで簡単なコードはかけるようになった
これからやりたいこと
- 今回取得するデータを用いた分析(テレビでの露出と関係はあるか?ツイート数は関係あるか?など)
- 他のメンバーも取得して、フォロワー数推移の比較をしたい(すぐできる)
- リプライ、#31mail、#31roomなどのリアクションも可視化できるようにしたい
- インスタグラムでも同じことを実施したい(InstagramのAPIの勉強が必要)
他のメンバーは誰と比較すれば良いだろうか。
指原莉乃さん、柏木由紀さんなどの大御所のメンバーと、これから伸び盛りの矢作萌夏さんなどだろうか。
3のデータも蓄積しはじめたら、いろいろな分析ができるようになり面白そうだなと思っている。一気にやりすぎると疲れてしまうので、ひとまず今回は、ここまでにしよう。