日々のできごとと写真

2009年06月のアーカイブ

Twitter Streaming APIから日本語のつぶやきをPHPで取得する

2009-06-10 01:07 | IT | 4 コメント »

TwitterのAPIでストリーミングAPIというものがリリースされていたので、
PHPでどれだけ簡単にいけるのか実装してみました。

今回はTwitterのアカウントを持っていれば誰でも利用できる、
けど一部のデータしか取得できない「spritzer」APIを利用しました。

Streaming API Documentation

※json_decode()を利用しているのでPHP5.2.0以上対象になります。

<?php
$user = 'username';
$password = 'password';
$stream = fopen("http://{$user}:{$password}@stream.twitter.com/spritzer.json", "r");
while ($json = fgets($stream )) {
    $twitter= json_decode($json,true);
    if(preg_match('/[ァ-ヶーぁ-ん]/u',$twitter['text']))
        echo $twitter['user']['name'].':'.$twitter['text'] . PHP_EOL;
}

なんてことないコードになりました。
実行すると標準出力に「ユーザー名:つぶやき」が続々と出力されます。

ポイントもなにもないんですが、「日本語のつぶやき」を取得する部分は、
「つぶやき内に1文字でもひらがなorカタカナが含まれている」という条件になっています。

Unicode対応 文字コード表

漢字を含めようとあまり広げ過ぎると中国語のつぶやきも出てきますし、
いい感じの落とし所だと思っています。

正規表現のフィルターをURLにして今流行ってるサイトを取り出す、なんてことも簡単ですね。
(実際はbit.lyのURLを戻したりしなきゃいけなかったり面倒ですけども)