LoginSignup
2
0

More than 1 year has passed since last update.

ショートカットアプリでYahoo!路線情報の事故遅延情報を取得する

Last updated at Posted at 2023-04-05

要約

通勤で利用している全路線の運行状況を朝一番お手軽に確認したい。しかし、既存のアプリやそのウィジェットによる確認は少々手間である。そこで、事故や遅延が発生している路線の情報のみを起床と同時に読み上げられるよう、ショートカットアプリのアクションを作成した。

イントロ

2023年4月、筆者は晴れて新社会人となった。
これまでキャンパス付近に家を借りていたため徒歩のみでの通学をしていた。
しかし、入社後は指定の社宅に入居し通勤しなければいけなくなった。
社宅は会社の近くにあるわけではなく、約30分ほど電車に乗らなければいけない。

路線の運行情報の確認

通勤が鉄道に依存する以上、毎朝確認しなければいけないことが使用する路線の運行情報である。
路線に事故や遅延が発生した場合、路線を変更したり上司からの対応を仰いだりする必要がある。
そこまでして通勤しなければいけないのかは置いといて(研修後で社畜精神を塗り込まれたわけではないと断ってはおく)。

王道ツール

路線情報として有名なのは Yahoo!路線情報の"運行情報" である。

このツールはYahoo!が提供元であることはもちろん、機能の充実したアプリが魅力の一つである。
中でもウィジェット機能が優秀である。

ウィジェットは、ホーム画面やロック画面に設置できる可視性の優れた縮小版のアプリのようなものである。わざわざホームページやアプリを開かなくてもウィジェット機能を使用することで路線の確認はできる。

面倒くさがりな性分

しかし、利用している複数の路線の運行情報を確認することはかなり面倒くさく感じる。
特に、できるだけエネルギーを使いたくない出勤前の朝方のだったらなおさらである。
わざわざアプリを開いてぽちぽち閲覧するのも億劫であり、目を使って情報をインプットしたくない。

できるよ、ショートカットアプリならね。

そんな悩みもショートカットアプリなら簡単に解決してくれる。
見るのが面倒であれば、読み上げさせてあげればいい。
ということで、起床後のアラーム停止を起点として、路線情報の読み上げを行なってもらうことにした。

路線の事故遅延情報アプリ

路線情報のリソースにはやはりYahoo!路線情報を用いた。
Yahoo!路線情報からの情報取得および情報の抽出は以下の記事を参考にした。
平常運転の場合と事故遅延の場合で、記載されている情報が異なる。

また、情報の抽出は以下の記事を参考にした。
不慣れではあったが、正規表現を用いたスクレイピングを行えるようになった。

アプリ構成

ショートカットアクションは以下の構成で作成した。

  • リストの設定
    • Yahoo!路線情報から使用している路線のURLをコピペする
  • 事由変数の設定
    • デフォルトを0とする
    • 事故遅延の事由があれば1を加える
      ↓以下の項目をリストのすべての項目で繰り返す↓
  • URLリストからURL先のHTMLの情報を取得する
  • HTMLの情報から事故や遅延があるかチェックする
  • ifで分岐
    • 事故や遅延がある場合
      • 路線名と事故遅延状況情報の抽出
      • 即座に路線名と事故遅延状況を読み上げる
      • 事由変数に1を加える
        ↑繰り返し終わり↑
  • ifで分岐
    • 事由変数が0だった場合
      • 「現在全路線は平常通り運転しています」と読み上げる
    • 事由変数が1以上だった場合
      • 「その他の路線は平常通り運転しています」と読み上げる

ショートカットの利用について

ショートカットを取得したら、リストに利用する路線情報のURLを貼り付ける。
その後、オートメーションから起床アラーム停止後のアクションとしてこのショートカットを起動するように設定する。

ショートカットの配布

以下に共有用のリンクを貼っておきます。
ダウンロードにはiPhoneの設定 > ショートカット > 信頼されていないショートカットを許可をオンにする必要があるので各自設定の変更が必要です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0