かっぱラクガキ帳

ごはんがおいしい日々を

自分のtweetをGitHub Pagesで公開してみた話

[2018-09-24 追記] データのダウンロードには2種類の方法があるようでした。

TwitterをPCのブラウザで開き、右上のアイコンから「設定とプライバシー」を選び…

  1. 「ユーザー情報」→「コンテンツ」→「ツイート履歴」
  2. →この記事で紹介した、HTMLレンダリングされたデータが取得できます。
  3. Twitterデータ」→パスワード再認証→「Twitterデータをダウンロード」
  4. →追記したすべてのデータ(DM、フォロー、ミュート&ブロック、リストなど含む)が取得できます。

  5. の方法で取得したデータならこの記事の方法で利用できます。


[2018-09-15 追記] twitterの仕様変更により、tweets.zipには以下の変更が入ったようです。

  • index.htmlが同梱されなくなった
  • Direct Messagesをはじめ、すべてのデータがJSON形式で含まれるようになった
    • Public repository にcommit/pushするとJSONで世界に丸見えになるので注意しましょう

もう少しいい方法がないか探してみますが、2018年9月現在この記事の方法は使えません/おすすめできません。


twitterがアカウント凍結祭りで盛り上がっている今日この頃ですが、こんな記事を読みました。

masawada.hatenadiary.com

とても納得できる記事だったので「せやにゃー」などと思いながら読んだのですが、その中で気になったのが

とりあえずこれまでのツイートはすべてダウンロードしてGitHubに置いた。永久に凍結されたとしても8年間の資産は失われないといえる。

という記述。なるほどこれは早速マネしなくては!と思い立ち、ついでにGitHub Pagesで公開してみたらいい具合になったので、手順をメモっておきます。

https://kwappa.github.io/tweets/

f:id:Kwappa:20171001103605p:plain

GitHubのアカウントを作りSSHでアクセスできるようにしておく

経験者には説明するまでもないですね。SSH?なにそれ?おいしいの?という方は、GitHubの公式クライアントを使うとよさそうです。

GitHub公式クライアントでだれでも簡単GitHubライフをはじめよう | blog.tai2.net

tweet履歴をダウンロードする

twitterWebブラウザでアクセスし、「設定とプライバシー」画面の一番下にある「全ツイート履歴をリクエスト」を押します。しばらく待つとダウンロードページのURLがメールで送られてくるので、ダウンロードして展開します。

GitHubにpushする

GitHubで新しいリポジトリを作っておきます。ぼくは tweets という名前にしました。

展開したフォルダをリポジトリと同じ名前にリネームし、ターミナルで以下の作業を行います。

$ cd tweets
$ git init
$ git add -A
$ git commit -m 'Add all tweets'
$ git remote add git@github.com:YOUR_NAME/tweets.git origin
$ git push -u origin master

上から

という作業をしています。

GitHub Pagesを有効にする

ブラウザでこのリポジトリを開き、「Settings」画面からGitHub Pagesを有効にします。

f:id:Kwappa:20171001103134p:plain

「Source」プルダウンから「Master Branch」を選ぶと、 https://YOUR_NAME.github.io/tweets のようなURLが表示されます。内容が反映されるまで少し(最大数分)時間がかかります。

以下余談

冒頭のスクリーンショットでわかるように、ぼくのtweet数は2011年をピークに漸減しています。この4月からMastodonに関わり始めたからだと思っていたのですが、それより前から減っていたのはちょっと意外でした。

コミュニティプラットフォームというのは大きくなると自重に耐えられなくなる、というのは歴史が証明しているところでもあります。今後twitterがどうなっていくかは興味深く見守りつつ、凍結されないよう注意深く使っていこうと思います(棒読み)。

今回はGit / GitHubの操作が出てきました。Gitこわい!黒い画面苦手!という方には「GitHubの教科書」というわかりやすい本がありますのでおすすめしておきます(ダイレクトマーケティング)。