Twitterトレンドキーワードのランキングサイト「ツイータン」では、Twitter APIを使って10分おきにトレンド情報を取得しておりましたが、そのデータが遂に400万レコードを超えるまでにたまっておりましたので、サイトをもう少し作りこんでみることにしました。
サイトの作りこみをするにあたって、新たに2つの機能をサイトに追加もしてみました。
一つは、トレンドワードの人気度推移をグラフで24カ月分見れるようにした、トレンド推移機能です。Googleトレンドみたいにグラフでワードの人気度を見れるものといった方が分かりやすいかもしれません。
もう一つは、トレンドキーワードの検索機能です。さすがに14万語以上もキーワードデータがたまると、検索機能がないことには使い物にならないとは思いましたので、新たに実装させてみました。
この記事では、「ツイータン」に追加したこの二つの機能の詳細と、これら機能をPHPとSQLで制作したポイントについて簡単にご紹介をしています。
ツイータンとは
指定した地域のトレンドワード取得ができる「Twitter GET trends/place API」を使い、Twitterのトレンド情報を2019年から集め始めました。その集めたデータを使って作ったサイトが「ツイータン」です。
Twitter APIで収集したトレンドデータをDBにためまくり、月次集計してキーワードの月別ランキングをご紹介するだけのサイトでしたが、データがこれだけたまったのにランキングだけでは寂しいと思ったので、新たに機能を考えました。
元になったTwitter APIのトレンドデータとは
Twitterでは、ツイッターのトレンド情報を地域別に取得することができるGET trends/place APIというAPIを公開しており、この情報を使っておりました。
TwitterAPIについては下記の記事でもご紹介しています。
Twitter APIへのOAuth認証はcowitterで対応
「ツイータン」のサイト構築で最も重要なPHPでTwitter APIに接続にはcowitterというライブラリを使っています。
TwitterOAuthを使う方が一般的かもしれないですが、たまたま見つけたウェブ制作会社さんの記事でcowitterの紹介をされていたので、mpywさん作成のライブラリcowitterでAPIからデータ取得をしています。知恵袋の初心者質問にも丁寧に答えていて、凄い優しい人っぽいです。
10分おきに集信したデータが400万レコード超えに
APIから一度に取得できるトレンドキーワード情報はたった50件ほどしかありませんが、データは5分毎に更新がされるようなので、cowitterでTwitter APIから取得したデータをDBにためるPHPを一本作成し、サーバ負荷も考えて10分おきにcronで走らせることにしてみました。
10分おきに50レコード、1時間で300レコード、1日で7200レコードくらいはたまるので、1年半ほど経過して、400万レコードを超えるデータがたまったようです。
トレンドワード・トレンドハッシュタグは14万語以上
5分毎にトレンドデータは更新されるものの、トレンドとなるキーワードが5分毎に全部コロコロ変わるわけではありませんので、ログが400万レコードあったといっても、キーワードとしては14万語程度しかありませんでした。
このうち、トレンドのキーワードとハッシュタグの比率は3:1くらいでキーワード文字列の方が多くなっていました。ハッシュタグをつけた文字列の方がトレンドになりやすいというものではないようです。
ツイータンに新たな機能を付けました
たまったデータを有効活用するため、2個の新しい機能をサイトに実装させることにしました。
ツイート/ハッシュタグの検索機能
14万語もトレンドワード・トレンドハッシュタグの情報が集まったので、トレンドワードの検索機能を新たに付けてみました。検索するキーワードによっては数千件以上ヒットしてしまう単語もあったので、検索ヒット数の上限制限はつけておきました。ヒット数が多すぎると警告が出た場合は、複数キーワードで検索をしてみて下さい。
ツイート/ハッシュタグの24カ月トレンド推移グラフ
これまでは単にトレンドのキーワード・ハッシュタグをランキングにして、単にTwitterのURLにリンクをしていただけでしたが、上にあるようなキーワードのトレンド推移を24カ月の推移グラフで確認できる画面を新たに作り、そこに飛ぶようにしてみました。
2021年01月のTwitterトレンドにも入っていた「新年早々」という季節性あるワードで調べてみると、このように1月にきっちりとトレンドがでることが分かります。
SixTONESがオールナイトニッポンで番組をやることが決まり、「#SixTONESANN」という番組ハッシュタグが決まった2020年3月以降のトレンド推移なんかは見ていて面白かったです。
トレンドとなったキーワードは14万語以上あるので、ここでは紹介し尽くせないですが、2020年の「ツイータン」年間トレンドワードランキング1位となったトレンドワードの「#メンテの日なのでssを貼る」というハッシュタグでみるとこんな感じになりました。
Twitter APIからデータ収集し始めたのが2019年の9月のため、2019年のはじめのデータがなくて残念ですが、トレンドの推移がよく分かりました。
おわりに
24カ月推移グラフは、以前に楽天・ヤフーの検索キーワードランキングサイト「Keyword Tool++」を作った時に制作したグラフでしたが、これを「ツイータン」にも適用したら意外と面白いグラフができたという感じでした。
グラフは毎度おなじみのChart.jsを使って生成しています。
24カ月推移グラフの作成方法は、こちらの記事でご紹介しています。宜しければ合わせてご確認下さい。
毎10分毎にAPIに接続してデータ集信をかけておりましたが、2年近く一度もコケルことなくデータ収集ができておりましたので、Twitter APIがとても安定したサービスというのがよく分かりました。無料で利用可能なAPIなので、ぜひ皆さんもお試し下さい。