今日は朝から曇っており、
昼頃には今にも雨が降り出しそうだった。
しかし雨は降らず、
夕方には日が射して晴れ間が広がった。
午前中は、いつもと同じ。
ジムに行って、2本のスタジオプログラムに参加した。
気持ち良く汗をかいたので、シャワーを浴びて帰宅。
午後はまったりと調べ物をしていた。
今、サークルで担当している市民センター体育館の
予約に関しては、週2回、水曜日と金曜日の予約をしている。
だいたい2ヶ月前にWeb予約できるようになっている。
そこで、Selenium IDEを使って、Web予約を半自動化した。
そしてGASを使ってLINEに対して、
今日は何をすべきかの自分への通知、
事務局からかえってくるメールを編集して出力、
そして今、どこまで申込みをして、
どこまで確保できたかのレポート機能、を作成した。
ただ、これでは、今日何をすべきかLINEを見て、
ChromeでSelenium IDEを起動してWeb予約を半自動で行い、
その後、受付のメールが戻ってきたら、
それを編集したものをLINEに表示している。
またその1週間後で、申込みの抽選の結果、
当選した場合だけ当選メールが届くので、
それも編集してLINEに出力している。
更に、外れた場合には、そこまでの予約状況を確認して、
都合よく空いているところがあれば、それを電話で確保した後で、
確定させるためにWeb上で申し込んでいる。
この場合にも、受理した旨のメールが届く。
そして週1回、これらの申込み・当選情報などを編集して
レポートとして表示している。
ここまである程度ルーティン化したおかげで
かなり省力化することができ、誤る可能性も減った。
しかしここまで来ると、抽選申込みまでは全自動でやりたくなった。
自動で申し込むためには、PCは起動していない場合があるので、
サーバ側で時刻をトリガーにして処理を行う必要がある。
サーバ側で時刻をトリガーにして起動できるのは、
今のところGAS(Google Apps Script)かMicrosoft Power Automateで、
前者は無料、後者は有料なので、今のところGASを選ぶしかない。
そして、Web申込みの自動化のためには、Python+Seleniumを
使う方法が考えられるが、これもPCを起動していないときにも
動かせるように、Google Colab上で動かす方が良さそうだ。
以上から、GASとColabを連携させて動かすプログラムが必要
ということになった。
しかし今のところ、GASからColabを起動する方法が見つからない。
この方法見つければ、比較的容易に実現できそうだ。
なお、ネット上では、Colab上でSeleniumは上手く動かない、
との記事も見受けられた。
しかし、私は別の予約システムでColab上でSeleniumを
まったく問題なく動かしているため、
この記事には何か誤解があるようだ。
同様に考えると、GASからColabを起動する方法も
今のところ見つからないが、案外簡単に連携出来る方法が
見つかるのではないかと思う。