Twitterの「ログ保存期間」と「ログを保存する方法」を教えてください。

※ブログにTwitterの会話を貼り付ける方法ではありません。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2009/04/24 12:42:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:n85 No.1

回答回数237ベストアンサー獲得回数21

twitter APIを使用するのが一般的でしょう。

http://apiwiki.twitter.com/

ログ(タイムライン)をAPI経由で取得できるのは過去24時間までです。

それ以前のログを取得したり、保存しておくには、

自分のサーバを動かして、そこに蓄積していく必要があります。

id:obake

twitter API を使用してどうログを保存するのでしょうか?

もう少し詳しく教えて頂けませんか?

2009/04/21 22:38:24
id:w-yorimichi No.2

回答回数1ベストアンサー獲得回数0

「ログを保存」でどんなことをやりたいのか分からないんでなんとも言えないですなあ。twitterの公式に「ログ保存」という機能があるわけでないですし。

推測するに、過去の投稿が見たいということなんでしょうか。もしそうならば以下のURLで見られます。

http://twitter.com/(その人のID)?page=(数字)

http://twitter.com/home?page=(数字)

前者はその人の過去の全投稿が、後者は自分がフォローしている人の最近の投稿がある程度見られます。

id:obake

それは「ログを閲覧」しているだけですね。

下のコメントにあるWebサービスなり 自分のパソコンへの「ログを保存」する方法を教えてください。

2009/04/24 09:52:35
  • id:quintia
    むしろ質問が不適切。
    ログとはなんのこと? タイムラインの履歴? 自分の発言の履歴?
    保存期間とは「どこかに」保存されている期間のこと? でも普通の利用者の立場ならば保存されている期間じゃなくて、「取り出せる」期間の方が重要なのでは?
    ログを保存する方法? OSも何も書いてないのにどうやって答えろと?
  • id:obake
    n85さんは意図を理解して回答をくれたので そこまで分かり難い質問ではないと思いますよ。
    ただあの回答だけだと方法が書かれていないので 適切ではないなと。


    それでこんなものを見つけました。
    TweetBackup
    http://web-marketing.zako.org/twitter-tools/tweetbackup-free-backup-for-your-twitter.html

    他の方法もあれば回答をお願いします。
  • id:obake
    同サイトにこれもありました。

    Your Twitter Archiver
    http://web-marketing.zako.org/twitter/your-twitter-archiver.html
  • id:ku__ra__ge
    TwitterAPIというのは、プログラムからTwitterの発言を取ってきたりするのに使う規約みたいなもんです。
    素でTwitterAPIを使えといわれてもプログラムできる人でないと無理だと思うので、起動するとフォローしてる人の
    発言を取得してテキストファイルに保存するだけのスクリプトを組んでみました。

    後述のコードをコピペでテキストファイルに貼り付けて、そのあとで
    var LOG_FILE = 'c:\twitterLog.txt';
    var USER = 'userId';
    var PASS = 'password';
    の3行の「'」で囲まれてる部分をそれぞれ自分のログ保存場所とアカウントにあわせて変更してください。
    変更が終わったら、そのファイルを「getlog.js」という名前で保存してください。
    「getlog.js」をダブルクリックして起動すれば、最新の発言から最大200件のログを取得してテキストファイルに保存します。
    (少し時間がかかるかも)
    タスクスケジューラとかで10分毎とか定期的にこれを起動するようにしておけば、PC起動してる間は
    ログをテキストに落としつづけることが出来ます。

    ちなみに、TwitterAPIには『1時間あたり○○回までしか使えない』(○○回というのは混雑状況などで変わります)という
    制限があるため、twitterクライアントとこのスクリプトを併用するとうまく動かなくなる可能性があるので注意。



    var LOG_FILE = 'c:\log.txt';
    var USER = 'userId';
    var PASS = 'password';

    main();

    function main(){
    var UNICODE = -1;
    var FSO = new ActiveXObject("Scripting.FileSystemObject");

    //最後の発言ID取得
    var lastId = '';
    var ts = FSO.OpenTextFile(LOG_FILE, 1, true, UNICODE); //読み込み
    if (!ts.AtEndOfStream) {
    ts.ReadAll().match(/ID:([0-9]+):/g);
    lastId = RegExp.lastMatch;
    if (lastId.length > 3) lastId = lastId.substring(3, lastId.length - 1);
    }
    ts.Close();

    //TwitterAPIで最後の発言以降の発言を取得
    var xmlhttp = (function(){
    try{ return new ActiveXObject('Msxml2.XMLHTTP'); }
    catch(e){
    try{ return new ActiveXObject('Microsoft.XMLHTTP'); }
    catch(ee){ return null; }
    }
    })();
    if(!xmlhttp) return;

    var requestUrl = 'http://twitter.com/statuses/friends_timeline.json?count=200';
    if (lastId) {
    requestUrl += '&since_id=' + lastId;
    }
    xmlhttp.open('GET', requestUrl, false, USER, PASS);
    xmlhttp.send();

    var timeline = eval(xmlhttp.responseText);

    //ファイルに書き込み
    var ts = FSO.OpenTextFile(LOG_FILE, 8, true, UNICODE); //追加書き込み
    var i;
    for (i = (timeline.length - 1); i >= 0 ; i--) {
    if (timeline[i].user && timeline[i].user.name && timeline[i].created_at && timeline[i].id && timeline[i].text) {
    ts.WriteLine(timeline[i].user.name + ' Date:' + timeline[i].created_at + ' ID:' + timeline[i].id + ':');
    ts.WriteLine(timeline[i].text);
    ts.WriteLine('');
    }
    }
    ts.Close();

    //WScript.echo('ok.');
    }
  • id:w-yorimichi
    ブラウザでログを閲覧できてるんだから、あとはそれを「名前を付けてページを保存」すれば、「ログを保存」できますよ。

この質問への反応(ブックマークコメント)

トラックバック

  • fileoのtwitterろぐとか - Thu, Mar 18 fileoのtwitterろぐとか 2010-03-19 00:05:32
    00:10  よるほ忘れてた……今日もダメな日だ 00:15  03月17日は59postか。ぜんぜんしてなかったなのな。 00:17  ストパンの音楽きたー 00:19  あれメールアドレスがデ
  • http://q.hatena.ne.jp/1240263935 捜し物をしていて発見。APIでログを取得するスクリプト。   単純にデスクトップクライアントをたちあげっぱなしにするというのをやっていたが、どうしても負担
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません