趣味のプログラム工房

perlでRSS,Atom利用

perlでRSSを読み込み、パース(解析して変数に格納)するライブラリとしてXML::RSSがありますが、
このライブラリはAtom形式には対応していないんです!(rdfはオッケー?)
まあ、XML::Atomを使えばいいのでしょうが、、、

phpの場合はsimplepieというライブラリを使うのが良さそうです。(私はこれを利用)
キャッシュ機能があり便利です。

使用方法
・サイトからライブラリsimplepie.inc(これだけあればいいです)を取得してくる。
http://simplepie.org/downloads/
・利用するサーバにアップロード。
後はphpでインクルードしてコードを書くだけ。
私が利用しているメソッドはこんな感じ

 $feed = new SimplePie();#オブジェクト生成
$feed->set_feed_url( $url ); #RSSのアドレス
$feed->set_cache_location("./cache/"); #キャッシュを作る場所
$feed->set_cache_duration(1800);#キャッシュの生存時間(秒)
$feed->init();
$feed->handle_content_type();#実際にRSSを取得

こんな感じでしょうか?
その後は下のようにループでまわしてデータを取得と
foreach ($feed->get_items() as $i=> $item){
$url = $item->get_permalink();
$title = $item->get_title();
$date_timestamp = $item->get_date('U');
$date = $item->get_date('Y/M/d H:i');
$koushin_string = 日付:$date、リンク:$url、タイトル:$title
$rssarray["{$date_timestamp}"] = $koushin_string;
if($i > 5){
break;
}
}