読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

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

Python

動機

最近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に突っ込むようにすればいろんな環境で使えて楽になるかも。