Twitterのフォロー一覧を取得しようとした話。

Twitterをやっています。フォローしている方を増やしすぎました。管理しようとして、壁にぶつかりました。

Twitterを始めたきっかけ

Twitterをはじめようとしたきっかけは、業界研究のためです。

まだ開業前、業界を研究し、差別化をはかるんだ!と意気込んだ私は、ツイッターアカウントを作成しました。最初に連合会のアカウントをフォローし、「さて、社労士の方はどんなツイートをしているのかな?」と「社会保険労務士」で検索し、かたっぱしからフォローしていきました。

400件フォローしたあたりで、エラーが発生しました。

もうこれ以上フォローできませんとのこと。

どうも、1日にフォローできる上限が決まっているようです。

滝のように流れるタイムライン

業界研究のために社労士の方のツイートを読もうとして、挫折しました。400件もフォローしてしまうと、ものすごい量のツイートが短時間で流れるからです。

結局、必要なツイートはブラウザのブックマークに入れ、「あとでじっくり読もう」ということになりました。

フォローした意味がないですね(;^ω^)

フォロー一覧がほしい

使い始めてしばらくすると、フォローしている方の一覧がほしくなりました。

群馬近郊に在住で、ツイート多めの方はどなただろうとか、私と同じ開業したての方はどなただろうとか、いろいろメモしておきたくなったのです。

ところがここで壁にぶち当たりました。

400件以上フォローしていると、Webページから一覧を取得することが容易ではないのです。

フォロー一覧

例えばフォロー中を表示した状態でCtrl+A(すべて選択)を押します。

フォロー中を表示した状態でCtrl+Aした状態

普通だったらここでCtrl+C(コピー)を押せば、すべてをコピーできるはずです。

しかし、Ctrl+Cして、テキストエディタに貼り付けてみると

不完全なコピー

全部で523件フォローしているはずなのに、88行分しかコピーできておらず、あきらかに足りないのです。

フォロー中を全部表示していないからか?と思い、一番下までスクロールダウンし、

最下部までスクロールダウンしたところ。最初にフォローした連合会が見える。

全部表示できたところでCtrl+A→Ctrl+Cしたところ、やはりコピーできたのはわずかな部分だけでした。

テキストエディタに貼り付けたところ。一番下から上十数件のみがコピーされた。

一番下(最初にフォローしたところ)までスクロールダウンしてもだめということは、Webページが動的に表示を変えているということだろうと推測しました。

表示速度を早くするために、一度に表示する分量を調整しているのでしょう。

であれば、何らかのツールで取得するしかないのかなあと考えました。

いろいろなツール

ツールを検索したところ、結構よさそうなものがたくさん見つかりました。しかし、有料だったり、一部機能を限定されていたり、なかなか思うようなものが見つかりません。

VBAのツールもいくつか見つけました。InternetExplorerとtwproとを組み合わせてツイッターのアカウント名とプロフィールを取得するこちら↓のツールはなかなか良いと思いました。

VBAのIE操作でツイッターアカウント・プロフィール情報を自動抽出

でも残念ながら、twproが検索結果を表示できる上限を300件程度に設定しているらしく、私が欲しい情報(社労士と検索してでてきた検索結果と私のフォロー一覧とを突合し、まだフォローしていないアカウントを把握する)には対応できないと思いました。

また、現在TwitterはInternetExplorerへの対応をやめてしまいました。IEへのサポートがVBAでも今年の6月に終わるそうですし、IEを使ったリソースは大幅に変更を迫られますね。

自作する

いろいろな壁にぶつかり、結局自作することにしました。最初はPHPのこちらのサイト↓

【Twitter API】特定ユーザのフォロワー一覧を取得する方法【PHP】

を参考にしようとしたのですが、PHPは初めてなので挫折しましたorz

それで、一番私がコーディングに慣れているのがExcelVBAなので、こちらのサイト↓を参考にしました。

SeleniumBasicで自動スクロール(回数指定あり・なし)[No77]

自作したコード

自作したコード自体は、いろいろ差しさわりがあるのでここには載せません。

別のブログに載せましたので、興味ある方はそちらをどうぞ。

多くなりすぎたフォローを把握するには

(問題があるようなら公開をやめます)