自分自身のツイートをバックアップ、そして検索可能にする
気づけばTwitterをもう10年近くやっている。 これだけ長々とやっていると「あの時何してたっけ?」「過去にこういうツイートしたはず」と過去のツイートを検索したくなる機会がある。 そんな時はいつもtwilogを使っている。すぐに時期別やキーワードによる過去ツイートの検索ができて便利だ。
しかし、あるとき次の記事を読んでショックを受けた。
Twitterを4ヶ月凍結されて、弁護士に依頼して凍結解除してもらった話 - gecko655のブログ
Twitterは明確な理由も伝えずアカウントを凍結することがあるらしい。 さらに、そうなったらtwilogは閲覧不可になり過去ツイートすら遡れないとのこと。 思い返せばSearch BAN(暗黙的に検索対象から除外される措置)を喰らったこともあるし、Twitter運営の信用できなさは以前から感じていた。その上過去の思い出まで消されたら辛すぎる。ということで、過去ツイートをバックアップしておきたくなった。
Twitterのデータ・アーカイブ機能を使ってもいいのだが、ダウンロード可能になるまで時間がかかるようなので、twilogのダウンロード機能で過去ツイートをダウンロードした。 ひとまずこのCSVファイルを保管しておけば仮にアカウントが凍結されても過去の思い出は残せる。
しかし、ツイートはこれからも増え続ける。定期的にtwilogにアクセスして何度もダウンロードし直すのはさすがに面倒だ。そこで、定期的にTwitter APIを使って自身のツイート最新100件ほどを取得して、データに追加していくプログラムを作った。
ここまでやれば手元に常に自分の全ツイートデータのバックアップが揃った状態になる。 しかし、自分のPCだけに保管するのは心もとないので、どこかサーバー上に保存しておきたくなる。さらに欲を言えばtwilogよりも素早く過去ツイートを掘り出せるようにしたい。 その発想から、過去ツイート検索Webアプリが誕生した。
内部的にはデータを常にクラウド環境にレプリケーション(複製)し、そのデータから検索をする簡素なWebアプリを横に添えている。普段の労働で使う技術がこんなところで役に立った。
たとえば過去ツイートを「拙者」で調べたら(こいつ、どんだけ同じツイートしてるんだよ!!!)と突っ込めたりして我ながら面白さもある。
まぁ検索はおまけとして、いつアカウントが失われても、最悪データは残せる仕組みが構築できたのでよかった。