Twitterの全ツイート履歴が落とせなくなってて困った

一年前の自分のツイートをトレースするbotを自宅のRaspberry piで動かしていたのだけれども、Raspberry piのLANが死んだり、OSも不安定になってきたので、VPSに引っ越そうと作業していた。botGitHub - mirakui/retrobot: Retrobot is a twitter-bot engine which is working as mirakui_retro.を使っていて、過去ツイートはTwitterの機能で取得できるtweets.csvを配置して動作する仕組みになっていた。

ところが、help.twitter.com で取得できるアーカイブの中身がtweet.csvと過去ツイートを閲覧するためのhtmlファイル郡から、ツイートの内容やプロフィール情報をjsonにしたjsファイルや画像のアーカイブへとごっそり変わってしまっていた。旧UIでは「全ツイート履歴」と「Twitterデータ」のメニューがそれぞれ用意されていて、両方ともダウンロードできた記憶があるが、新しいTwitter UIに変わってから後者に統合されたっぽい。なので今後はtweets.csvではなく、tweet.jsをパースして使う必要がありそう。

  • 単純なJSONじゃなくて window.YTD.profile.part0 という変数にオブジェクトが代入されているjsファイルになっている
  • tweet.js を眺めた感じ、投稿順にソートされているわけではない

という要因により、tweet.js から1年前の発言を直接遡るにはちょっと一手間いりそうで、json2csvを作るのが早そうだなと思った。