YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Twitterのログを残すスクリプトを書いた

動機

最近FriendFeedとかを使ってTwitterにあらゆるログを流しているのはいいけど、記録してないのでログを残したくなった。しかし巷にでているウェブサービスはどうもしっくりこないのでとりあえず最低限ローカルに残すようなスクリプトを作ろうと思って書き始めた。
Twitterはもう何度もAPI見てるので勝手が分かってた分1時間ちょっとでできた。メインの部分は20分くらい。時間の扱いではまった。

使い方

$ python twtr2logpy -i <twitter id> -p <log dir>

するとlog dirに今日の日付のログファイルができます。

$ less $LOGDIR/yyyymmdd.log
<status id>    <test>    <created_at in JST>
...

というタブ区切りのログができます。idの昇順に並ぶように記録されますので、時間は古い物から新しい物へと並ぶはずです。同じ日に同じパスを指定すればログを追記するようにしています。

はまったところ

グリニッジ標準時から日本時間に直す

やっぱりPythonは時間とかの扱いが弱いと思う。dateutilが標準ライブラリに入らないかなあ。

def convert_jst(created_at):
    st = time.strptime(created_at, TWTR_TIME_FORMAT)
    gt = datetime(st.tm_year, st.tm_mon, st.tm_mday,
                  st.tm_hour, st.tm_min, st.tm_sec)
    lt = gt + timedelta(hours=9)
    return lt.strftime(LOG_TIME_FORMAT)

おまけ

いろんな人がWebサービス作っててくれてほんとありがたい。

作ったログファイルはDropboxに突っ込むようにすればいろんな環境で使えて楽になるかも。