Taskerでtenki.jpの10日間天気を取得する

Androidのアプリ、Taskerを使ってtenki.jpの10日間天気予報を取得する。
ここで取得するのは日付、天気名、最高気温、最低気温、降水確率の5データを10日分。
50データをそれぞれ固有名の変数に格納するので、KLWPやZooperなどの外部のウィジェット系アプリに変数を渡す時に必要なデータのみを選択して渡すこともできる。

ファイル置き場: clovana_2.xml

使い方と解説

  • 1. Variable Set
    • tenki.jpのURL中の地域データ部分を指定する。
      東京都千代田区九段南(千代田区役所の所在地)であれば forecast/3/16/4410/13101/ なので、ここでは 3/16/4410/13101 と入力する。最初と最後のスラッシュは不要。
  • 3. HTTP Get
    • tenki.jpのURLに先ほど指定した変数を組み込んでアクセスする。
      そのままだとスマホ用のページのHTMLを取得してしまうので、UserAgentを偽装してPC版のページを取得する。
      Tasker/cache/tenki.jp_10days.txtに取得したHTMLを出力する。不要な場合はこの部分(Output File)を削除すること。
  • 5. Variable Split
    • 取得したHTMLソースの切り分けを行う。ここでは<tr>\n <th>を指定して切り分けている。
      Splitterの前と1つ目の該当部分から2つ目の該当部分まで、2つ目の該当部分から3つ目の該当部分まで…と繰り返して11に切り分ける。
  • 6. Write File
    • 切り分けた部分を確認しやすいようにテキストファイルとして保存する。不要な場合は削除する。6-14行目までと16行目も同様。
  • 15. Variable Set
    • %t10Days10と変数名末尾の数字が2桁になってしまって編集が面倒くさくなるので末尾を%t10Daysaに変更した。
      同様に%t10Days11%t10Daysbに変更。
  • 18-31.
    • 今日の天気部分。
      うまい方法を思いつかなかったのでひたすらVariable Splitで切り分けている。
      なお今日の日付に該当する部分は%t10Days2に全て格納されている。
  • 32-46.
    • 明日の天気部分。
      明日の天気部分は%t10Days3に全て格納されている。
      この部分は今日の天気部分の18-31行目をコピー&ペーストし、%t10Days2%t10Days3に。格納する変数部分の%t10Dtd%t10Dtwに書き換えている。以降も同様に前日分をコピー&ペーストし、該当部分を書き換えの繰り返し。
  • 159. Write File
    • 完成した変数名と、格納されたテキストをtxt形式でファイルに出力する。
      必要ない場合は削除する。

このTaskで作成した変数名

変数名は以下の規則で命名し、以下のフォーマットで記述する。

  • prefix
    • %t = tenki
    • 10D = 10Days.htmlの
  • date
    • td = today (01日目)
    • tw = tomorrow (02日目)
    • 03 = 03日目の
    • 04 = 04日目の
    • 05 = 05日目の
    • 06 = 06日目の
    • 07 = 07日目の
    • 08 = 08日目の
    • 09 = 09日目の
    • 10 = 10日目の
  • text
    • d = date
    • n = name
    • th = temp-high
    • tl = temp-low
    • rp = rainy percent

組み合わせて、%t10Dtdd = 10days.htmlから取得した今日の日付
%t10D08th = 10days.htmlから取得した08日後の最高気温

天気名称とアイコンについて

tenki.jpの10日間天気予報で使用される天気の名称は7種類しかありません単品、時々、のちをあわせて全31種。
ZooperWidgetやKLWPなどのカスタマイズ系アプリに変数を渡す際はこの点に注意して変数を渡すと良いでしょう。
AのちB、A時々Bなどの天気名称はない為、アイコンセットを使わずとも比較的楽に設定できると思います。
downThemAllなどでhttps://static.tenki.jp/images/icon/forecast-days-weather/[00:99].pngで一括ダウンロードすると00.pngから30.pngまでの全31種のアイコンをダウンロード可能。


次は1時間天気(1hour.html)を作成予定。

この投稿へのトラックバック

  1. […] 前回のTaskerでtenki.jpの10日間天気を取得するに引き続き、今回は1時間天気(1hour.html)から必要なテキストを取得・格納する。 […]