SEOらくらく君にインフルエンサー分析機能を実装

Share on reddit

SEOらくらく君にインフルエンサー分析機能を実装しました。

SEOでは、コンテンツの質や量を高めること以外に、ソーシャルメディアで拡散することも大事で、そのためにインフルエンサーと関係を築いておくことが重要だったりします。

インフルエンサーといっても、たくさんいるので、どのインフルエンサーと関係を作れば良いのか、分からなくなります。

今回、SEOらくらく君に実装したインフルエンサー分析機能では、自分の関心のあるテーマのツイートをリツイートしたTwitterユーザーさんを調べることができます。

自分の関心事に近いツイートをリツイートしたユーザーさんは、自分のツイートもリツイートしてくれたりしやすいでしょう。いわば、相性の良いTwitterユーザーさんが調べられる機能です。

開発は、twitterというgemを使って行いました。TwitterのAPIには色々制約があったり、意外と苦労しました。いくつか手間取った点と解決方法もまとめました。

インフルエンサー分析機能の使い方

らくらく君のナビゲーションにあるインフルエンサー配下の「Twitter」を開き、関心のあるキーワードで検索します。

すると、そのキーワードに関する直近のツイートでリツートされたものが表示されます。

ツイート検索

ツイート数をクリックすると、そのツイートをリツイートしたユーザーさんの一覧が表示されます。フォロワー数やプロフィール情報も表示されますので、自分と相性が良さそうだと思ったユーザーさんを選択します。

リツイートユーザー一覧

そのユーザーさんの直近のツイートと、よく使われるハッシュタグが表示されるので、そのユーザーの関心に合わせて、ツイートに返答したり、フォローしたりして、関係を構築してみてください。

ツイート傾向とTwitterプロフィール

TwitterのAPI

らくらく君のインフルエンサー分析機能は、「twitter」というgemを使ってTwitterのAPIを操作して開発しました。

実装にあたり、いくつか詰まったところをまとめます。

APIの取得制限

TwitterのAPIは、取得回数に制限があり、たくさんのツイートやユーザーを取得しようとすると、すぐに制限に当たってしまいます。少なめのデータを取得をするように実装しました。

また、通常の方法では、1週間以上前のツイートが取得できないです。工夫をすれば1週間以上前のデータも取得できるようですが、そもそもツイート数の取得に制限があるので、1週間以上前のデータを取得することはやめておきました。

integerのlimitオプション

Twitterは、ユーザーやツイートのidの桁数が多いため、通常の4バイトのintegerでは足りないです。今回は8バイトに指定しました。


Rails | マイグレーションで integer カラムを作る時の :limit は、桁数指定ではない ( バイト数指定だ )

データベースに絵文字を登録できるようにする

Twitterでは、ツイート内で絵文字がよく使われます。

残念ながら、mysqlの文字コードがutf8だと、絵文字が処理できないようです。そこで、文字コードをutf8mb4に変更しました。

Rails5.1でutf8mb4(絵文字)に対応させる

まとめ

インフルエンサー分析機能も、まだまだ改善したい点がありますが、まずは、リリースして、実際に業務で使ってみようと思います。

使ってみたい方は、Twitterアカウントまでご連絡ください!

使ってみて、要望やバグなど見つけたという方も、ご連絡お願いします!

Share on reddit