こんにちは、ウヤルームのうや(@uyaroom)です!
最近は、自分用にLINE Botをいろいろと作っています。


引っ越してからバスをよく使うようになったので、
最近マイブームのLINE Botにバス時刻をお知らせしてくれる機能を付けました。
HTMLパース
バスの時刻表を取得するAPIが存在するものの、次の理由から今回はHTMLをパースすることで対応しました。
- APIが有償
- APIが私の住んでいる地域に対応していない
私の住んでいる地域には、乗り場と行き先を指定すると出発・到着予定が表示されるサイトがあります。
そのサイトのHTMLをパースして情報を取得しています。
バックエンドの構成
前回の雑談機能の流用で実装しました。

システム構成はこんな感じです。
ソースはこんな感じです。
参考:
[Python3] HTMLParserによるウェブスクレイピング実践入門
AWS Lambda (Python) のクラス変数の挙動メモ
(グローバル変数、クラス変数がキャッシュされる現象でハマった。。)
おわりに
実際に使ってみて機能追加&改善していきます。
コメントを残す