Twitterのフォロー一覧を取得しようとした話。
Twitterをやっています。フォローしている方を増やしすぎました。管理しようとして、壁にぶつかりました。
Twitterを始めたきっかけ
Twitterをはじめようとしたきっかけは、業界研究のためです。
まだ開業前、業界を研究し、差別化をはかるんだ!と意気込んだ私は、ツイッターアカウントを作成しました。最初に連合会のアカウントをフォローし、「さて、社労士の方はどんなツイートをしているのかな?」と「社会保険労務士」で検索し、かたっぱしからフォローしていきました。
400件フォローしたあたりで、エラーが発生しました。
もうこれ以上フォローできませんとのこと。
どうも、1日にフォローできる上限が決まっているようです。
滝のように流れるタイムライン
業界研究のために社労士の方のツイートを読もうとして、挫折しました。400件もフォローしてしまうと、ものすごい量のツイートが短時間で流れるからです。
結局、必要なツイートはブラウザのブックマークに入れ、「あとでじっくり読もう」ということになりました。
フォローした意味がないですね(;^ω^)
フォロー一覧がほしい
使い始めてしばらくすると、フォローしている方の一覧がほしくなりました。
群馬近郊に在住で、ツイート多めの方はどなただろうとか、私と同じ開業したての方はどなただろうとか、いろいろメモしておきたくなったのです。
ところがここで壁にぶち当たりました。
400件以上フォローしていると、Webページから一覧を取得することが容易ではないのです。

例えばフォロー中を表示した状態で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]
自作したコード
自作したコード自体は、いろいろ差しさわりがあるのでここには載せません。
別のブログに載せましたので、興味ある方はそちらをどうぞ。
(問題があるようなら公開をやめます)
-
前の記事
副業で週40時間は可能か?本業でも週40時間の場合 2022.04.30
-
次の記事
IEの代わりにSeleniumを使うVBAコードを考えてみた。 2022.05.02