こんにちは。CData Software Japan リードエンジニアの杉本です。
Twitterの機能で、全ツイート履歴をダウンロードする方法があるってご存知ですか?
通常、Twitter APIで取得する場合だと色々と制限があるんですが、この機能を使うことで自分のツイートを一括で取得して、分析したり活用したりすることが可能です。
実はこのデータを活用して、以下の記事とかも作成していました。
ただですね、フォーマットがちょっと面倒で、ZIPファイルを展開すると、以下のようなJSファイルが並んでいて、
おそらく何も知らずにダウンロードした人は「これはどうすればいいんじゃ!」となること間違いなしです。
そこで今回は以下のような感じでこの全ツイート履歴のデータをExcelで見やすく、かつ特定のキーワードで抽出したりする方法を紹介します。
JSONデータを少し調整する
まず、対象のファイルの「window.YTD.tweet.part0 = 」の部分を削除します。
window.YTD.tweet.part0 = [ { "tweet" : { "retweeted" : false, "source" : "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", "entities" : { "hashtags" : [ ], "symbols" : [ ], "user_mentions" : [ ], "urls" : [ ] }, "display_text_range" : [ "0", "82" ], "favorite_count" : "0", "id_str" : "99059949191176192",
その後「tweet.js」ファイルを「tweet.json」に変更してください。
以下のようになればOKです。
CData Excel Add-in for JSON で接続する
続いてこのJSONデータを見やすくするために、「CData Excel Add-in for JSON」をインストールします。
以下のURLからトライアルが入手可能です。
https://www.cdata.com/jp/drivers/json/excel/
セットアップすると、ExcelにCDataタブが追加されるので「データの取得」→「取得元:JSON」を選択してください。
接続設定の画面が立ち上がるので、対象の「tweet.json」ファイルをURIに指定しましょう。
あとは「json」というテーブルを選択すればOKです。
とりあえずOKをクリックすれば、100件ツイートデータがExcel上にロードできます。
Likeやリツイートのカウントなども取得できるので、便利です。
ちなみに、最大行数のチェック(LIMIT 100)を外せば、全件ロードできます。
また、カラムのチェックボックスをON/OFFすることで、必要なカラムだけ表示することも可能です。
特定キーワードを含むツイートだけ抽出する
もし、特定のキーワードだけ含むツイートを抽出したい場合は、以下のように「tweet.full_text」の項目に対して「次の値を含む:API」といった形で設定することで対応できます。
SQLでも書けるようになっていて、以下のような指定になります。
SELECT * FROM [CData].[JSON].[json] WHERE [CData].[JSON].[json].[tweet.full_text] LIKE '%API%'
こんな感じでロードできました。
是非お試しあれ