こんにちは。CData Software Japan リードエンジニアの杉本です。
Twitterの機能で、全ツイート履歴をダウンロードする方法があるってご存知ですか?
help.twitter.com
通常、Twitter APIで取得する場合だと色々と制限があるんですが、この機能を使うことで自分のツイートを一括で取得して、分析したり活用したりすることが可能です。
実はこのデータを活用して、以下の記事とかも作成していました。
www.cdatablog.jp
ただですね、フォーマットがちょっと面倒で、ZIPファイルを展開すると、以下のようなJSファイルが並んでいて、
APIで取得できるJSONオブジェクトのままなんですよね。
おそらく何も知らずにダウンロードした人は「これはどうすればいいんじゃ!」となること間違いなしです。
そこで今回は以下のような感じでこの全ツイート履歴のデータをExcelで見やすく、かつ特定のキーワードで抽出したりする方法を紹介します。
JSONデータを少し調整する
まず、対象のファイルの「window.YTD.tweet.part0 = 」の部分を削除します。
window.YTD.tweet.part0 = [ {
"tweet" : {
"retweeted" : false,
"source" : "\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android",
"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%'
こんな感じでロードできました。
是非お試しあれ
関連コンテンツ