動機
最近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)