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!天気のものをそのまま表示できます。…まぁ、あまりお行儀の良くない行為ではありますが。

コンポーネント

上の方法を使って、他の時間帯や1日の最高気温最低気温も表示できます。サンプルとしてコンポーネント化してみました。KLWP/KWGTで読み込めるので、興味ある方はダウンロードしてみてください。

1は前回配布したオリジナルアイコンを使用したもの、2はYahoo!天気から画像を持ってきているものです。どちらもグローバル変数で自分の表示したい地域のURLを設定してください。

まとめ

ソースコードを読む力は必要ですが、今回の方法を使えばRSSを配信していないようなサイトでも、そのページ内容から切り出してKLWP/KWGTで表示できます。tenki.jpなら各地域の3時間天気や1時間天気などもっと細かい情報も拾えます。たぶんコードとにらめっこすればそれをうまく表示することもできるでしょう。こだわりたい人は頑張ってください。


KLWPの使い方については、これまでの記事をまとめたページもあります。使い方に困ったときなど、こちらのページも参考にしてください。

Random Posts

AQUOS SERIE mini SHV33購入 & auのSIMロック解除 & UQモバイルのVoLTE用SIMへの変更
100円ライターより小さい!スマホとBluetooth接続できる超小型携帯電話:Decwin A
スマホVRで画面内の正面がどんどん左にずれていく問題の解決方法
Androidスマホのちょっとした質問に答えてみる
koogeek EMS マッサージャー KSFG5:microUSBで充電できる小型のワイヤレスマッサージャー
Xiaomi Hey+ レビュー:まるでカラーになったMi Band!でも今は中国以外では使えないので待つべし
電子マネーを使い始めて1年、案外すんなりと財布なし生活が馴染んでる
HTCサポーターズクラブの企画で台湾へ!さくっとSIMを購入 #HTCグローバルレポーター
Mi Band 3 レビュー:通知、バッテリー、管理アプリ、すべてで優秀なスマートバンド
格安SIM (MVNO) 速度比較 : 2018年6月その1 良くも悪くもb-mobileがちょっと気になる
バッテリーは内、スマホは外! Ekpheroの盗難防止&USB充電ポート付きバックパック
使いやすく、ライムグリーン【ホーム画面定期コンテスト】
dodocool Bluetoothイヤホン DA110レビュー:最大10時間再生可能な普段使いに適したイヤホン
Playストアでこれまでに課金したアプリと合計金額を確認してみる
壁紙を黒にするとスマホのバッテリーが長持ちするって本当?というわけで実験してみた