日経ソフトウェアの6月号の記事で紹介されていた「MagpieRSS: Summary」というphpのライブラリを使って見た。外部サイトでphpが動く環境をりょーちは持っていないのでソースコードだけ紹介。
2005年5月2日現在でのMagpieRSS: Summaryの最新バージョンは0.71.1です。
で、これをダウンロードしてやってみたのだが、どうも上手くいかない。
取得した文字がすべて「????」などと文字化けしている。
いろいろぐぐってみたら、この世界では超有名な結城浩さんがキチンと対処法を紹介している。結城浩さんのサイトの
ここ を読むとよくわかります。(やっぱすごいよ、結城さん・・・)
以下備忘録として手順記載:
1. magpieRss-0.71.1 をダウンロード (
DOWNLOAD )
2. magpieRss-0.61 をダウンロード(
DOWNLOAD )
3. 二つとも解凍する。
4. magpieRss-0.71.1のrss_parse.incだけver0.61のrss_parse.incに差し替える。(基本的にmagpieRSS-0.71.1を利用)
5. proxyを利用している場合は、 magpierss-0.71.1\extlib\Snoopy.class.inc の
var $proxy_host = ""; // proxy host to use
var $proxy_port = ""; // proxy port to use
に適切なproxyサーバとポート名を入れることで解決する(いつもproxyで悩むのに今回はわりと楽にproxyの設定を見つけることができた)
参考記事:
・
ヘッドラインの表示数を指定したい場合(Docodemo HeadLine より)
・株式投資の道案内さんのサイトphpのサイトがあれば下記のよーなphpを記載すれば動くはず・・・
※UTF-8で記載したらよいかも。
■magpie_simple.php
--- begin cut here ---
<html>
<head>
<title>Get RSS</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<!-- ソースコードはUTF-8で記載してます !-->
<a name="#top">
<?php
define('MAGPIE_DIR', '../'); //magpierss-0.71.1のディレクトリ
define('INIT_URL' , '
http://ryouchi.seesaa.net/index.rdf');require_once(MAGPIE_DIR.'rss_fetch.inc'); //1回だけ読むばい
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
$url = $_GET['url'];
echo "$url<p>";
?>
<form>
<?php
if ( $url ){
echo 'RSS URL: <input type="text" size="60" name="url" value="'.$url.'"><br />';
}else{
echo 'RSS URL: <input type="text" size="60" name="url" value="'.INIT_URL.'"><br />';
}
?>
<input type="submit" value="Parse RSS">
</form>
<?php
if ( $url ) {
$rss = fetch_rss( $url );
mb_convert_variables( "UTF-8","auto",$rss);
print"<a href=#cont>Contents</a><br>";
print"<pre>";
print_r($rss);
print"</pre><hr><a name=#cont><a href=#top>TOPへ</a><br>";
echo "Channel: " . $rss->channel['title'] . "<p>";
echo "<ul>";
foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];
echo '<li><a href="'.$href.'" target="_blank">'.$title.'</a></li>';
}
echo "</ul>";
}
?>
</body>
</html>
--- end cut here ---
動作確認できた人はご報告願います(^^;
#りょーちのマシン(xampp+WindowsXP+php5)では動作した。
それにしても世の中には賢い人がたくさんいるのぅ・・・
その後・・・