天気情報の表示    (Mod.20Feb2009)    >>TOP

livedoor天気情報がRSSで配信されているが,このRSSフィードを自分のページ上で表示させる方法を考えてみる。
前提として,サーバがPHP対応であることが必須。

PHPが使えない場合は「お天気プラグイン」を利用するしかないかな? スクリプトを貼り付ければ以下の様に表示される。



他にもあった。tenk.jp ではブログパーツとして公開されている。いろんな物が用意されている。



京都の天気 - livedoor 天気情報
今日明日明後日

曇り

曇り

晴時々曇
-- / --
10℃ / 4℃
12℃ / 4℃
RC-NET WEB SERVICES のダウンロードから各地のお天気情報(XML)を取得表示するモジュールを入手できる。
これは,ブログ用なので通常のページにはそのままの状態では利用不可。
そこで,通常ページにも表示できるように考えてみた。

モジュールをダウンロード(livedoor天気情報!)し解凍。解凍して出来たimgフォルダー内のindex.htmlを削除。
weather というフォルダーを作成し,上記imgフォルダーと ソース(weather_icon_replace.phpに書き換える) をweather内入れる。

次に MagpieRSS をインストールする必要がある。
magpierss-0.72.tar.gzをダウンロードし解凍して,incファイル(4つ)すべてとextlibフォルダをHTMLファイルと同じディレクトリにUPする。
しかし,日本語は文字化けをするようなので rss_fetch.inc ファイルのソースで 358行 辺りの以下を
define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1');
次の様に変更すると文字化けは解消するようだ。

define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');

また,このままではincファイルに直接アクセスすると,ソースが丸見えなので
.htaccessファイルに,以下を追加するとよいかもしれない。

<Files *.inc>
deny from all
</Files>

あとは,ソースをHTMLに貼り付ければOK。サンプルソース(拡張子をphpに)

まとめるとパスは以下の様になる。(rss_xxx.incのディレクトリのパーミッションは777または707)

     +----  .htaccess
     +----  weather_sample.php
     +----  rss_cache.inc
     +----  rss_fetch.inc
     +----  rss_parse.inc
     +----  rss_utils.inc
     +----  extlib
                     L  Snoopy.class.inc
     +----  weather
                     L  weather_icon_replace.php
                     L  img
                            L  ****.gif