あまりにもリングフィットアドベンチャーが買えないから…って嫁氏がスクレイピング書き始めたんですが、なかなかうまくいってなかったようなので、自分も参戦して夫婦でスクレイピング競争をしました。
勝ちました。
自分:Google Cloud Functions + Python
Selenium で Headless-Chrome を動かす感じで Cloud Functions を作成。
作成した Function を Cloud Scheduler を使って Pub/Sub で定期的にキックするようにしてみました。 在庫が復活していたら Slack にメンション飛ばしてくれます。
Cloud Functions で Headless-Chrome を動かすのに、Chrome そのもののバイナリとChrome driver を丸々zipで固めて一緒にデプロイする必要があったのが一番苦労した…。
結局こちらを参考にさせてもらいました。
Google Cloud FunctionsでPython+seleniumでスクレイピングしてみる
GCP 使ったことないし、ていうか Lambda すら使ったことないし、そもそも Python も書いたことなかったので、丁度いい勉強になりました。
正直、Cloud Functions であれば Node.js と Puppeteer を使うのが一番手軽にスクレイピングできるんだろうとは思うんですが、Node.js まっっったく書けないので今回は諦めました。。。
今回初めてGCPを使ったんですけど、めちゃくちゃわかりやすいしみやすいし、チュートリアルもたくさんあるしで一気に好きになりました。
ていうか無料枠内ってことがめちゃくちゃわかりやすいし、オプトインしない限り課金されないって保証されるのがすごく安心感。。。
無料枠でも色々できそうなので、もっと試してみたいな〜