1.TwitterのAPIを使って自分をフォローしてくれているフォロワー一覧を取得してCSV及び、Googleスプレッドシートに保存するPythonスクリプト
表題の通り、TwitterのAPI Version 2を使って自分をフォローしてくれているフォロワー一覧を取得するPythonのサンプルスクリプトです。
前提条件として「TwitterのAPIを使う為に開発者登録をする方法(2021年版)」を読んで、Bearer Tokenを取得しておいてください。
プログラミング環境をお持ちでない方でも動かせるようにGoogle Colabで作成しており、Googleアカウント(Gmailを持ってる人はGoogleアカウントも持ってます)をお持ちの方であればブラウザを使って無料で動かして試す事ができます。
内容的にはフォロー先取得(following)のスクリプトとほとんど一緒ですが、フォロー先取得と同様に最低限の変更だけで動かせる事を目的としたので、スマートでない部分はあります。参考情報はリンク先として明記してあるのでGoogle ColabとPythonに習熟している方はそれらをベースに御自分で改良してみてください。
なお、
・4か所書き換える必要がある。
・ランタイムを一回再起動する必要がある。
・スプレッドシートに書き込むためには途中で認証処理を実行する必要がある。
ので、Google ColabもJupyter notebookも使った事がない方はとっつきにくいかもしれないので、本ページで動かし方を詳しく記述しておきますので、開発部署ではなくマーケティング部署の方なども頑張って挑戦してみてください。
1)githubの該当ページに行く
TwitterAPIv2_get_follower_and_save_google_spreadsheets.ipynb
上のリンクをクリックしてgithubのページをブラウザで開いてください。
2)Colabで開く
画面中央部のOpen in Colabボタンを押す
3)自分のGoogleドライブにファイルを保存
(1)上段メニューの「ファイル」→「ドライブにコピーを保存」で自分のドライブにColabファイルを保存します。
もし、Googleアカウントにログインしていなかった場合は以下のようにログインを促すウインドウが出て来ると思うのでログインしてからもう一度、やり直してください。
正常にコピーが保存できたら画面上部の名前部分に「のコピー」と付くはずです。保存出来た事が確認できたら自分で管理しやすいように名前を自由に変更してください。保存さえしておけば、何かを壊して動かなくなってしまってももう一度本手順を繰り返せばやりなおせるので安心です。
4)usernameとBearer Tokenを書き換えて最初のセルを実行
以下の画像を見ながら(1)の部分を自分のBearer Tokenに書き換えます。
つまり以下のような行になります。
bearer_token = “貴方のBearer Token”
更に(2)の部分を自分のusername(貴方にメンションする際に使う記号が@hogeだったらhogeに書き換えます)。つまり以下のような行になります。行頭の空白部は消したり変更しないでください。
セルの実行が終わると下の方に以下のような出力がされると思うのでidの部分の赤い数字をメモしてください。これが貴方のTwitterアカウントを一意に特定できるuser_idとなります。
5)user_idを書き換えてセルを実行
先ほどと同様に(4)の部分を自分のBearer Tokenに書き換えます。
つまり以下のような行になります。
bearer_token = “貴方のBearer Token”
更に(5)の部分を先ほどメモした自分のuser_idに書き換えます。つまり以下のような行になります。行頭の空白部は消したり変更しないでください。
セルの実行が無事に完了するとCSVが出来ています。
左端のフォルダの形をアイコンを押して
ファイル一覧が出るのでファイル(df_follower.csv)にカーソルを当てると右の方に出る縦に3つ並んだ・をクリック
ダウンロードメニューが出るのでダウンロードすればCSVファイルをダウンロードできます。文字コードはutf8なので、EXCELなどで取り込む際はutf8を指定して取り込んでください。スプレッドシートを使わない方はここで終了です。お疲れ様でした!
6)スプレッドシート用のライブラリを更新してランタイムを再起動
Colabに最初からインストールされているスプレッドシート用のライブラリ(gspread)は少しVersionが古いので、アップデートした後にランタイムを再起動する必要があります。まず、(7)をクリックして新しいライブラリをインストールします。
画面上部メニューの「ランタイム」→「ランタイムを再起動」します。
7)ColabからGoogleドライブのスプレッドシートに書き込みできるように認証処理を行う
(8)と(9)を連続で押します。
(9)を押すと、以下のような画面が出ます。これは、ColabにGoogleドライブのスプレッドシートに書き込む権限を与えて良いかを確認する処理です。同じGoogle内のサービスではありますが、サービスが違うので「本当に良いですか?」と念のために聞かれるのです。まずは赤枠のURL部分をクリック
Googleドライブのスプレッドシートを書き込む先の所有者(おそらく貴方)を選択し、ログインをします。
本当に許可して良いですか?と念押しをされるので確認して問題なければ「許可」を押します。なんか思ったより沢山権限を要求されて心配だな、と思ったら自分で勉強をして元のスクリプトの「gc = gspread.authorize(GoogleCredentials.get_application_default())」部分を変更するともう少し権限を取捨選択できるので挑戦してみてください。今回はディフォルトのままでいきます。
認証用の情報が表示されるので赤枠部分を押して認証用情報をコピーします。
Colabに戻って赤枠部分に先ほどコピーした認証用情報を張り付けてEnterを押します。問題がなければ認証されてセルの実行が停止します。
8)ColabでCSVをGoogleドライブのスプレッドシートに転記する
(10)を部分を押します。
全て問題がなければ
にTwitter_user_list_followerと言うファイルができているはずです。
お疲れ様でした!