Twitter Streaming APIから日本語のつぶやきをPHPで取得する
2009-06-10 01:29 | IT
TwitterのAPIでストリーミングAPIというものがリリースされていたので、
PHPでどれだけ簡単にいけるのか実装してみました。
今回はTwitterのアカウントを持っていれば誰でも利用できる、
けど一部のデータしか取得できない「spritzer」APIを利用しました。
※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カタカナが含まれている」という条件になっています。
漢字を含めようとあまり広げ過ぎると中国語のつぶやきも出てきますし、
いい感じの落とし所だと思っています。
正規表現のフィルターをURLにして今流行ってるサイトを取り出す、なんてことも簡単ですね。
(実際はbit.lyのURLを戻したりしなきゃいけなかったり面倒ですけども)