: O. Yuanying

Twitter のつぶやきをローカルに保存して html アーカイブにする

そんなツールを作りました。 要はtwilogのローカル版なんですけどね…。

こんな感じで使うことができます。

  1. twitter からつぶやきをローカルにダウンロード。
  2. ツールを使ってローカルで html 生成。
  3. 生成された html をサーバにアップ。

見栄えはこんな感じ

インストール

ruby のコマンドラインツールなので ruby が必要です。 github から gem 化する方法がいまいちよくわからないので、git でダウンロードして gem を作成してインストールしてください。

$ git clone git://github.com/yuanying/rtlog.git # github からダウンロード。
Initialized empty Git repository in /Users/yuanying/Projects/Ruby/temp/rtlog/.git/
remote: Counting objects: 113, done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 113 (delta 43), reused 0 (delta 0)
Receiving objects: 100% (113/113), 20.80 KiB, done.
Resolving deltas: 100% (43/43), done.
$ cd rtlog/
$ rake gem         #gem の作成。
(in /Users/yuanying/Projects/Ruby/temp/rtlog)
mkdir -p pkg
WARNING:  no description specified
WARNING:  no summary specified
WARNING:  deprecated autorequire specified
  Successfully built RubyGem
  Name: rtlog
  Version: 0.0.1
  File: rtlog-0.0.1.gem
mv rtlog-0.0.1.gem pkg/rtlog-0.0.1.gem  # インストール。
$ sudo gem install pkg/rtlog-0.0.1.gem

使い方

$ rtlog-create -i TWITTER_ID -t TARGET_DIR -u TARGET_URL --temp-dir TWEETS_ARCHIVE_DIR 

以下の情報が必要です。

  • -i 作成するアーカイブの twitter アカウントID
  • -p 作成するアーカイブの twitter アカウントのパスワード
  • -t アーカイブを作成するフォルダ
  • -u アップするサーバのルートの url (ex: http://www.example.com/lifelog)
  • --temp-dir つぶやきをダウンロードするフォルダ

ツールを二回目以降起動した場合は、前回ダウンロードしたつぶやきからの差分のみをダウンロードします。 もう一度ダウンロードし直したい場合はコマンドラインオプションの「-d」を使うか、 --temp-dir で指定したフォルダを削除してください。

また、html の生成がおかしくなってしまった時は、 コマンドラインオプションの「-r」を使うと html を再生成することができます。

  • -d つぶやきを再ダウンロード
  • -r html アーカイブ全体を再生成

自分は以上のコマンドを cron で一時間ごとに実行して、一日ごとにアーカイブの再生成を行っています。