ワイヤード・パンチ

サイトタイトル変えたい…。もうメカメカしいの関係なくなった…。

Twitterで誰からもっともいいねされているか調べられるツールを作りました。

Twiiterをやってると、大小それぞれありますが、いいねをもらうことはあると思います。

そのいいねをくれる人たちですが、中には何かしら投稿するたび、いつもいいねをくれる人も。

その人はきっと、あなたのファンです。

一方で、互いにフォローしているにも関わらず、一向にいいねをくれない人もいるはず。

そういう人は、フォローされたからとりあえずフォロー返ししてくれた程度の関係かもしれません。

いっそ、フォローを切ってしまってもいいでしょう。

というわけで、誰が本当のファンなのか今一度確認するために、いいねを多くくれた人ランキングを表示できるツール「めにぃふぁぼ」を作りました。

広告

めにぃふぁぼの使い方。

めにぃふぁぼ

使い方はいたってシンプル。

まずは上記サイトにアクセスします。

次に、いいねランキングを表示したいアカウント名を入力します。

名前ではなく、アカウント名です。

私の場合、名前は「むろ」ですが、アカウント名は「wiredpunch」です。その後者の方です。

先頭のアットマークは入力不要です。

次に、何件のツイートをもとにランキングを表示するか入力します。

半角数字で入力してください。

直近のツイートに付けられたいいねを集計し、そのいいねを付けてくれた各ユーザの回数を集計します。

なお、現時点では200件までとなっています。

あまりいいねが付かないような無駄ツイばかりしていると、信頼性の低い結果になってしまいます。

アカウント名とツイート件数を入力し終わったら、あとは青色の実行ボタンを押すだけです。

数十秒かかりますが、我慢してお待ちください。

そして結果が、先頭の画像のような感じです。

1~10位まで表示できます。

というわけでみなさんも、誰が本当のファンか、改めて確認してみましょう。

ちなみに、「めにぃふぁぼ」の意味ですが、many favorite。いいねいっぱい。

今後の予定。

  • 処理実行に画面が固まってしまうので、ajaxによる非同期処理に切り替えたい。
  • ランキングが表示されるまでの進捗バーが表示されるようにしたい。
  • 200件以上のツイート取得に対応したい。
  • あまりにもいいねされた回数の多いユーザの場合、どうなるかのテストをしたい。
  • スマホ表示の対応。

内部的な処理の流れ。

ただツールを利用するだけのユーザならば、下記以降はプログラムの話なので飛ばしていただいて構いません。

本ツールはTwitter APIおよび、TwitterOuathを利用しています。

詳しい導入方法は省略。

まず、入力値に問題がないことや、存在しないユーザでないことを確認したら、指定したユーザの直近のタイムラインを取得します。

使用する関数は「statuses/user_timeline」であり、その関数が200件までの制限があるので、入力値も200までとさせていただいてます。

(ツイートIDも指定すると途中から指定の件数分取得できるので、それをうまく使えば200件以上もできそうです。今後対応予定。)

最大200件分のツイート情報を取得したら、次はその情報から、ツイートIDのみ抜き出します。

ツイートIDを用いて、各ツイートごとのいいねユーザを一括取得…。

と思ったのですが、TwitterOuathには残念ながら、指定したツイートのいいねユーザを取得する機能がありません。

(RTしたユーザなら取得できるのですが…。)

https://twitter.com/i/activity/favorited_popup?id=●●

その代わり、上記URLの●●の部分にツイートIDを入れてjsonファイルをダウンロードすると、いいねしたユーザを取得することができます。

ただ、jsonファイルでありながら書かれていることはhtmlなので、htmlからユーザIDに値する部分だけ抜き出します。

ユーザIDが取得できたら、IDごとに何回いいねしたかを記録する配列に格納していきます。

これをすべてのツイート分実行します。

すべてのツイートのいいねユーザを取得したら、配列をいいねカウント順に並び替え、ランキングには必要ない11位以降は削除します。

そして1~10位のユーザ情報を「users/show」で取得すれば、カウント数と合わせてランキングのできあがり。

ソースコード公開中。

mu60/manyfav: Twitterで誰がもっともいいねしてくれたか調べるツール

プログラムというのはぶっちゃけ文章で説明するのが難しいので、上記リンクから直接ご確認ください。

なお、本ツールはWordpressのテーマとして作成しています。

WordPress特有の機能は使っていないので、本来ならばWordpressじゃなくて生のPHPでいいはずなのですが、当方プログラムの技術がなさすぎてうまく動作しなかったので、やはりWordpressにさせていただきます。

わし、プログラマー向いてないわ…。

作ったきっかけ。

冒頭のとおり、誰がもっともいいねしてくれるか気になったからですが、それを調べるためのツールがなかったからです。

「誰がよくいいねしてくれるか」みたいなキーワードで調べても、非公開いいねが誰なのか突き止める方法とか、そういうのばっかり出てきます。

Twitterで自分が誰にどれくらい 「いいね」 されたのかを調べる方法 – teriyaki note

また、いいね回数を調べる方法自体はあったのですが、私が利用したことないPythonによる方法であったうえに、ブラウザ上で使えるツールとして公開はされていませんでした。

よって、自分で作ることになりました。

Twitter API – Getting list of users who favorited a status – Stack Overflow

Pythonによるものですが、こちらにあるコードをかなり参考にさせていただきました。