KLWP/KWGTでYahoo!天気の6時間ごとの降水確率を表示してみる
Yahoo!天気の配信しているRSSを使ってKLWP/KWGTで天気を表示する方法があります。しかしこれには降水確率が含まれていません。というわけで、Yahoo!天気のRSSじゃないところから情報を取得して表示してみます。
- 本記事は広告およびアフィリエイトプログラムによる収益を得ています。
ウェブページから情報を取得
Yahoo!天気では、地域ごとのページで今日明日の天気と6時間ごとの降水確率を見ることができます。
KLWP/KWGTではウェブページの内容を取得・表示できるので、今回はそれを使います。
ウェブページの内容を表示するには主に2つのコードがあります。
$wg("URL", txt)$
$wg("URL", raw)$
txtの方はhtmlタグなどを除いたテキストが表示されます。rawの方はそのページのソースをそのまま表示します。今回はrawの方を使います。
降水確率を表示する
Yahoo!天気の「土浦」の天気予報ページから降水確率を表示してみます。
まず、天気予報ページのURLは何度も使うことになるので、グローバル変数「wurl」に登録しました。
土浦の天気予報ページから12-18時の降水確率を表示するコードは以下になります。
$tc(cut, tc(split, tc(split, wg(gv(wurl), raw), "降水</th>
<td>", 1), "</td>
<td>", 2), 3)$
赤字の部分の数字は2番目ということです。0-6時なら0、6-12時なら1、18-24時なら3になります。
ページのソースを見ると、以下のようなコードがあります。
これを$tc(split)$を使ってなんとか切り出しているということです。
Yahoo!天気の各地域のページは皆同じ構成になっているので、URL部分だけを変えれば他の地域でも同様に表示されるはずです。
Yahoo!天気のページのソース(html)は記事執筆時から変わっているようです。考え方は同じなので、自分でソースを表示して、該当部分を探してみてください。
同じようにソースから切り出せば、天気アイコンもYahoo!天気のものをそのまま表示できます。…まぁ、あまりお行儀の良くない行為ではありますが。
コンポーネント
上の方法を使って、他の時間帯や1日の最高気温最低気温も表示できます。サンプルとしてコンポーネント化してみました。KLWP/KWGTで読み込めるので、興味ある方はダウンロードしてみてください。
1は前回配布したオリジナルアイコンを使用したもの、2はYahoo!天気から画像を持ってきているものです。どちらもグローバル変数で自分の表示したい地域のURLを設定してください。
まとめ
ソースコードを読む力は必要ですが、今回の方法を使えばRSSを配信していないようなサイトでも、そのページ内容から切り出してKLWP/KWGTで表示できます。tenki.jpなら各地域の3時間天気や1時間天気などもっと細かい情報も拾えます。たぶんコードとにらめっこすればそれをうまく表示することもできるでしょう。こだわりたい人は頑張ってください。
KLWPの使い方については、これまでの記事をまとめたページもあります。使い方に困ったときなど、こちらのページも参考にしてください。
本記事に記載された内容は記事公開時点のものであり、必ずしも最新の情報とは限りません。記事をご覧いただく際には、最新の情報を確認するようお願いいたします。
OREFOLDER編集長。
1979年静岡県清水市生まれ、現静岡市清水区在住。
様々な巡り合わせから、このサイト1本で生活してる氷河期世代の一人。ガジェットに限らず広く浅く様々なものに興味があります。
スマートフォンは2010年にXperia SO-01Bを買ったのが最初。同時にb-mobile U300で格安SIMも始めました。これまでに数百台のスマホを手にし、格安SIMも常時20種類以上契約しています。