Bitriseにnpmとnodejsがインストールされているのを知り、
「これは定期的にpuppeteerでスクレイピングできるのでは?」
と思いチャレンジしてみた。
完成品
BitriseのWorkflow EditorにScriptステップを追加し、以下でpuppeteerが動かせた。
# 必須、updateしないとinstallがエラーになる
sudo apt-get update -y
# これがないとChromiumがエラーで起動しない
sudo apt-get install -y libgtk-3-0
# npmインストール、Chromiumもダウンロードされる
sudo npm i
# スクリプト実行、puppeteerでスクレイピング
sudo node index.js
解説
sudo apt-get update -y
updateを行わないと apt-get install でエラーになるため必須
sudo apt-get install -y libgtk-3-0
何も考えずpuppeteerを動作させようとするとエラーログに「libgtk-3-0が必要」と出るので追加した
sudo npm i
nodejsプログラムの準備
puppeteerのインストールと共にChromiumもインストールされる
sudo node index.js
メイン処理
ここでpuppeteerにスクレイピングさせ、結果をSlackに通知なりクラウドに保存なりする。
自分は毎日定時にSlackに通知させてる
感想
Bitriseのログを眺めてるとDockerが動いてるようなので、
BitriseというよりDockerでpuppeteerを動作させる、という表現が正しいのかもしれない。
こういう定期実行はAWSやHerokuで行うのが最適かもしれないが、Bitriseの無料枠で出来るなら使用するのもアリだと思う。
Bitriseの弱点は、1日1回しか動かせない制限がある。
1日複数回の定期実行を希望するならAWSかHerokuをオススメする。