ブログから自動でRSSのURLを探し出すよ(ソース付き)
ブログのRSSのURLの取得を自動でやりたいなぁってことで、やってみました。
最近はてブで見つけたhtmlSQLを使うとすんごく簡単にできます。
実験サイト
http://moeten.info/maidcafe/?&m=api&cate=etc&cate2=rssget
htmlSQL
http://www.jonasjohn.de/lab/htmlsql.htm
phpのソースコードはこんな感じになります。
SELECT * FROM link WHERE $type == "application/rss+xml"
こんな感じのSQLで簡単にリンク情報が取得できちゃいます。
正規表現が苦手な自分には重宝。
<?php //ブログなどのRSSのURLを探し出します。 function get_rssurl( $url ){ include( "htmlsql-v0.5/htmlsql.class.php" ) ; include( "htmlsql-v0.5/snoopy.class.php" ) ; $wsql = new htmlsql(); if (!$wsql->connect('url', $url) ){ print 'Error while connecting: ' . $wsql->error; exit; } //クエリを送るよ。 if (!$wsql->query('SELECT * FROM link WHERE $type == "application/rss+xml" ')){ print "Query error: " . $wsql->error; exit; } // show results: foreach($wsql->fetch_array() as $row){ // print_r($row); $res[] = $row['href']; } return $res; }
使い方は簡単で
<?php //URLをゲット。配列で結果が返ってくるよ。 $url = "http://d.hatena.ne.jp/haru-komugi/"; d( get_rssurl( $url ) ); ?>