PHPでAtomフィードを利用

SimpleXML関数を使ってatomフィードからxmlを取得する。
ついでにTwitter Search APIを使って『性の6時間*1』に任意のIDがTwitterで発言したか否かをチェックするようにしてみる。

PHPソースコード

<?php
	
	$id = "TwitterユーザーID";
	
	for($i = 1; $i < 16; $i++) {
		//引数since_idの値は"2008-12-24T12:00:00(GMT)"以前の適当なステータスID
		$atom = "http://search.twitter.com/search.atom?q=from%3A".$id."&rpp=100&since_id=1006484131&page=".$i;
		$xml = simplexml_load_file($atom);

		if($xml != NULL && $xml -> entry != NULL ) {
			foreach($xml -> entry as $item) {
				$published = $item -> published;
				$str .= $published;
			}
		} else {
			break;
		}
	}
	
	$pattern = "/8-12-24T1([2-7]|8:00:00)/";

	if( preg_match($pattern, $str) ) {
		echo "「性の6時間」に発言あり";
	} else {
		echo "「性の6時間」に発言なし";
	}
	
?>

試しにサーバー上で動かしてみる



http://n00dle.but.jp/cherritter.html
Twitter Searchに最大で連続15回もリクエストを送るので場合によっては負荷になるかも。
迷惑なので1、2週間経つかアクセスが増えたりしたら消す。

参考&ごめんなさい

  • RSSATOMの文書構造モデル(メモ書き) - During The Prime Hacking Hours.

   http://d.hatena.ne.jp/reedom/20060705/p1

  • PHP5を試してみる - SimpleXML関数でRSSしてみる - Do You PHP?

   http://www.doyouphp.jp/php5/php5_simplexml.shtml

   http://apiwiki.twitter.com/

  • 賞状無料

   http://www.shoujou.jp/
 

*1:日本国内で1年間で最もセックスする人が多いと言われている6時間。クリスマス・イブ(12月24日)の午後9時からクリスマス(12月25日)の午前3時までの6時間を指す。http://d.hatena.ne.jp/keyword/%C0%AD%A4%CE6%BB%FE%B4%D6