Calendar
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
2627282930  
<< November 2017 >>
Recommend
ソラニン
ソラニン (JUGEMレビュー »)
ASIAN KUNG-FU GENERATION
Recommend
Kick-Ass Music from the Motion Picture
Kick-Ass Music from the Motion Picture (JUGEMレビュー »)
Henry Jackman,Ilan Eshkeri,John Murphy,Marius De Vries
Recommend
アフターダーク
アフターダーク (JUGEMレビュー »)
ASIAN KUNG-FU GENERATION,後藤正文
New Entries
Archives
Categories
Recent comment
Recent trackback
Profile
Sponsored Links
Mobile
qrcode
Admin
無料ブログ作成サービス JUGEM
Seach this site
2013.01.11 Friday
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - |
2008.01.16 Wednesday
twitterのログをIRCぽく整形
twitterのログをブログとかに張り付けたい時に
コピペでさくっと張り付けたりができないのが不便だったので

twitter APIをちょっと触って
IRCのログっぽく整形して吐き出すphpを作ってみました。

仕様は下記を参考にさせてもらいました
Twitter API 仕様書 (勝手に日本語訳シリーズ)
http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html

たぶんPHP5じゃないとstrtotimeのあたりが動かないような気がする
PEARのXML_RSSが必要
//アーカイブの表示
function show_archive( $type, $name, $page = 1 ) {

    //データ取得
    $data = get_archive( $type, $name, $page );

    $link = 'http://twitter.com/' . $name;


    if(
$type == 'rss' ) {
        foreach(
$data->getItems() as $item ) {

/*
            //この辺で正規表現とか使って
            //@usernameにリンク貼ったり
            //httpからのURLにリンク貼ったりしたらいいと思う
            //以下は発言者のページにリンク貼る例

            $user_link = '<a href="' . $link . '" target="_blank">' . $name . '</a>:';
            $item['title'] = preg_replace( "/^$name:/", $user_link, $item['title'] );
*/

            //日付整形

            $date = date( "Y/m/d H:i", strtotime( $item['pubdate'] ) );

            //結果出力
            echo "[{$date}] " . $item['title'] . "<br />¥n";
        }
    }


    //取得同様にRSS以外の場合の出力方法は割愛

}


//アーカイブの取得
function get_archive( $type, $name, $page ) {

    $format = array( 'xml', 'json', 'rss', 'atom' );

    //不正なフォーマットが指定されたらrssに強制
    if( !in_array( $type, $format ) ) {
        $type = 'rss';
    }


    //APIのURL
    $url = 'http://twitter.com/statuses/user_timeline/' . $name . "." . $type . '?page=' . $page;


    if(
$type == 'rss' ) {
        return
get_archive_rss( $url );
    }


    //RSS以外の場合の取得の仕方は割愛 falseが返るので注意

    return false;
}


//アーカイブの取得(フォーマット:RSS)
function get_archive_rss( $url )
{
    require_once(
"XML/RSS.php" );

    $rss =& new XML_RSS( $url );

    $rss->parse();

    if( !(
$rss->getChannelInfo() ) )
        return
false;

    return
$rss;
}

使い方は
<?php show_archive( 'rss', 'kuinazi' ) ?>てするだけ
上のソースだとrss以外の形式(xml|atom|json)はプログラム書いてないんで動かないヨー

出力結果:(下記はサンプル)
[2008/01/16 14:32] kuinazi: @flower69 幻想でかたるのはそこまでだ!!
[2008/01/16 14:13] kuinazi: @yasuha ぼくのせいじゃないと信じて疑わない
[2008/01/16 14:08] kuinazi: くそ仕事したくない
[2008/01/16 14:08] kuinazi: DJせつこ
[2008/01/16 14:05] kuinazi: DJなんでほたるすぐしんでしまうん
[2008/01/16 14:05] kuinazi: なんでほたるすぐしんでしまうん?
[2008/01/16 12:40] kuinazi: コレ http://twitter.com/kuinazi/statuses/600516962 できた。案外簡単だった
[2008/01/16 11:53] kuinazi: DJハラヘ
[2008/01/16 11:37] kuinazi: @suiton -E -E
[2008/01/16 11:08] kuinazi: ヘドバンのしすぎで首が痛い
[2008/01/16 10:42] kuinazi: @suiton すいとんかわいいよすいとん umumu
[2008/01/16 10:41] kuinazi: @suiton おまえさっきあげたばっかりやろが! umumu
[2008/01/16 10:14] kuinazi: MacBook Airほっしい
[2008/01/16 10:11] kuinazi: コントレックス箱買い こーんとれっくすはこはこはこはこ
[2008/01/16 10:10] kuinazi: @suiton umumu 腹もちがいい!放置しててすまん
[2008/01/16 10:08] kuinazi: @lazzik タイムラインがゆさんだらけと思ったら誕生日!おめでとー!!
[2008/01/16 10:08] kuinazi: おはようござる
[2008/01/15 23:45] kuinazi: 墓山さんに似てるて言われたけどだれ ググったら墓山古墳とかでてきた昔のお墓らしい
[2008/01/15 23:22] kuinazi: @sakabooon ヘドバンしまくってきた!シカリもめっちゃかっこよかった!
[2008/01/15 23:22] kuinazi: きたくったー
20件まで表示
twitter APIのpageクエリはなんか負荷が高い時は使用不可になるらしく
もっと古いのも見たい場合はもうひと工夫する必要がありそう

とりあえず動いたので満足。

ここはもっとこうした方がいいんじゃね?といったご意見大歓迎です><
| くいな | WEB | 12:49 | comments(0) | trackbacks(0) |
2013.01.11 Friday
スポンサーサイト
| スポンサードリンク | - | 12:49 | - | - |
Comment









Trackback
URL : http://kuina.jugem.jp/trackback/358