twlog

Twitter過去ログ保存/表示アプリ

Twitterの発言は過去3000件分くらいしか保持されないそうな。
また、自鯖に保管しておきたかったので作りました。

Twitterから過去ログを取得してローカルにタブ区切りテキストで保存するスクリプト、及び表示に必要なスクリプト(PHP版とAJAX版)は下記よりダウンロードできます。
 

  • twlog Twitter過去ログ保存用スクリプト twlog.zip (version 0.5 2011-01-14)
    • Twitterの発言を取得して、自鯖に「指定ディレクトリ/yyyy/mm/dd」のフォルダ構成/タブ区切りテキストファイルを作成し、ファイル内に1行1発言で保存します。
    • 複数アカウントに対応(from ver. 0.4)
    • APIで取得するstatusesのidは数値としては大きくなりすぎて扱えないので、id_strを使用する方法に変更(from ver. 0.5)
    • 本スクリプトは、nojimageさんのTwitterの発言をmixiボイスに投稿するスクリプトをベースに作成されております。
    • PHP 5、FireFox 3.6で開発しています。
    • PEARのHTTP_Clientを利用します。
    • ライセンスは、PHP License 3.01です。
  • twlog_view 過去ログ表示用スクリプト twlog_view.zip (version 0.3 2010-06-19 ※セキュリティアップデート)
    • 上記ログ保存用スクリプトで保存されたタブ区切りテキストをサンプルページ(PHP版AJAX版)のように表示します。
    • ちなみにMovable Type 5で作成した当サイトにAJAX版を埋め込んだものはこちら
    • AJAX版は、下記tab2json.php (version 0.3 2010-06-19) を使用して、JSONPでデータを取得します。
    • タブ区切りファイルのJSON、JSONPへの動的変換スクリプト(tab2json.php)同梱です。
    • tab2json.phpは指定ディレクトリ(サブディレクトリ含む)に含まれるファイルを取得して、タブで分割して、JSON形式(JSONP可)で出力します。
    • tab2json.phpはtwlog_viewに特化しておらず、一般的に使えます。
    • PHP 5、FireFox 3.6で開発しています。
    • ライセンスはGPL v3を検討中です。
    • とりあえず、「個人利用フリー」、「著作権保持」、「作者は全てのトラブルに対して責務を負わないこと」を設定します。

コメント(4)

こんにちは、はじめまして。

phpバージョンを使ってみたのですが、最初のタグ以降がブラウザでは表示できません。phpをコマンドラインで実行してファイルに出力してみると動くのですが。この部分をお手すきのときにでもご教示いただければありがたいです。

また、以下の部分で$accountが渡されていないため、statusのURLがきちんと生成されていませんでした。

function printLog($status_dir, $year, $month, $date)

サーバ環境にも寄ると思いますが、自分のところでは以下をセットしないとFatal Errorが出ました。ご参考まで。

date_default_timezone_set('Asia/Tokyo');

コメントありがとうございます。
「最初のタグ」とおっしゃる「タグ」がHTMLタグなのか、Twitterのタグなのか、判断できませんでしたが、とりあえずtwlog_view.phpの$accountがprintLog関数に渡されていないところを修正して、twlog.phpもツイート中に改行が含まれている場合に何の処理もしておらず、ツイートの改行以降が表示されない問題を発見しましたので、修正しました。お試しくださいませ。

Shu Mさん、さっそくの修正ありがとうございました。

説明がわかりにくくてすみません。

あ、途中で切れてしまいました。

~のTwitter過去ログ

までは出力されたのですが、それ以降がブラウザには出力されなかった、ということをお伝えしたかったのでした。

CLIで実行してテキストに出力を書き出すと、ちゃんと内容としては書かれているので「なんでブラウザには出ないんだろ?」と悩んでおりました。