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

100円ライターより小さい!スマホとBluetooth接続できる超小型携帯電話:Decwin A
Starry night:ホーム画面は星の海に還る【ホーム画面企画2016】
16年契約してきたドコモからLINEモバイルにMNPしました-合計の月額料金は変わらないけどね!
Empty Folder Cleaner:中身が空のフォルダを削除するシンプルなアプリ
急速充電にも対応したQi充電器「dodocool PowerPort Qi急速充電器」レビュー
Navbar Apps:色や画像を使って人とは一味違うナビゲーションバーにするアプリ
遮音性を抑えたイヤーピースを選べる、ジョギングに最適なBlutoothイヤホン SoundPEATS Q15
国内版Xperia XZ / X CompactにはUSB Type-Cケーブルが付属しない…ので買うといいモノ
Material Notification Shade:通知領域をOreoやNougat、P風に置き換えるアプリ
Metro Clock Widget [Free]:街並みのシルエットとともに表示される天気と時計
KLWPのテーマ特集:複数のテーマを含んだプリセットパック 5アプリ123テーマ (2017.02.25)
格安SIM (MVNO) 速度比較 : 2017年5月その2 b-mobile S 開幕SIMが爆速すぎて困る件
Seven Time:無料で7つのスタイルを持ち、簡単なカスタマイズ可能な時計ウィジェット
Nova Launcher 5.0-beta1が配信開始! Pixel Launcherのような見た目に変更可能
Pure:やさしい色でシンプルにまとめ上げたホーム画面【ホーム画面企画2016】