【2023年6月最新版】【Twitter】ツイートの履歴取得をtweet.js loaderではなく、Power Queryで行う

クエリとピボット

こんにちは。blueです。

  • Twitterの過去の全発言を振り返りたい
  • 発言履歴をExcelでまとめたい

といったことはないでしょうか?
これまではtweet.js.Loaderというサイトを使って簡単にデータを取得できていたのですが、現在はできなくなっています(2022年12月確認)。

その為今回はPower Queryを用いて行う方法について説明します。
JavaScriptの加工は少し必要ですが簡単にできますのでぜひ勉強していってください(Power Queryの知識は必要です)。

Power Queryに関してどの書籍を買ったらいいの?と思われている方には以下がお勧めです。簡単なボタン操作から、関数を使った処理まで、サンプルデータを一式操作してみるだけでPower Queryが使えるようになります。購入して間違いのないお勧めの一冊です。

スポンサーリンク

結論

以下の3つの手順を踏むことでExcelでの編集が可能になります。

  1. Twitterからアーカイブをダウンロードする
  2. テキストエディタで開いてtweets.jsファイルを修正する
  3. jsファイルをPower Queryで読み込む

次からそれぞれについて説明します。

Twitterからアーカイブをダウンロードする

1 Twitterにアクセスし、「もっと見る」をクリックする

2「設定とサポート」-「設定とプライバシー」をクリック

3 「アカウント」ー「データのアーカイブをダウンロード」をクリック

4 本人確認が必要になるので指示に従う

5 「アーカイブをダウンロード」をクリックする

6 通知が来るまで待つ(私の場合は約1日かかりました
7 通知が来たら「通知の内容」をクリックする

8 「アーカイブをダウンロード」をクリックする

9 「アーカイブをダウンロード」をクリックする

10 得られたファイルを解凍する

得られたファイルは以下の構成になっています。

この中の[data]-[tweets.js]を使用します

テキストエディタを用いてtweets.jsファイルを修正する

tweets.jsはJSONというJavaScriptのオブジェクトの書き方を元にしたデータファイルです。

JSONはPower Queryで読み込むことができるのですが、少し修正が必要です

その為次の方法でjsファイルを修正します。

1 テキストエディタ(ここではメモ帳)を開く

クリックすると拡大します

2 [ファイル]-[開く]よりtweets.jsファイルを開く拡張子をすべてのファイルにして表示させてください)

クリックすると拡大します

3 最初の行のwindow.YTD.tweets.part0 =を削除する([からは残すこと)

4 ファイルを保存する。ファイルの種類を「すべてのファイル」とし、「tweets2.js」(ファイル名は適当で可。ただし.jsとすること)とする


これでPower Queryに取り込むことができるようになります。

(ちなみにこの処理を行わないでPower Queryで取り込むと以下のエラーが出ます。最初の文字があるためJSONとして取り込んでくれません)

クリックすると拡大します

jsファイルをPower Queryで読み込む

1 空のExcelを開く

2 「データ」-「データの取得」-「ファイルから」-「JSONから(J)」で先ほどのtweets2.jsファイルをインポートする

3 Power Queryエディターが立ち上がる。「変換」-「テーブルへの変換」をクリックする

クリックすると拡大します

4 「区切り記号を~」を「なし」、余分な列~を「エラーとして表示」としてOKをクリックする

5 変換された列に対して「展開ボタン」(図の赤枠)をクリックする

クリックすると拡大します

6 tweet列をチェック元の列名を~のチェックを外してOKをクリックする

クリックすると拡大します

7 表示されたtweet列に対して「展開ボタン」をクリック、必要な列を選択(ここでは作成日時である created_atとテキスト情報であるfull_textを選択)、元の列名を~のチェックを外してOKをクリックする

クリックすると拡大します

これでTwitterの全履歴を取得することができました。

クリックすると拡大します

参考

使用頻度の高い列についてまとめました

英語日本語
favorite_countいいねの数
retweet_countリツイートの数(引用ツイートは含まない)
created_atUTC(協定世界時)作成日時
full_text文章
possibly_sensitiveコンテンツが敏感であるかどうかを判定 Trueで敏感、Falseは問題なし。リンクが貼られていないテキスト文のみだとnullになる

詳細はTwitter APIのサイトに書かれていますが、今回の「データのアーカイブのダウンロード」の方法では一部の情報しか抜き出せません。ご注意ください。

まとめ

今回は全ツイートの履歴取得をtweet.js loaderではなく、Power Queryで行う方法について説明しました。

ポイントは

  • Twitterからアーカイブをダウンロードする
  • jsファイルをテキストエディタを用いて編集する
  • jsファイルをPower Queryを使って取り込む

です。

Excelでデータをまとめる際はPower Queryを使うのが便利です。知らない方でも一から学べるようにまとめています。ぜひご覧ください。

Power Queryに関してどの書籍を買ったらいいの?と思われている方には以下がお勧めです。簡単なボタン操作から、関数を使った処理まで、サンプルデータを一式操作してみるだけでPower Queryが使えるようになります。購入して間違いのないお勧めの一冊です。


コメント

タイトルとURLをコピーしました