はじめに
電車を利用していて、ふと思うことがあります。
乗換情報をアプリで調べていて、予定より少し遅れそう、早く着きそう、という時
出発想定の時間がわずかにずれただけで 毎回ルートを検索しなおすのって地味に手間ですよね。
「もし最初から複数の候補ルートを一覧で見られたら…」
「時間通りならルートA、10分遅れたらルートB、反対側にずれるならルートC…」
そんなふうに状況に応じて使い分けられるロボットがあれば便利だなと思いました。
そこで今回のRPA開発テーマは、
出発駅・到着駅・出発予定時刻を入力すると
その時刻の ±10分で、Yahoo!乗換案内の複数ルートを取得し
Excelに一覧で出力するロボットを作ってみようという内容です。
実際のフロー作成手順・使うアクティビティ・注意点を解説します。
使用するもの
・UiPath Studio
・Yahoo!乗換案内
・出力用 Excelファイル
ロボット処理イメージ
ユーザーから入力を受け取る
・出発駅
・到着駅
・出発想定時刻(例:09:00)
↓
±10分の検索時刻を計算
・09:00
・08:50
・09:10
↓
Yahoo!乗換案内で検索
↓
情報を取得
・出発時刻
・到着時刻
・所要時間
・運賃
↓
経路詳細(路線・乗り換え含む)取得
↓
Excelに書き込み
↓
時刻ごとの複数ルートを行単位でまとめて記録
開発ステップ(UiPathでの実装手順)
① 入力ダイアログでユーザーに内容を入力させる
「Input Dialog」アクティビティを使う
時刻は "HH:mm" 形式
出発駅を入力してください
到着駅を入力してください
出発予定時刻を入力してください(例:09:00)
② ±10分の時刻リストを作成する
変数
・Time
・Time.AddMinutes(-10)
・Time.AddMinutes(+10)
③ Yahoo!乗換案内へアクセスして検索条件入力
「Use Application/Browser」で乗換案内を開き
出発駅入力欄
到着駅欄
時刻欄をプルダウン選択
注意ポイント
●時 や ●分 でしか選択できないため
.Hour や .Minute をつけて 時間のHH部分 MM部分だけを使う必要があります。
④ 検索結果をスクレイピングして取得
使用アクティビティ:
Extract Data Table
または必要箇所だけ Get Text
取得する情報:
出発時刻
到着時刻
所要時間
運賃
経路名(路線名+乗り換え情報)
⑤ Excel に書き込む
「Use Excel File」
「Write Range」
時刻ごとに以下のように記録:
出発時刻 到着時刻 所要時間 料金 経路
08:50 09:41 51分 510円 ○○線→△△線
09:00 09:52 52分 510円 ○○線→□□線
09:10 09:58 48分 510円 ××線→△△線
ロボット完成後の使用イメージ
実行するとポップアップが出て、
ユーザーが次々に入力。
→ 自動で3回検索
→ それぞれの候補ルートが Excel に一覧化
→ 遅れた時の代替ルートを即座に確認できる
通勤・外出時の時短になるのはもちろん、
業務で移動時間が定まっていない移動が多い方にも便利。
まとめ
今回は UiPath を使って、
出発予定時刻 ±10分の範囲で複数ルートを自動取得し Excel に出力するロボット を作成しました。
日常のちょっとした不便を解消
Webスクレイピングの基礎がしっかり掴める
入力・繰り返し・出力と、RPAの王道パターンが一通り体験でき、勉強になりますね♪
参考画像については近日、掲載予定です。