男向けの育児情報って少なすぎない?

30代男性。はじめての子育て。育休取得予定。イクメンを目指して仕事はほどほどに趣味も頑張るブログ。趣味はオーケストラ!

小児科予約を自動化しました(python + selenium + GoogleCloudPlatform + LINEmessagingAPI)

 

前回のブログ更新から、1か月以上たってしまいました。

 

別にブログに飽きたわけでも、家事育児を何もしていなかったわけでもありません。

 

以前、小児科予約が大変だと書きましたが

 

www.otoko-no-ikuji.fun

 

 

小児科予約を自動すべく夜な夜な頑張っていて、ブログを書く余裕がなかったからです。

私はプログラマーではないので、詳細はよくわからないし、いちいち調べながらなのでとても時間がかかりました。

 

 

背景

うちのかかりつけの小児科は、予約をWebからすることができます。ブラウザでぽちぽちと、診察券番号とかを入力したり、ボタンをクリックしたりして予約できます。

予約可能な時間帯は決まっているので、予約開始時間ピッタリに高速入力、高速クリックすることが早い順番を予約するには重要です。

 

目標

LINEで作成したグループに予約したいよ~と投稿すると、なんかいい感じに予約開始時間になったらプログラムが起動して、予約してくれて、予約結果も教えてくれる。

LINEグループに投稿するだけなので、私でも妻でも簡単に予約できる。

そんなシステムになったらいいな。

 

概要

今回、GoogleCloudPlatform上で使用したAPIは以下の3つです。

  • Cloud Functions
  • Cloud Pub/Sub
  • Cloud Run

LINEで作成したグループに、予約したいよ~と投稿すると、LINEmessagingAPIでCloud Functionsをwebhookで立ち上がります。外部との認証はここぐらい。

Cloud FunctionsはCloud Pub/Subにメッセージを投稿します。

Cloud Pub/Subはメッセージが投稿されると、Cloud Runを起動します。

Cloud Runは予約時間になると、小児科予約のサイトに行って、自動で予約します。

自動予約自体は、seleniumとhead-less chromeで行っています。

そのあとは、予約結果をLINEグループに投稿していく感じです。

流れは以下の図参照。全部、pythonで書いてます。

f:id:itthiatthi:20200208224203p:plain

予約システム概要

 

詳細

私はプログラマーじゃないので、詳細は勘弁してください。

ソースコードなんかも公開しません。git(?)のアカウントとか持ってないし。

Cloud FunctionsやCloud Pub/Subがなくても、Cloud Runだけで実現できそうですが

なんとなく組み合わせてみました。将来、二人目の予約や、ほかの病院の予約なんかをさせるときのVerUpが何となくやりやすそうかな、と思って。(疎結合ってやつ?)

 

参考にしたページ(の一部)

Cloud Functions (Python3)入門用に LINE BOTを作ってみる - Qiita

GitHub - line/line-bot-sdk-python: LINE Messaging API SDK for Python

メッセージのパブリッシュ  |  Cloud Pub/Sub  |  Google Cloud

ABEJA Platform + Cloud Functions + LINE Botで機械学習アプリをつくる - Qiita

botを作りたいけどサーバ管理したくない...そうだ!Cloud Runでサーバレスにしようぜ! - Qiita

Cloud Pub/Subのpushリクエストを認証したい - Qiita

【超便利】PythonとSeleniumでブラウザを自動操作する方法まとめ | たぬハック

Using Headless Chrome with Cloud Run - DEV Community 👩‍💻👨‍💻

 

実際

予約はできているんですが、予約結果を返すところがうまくいっていません。

seleniumの待機処理あたりがうまくいってないのかな?

よくわかりませんが、引き続き修正していきたいです。

 

感想

日曜大工ならぬ、日曜プログラマー的に、DIYするのも楽しいですね。

こういった形で、育児に貢献することも父親っぽくていいかも!?

ただ、予約の自動化って、倫理的によろしいことなのかどうか、少し気になっています。

背に腹はかえられぬのだけれども。

 

にほんブログ村 子育てブログ パパの育児へ
にほんブログ村


子育てパパランキング