Serverless Puppeteer on AWS Lambda
サーバレス環境でスクレイピングがしたい人のために、CDKのサンプルを作成しました.
CDKを実行すると、スクレイピングに必要なレイヤーを作成し、Lambdaを実行することでスクレイピングが行えます.
Github: https://github.com/rv-rescala/jp-serverless-puppeteer
- 動作確認済み環境: MacOS Monterey
- 言語: Typescript
事始め
あらかじめAWS CDK, typescript, nodeをインストールしてください.
インストール
git clone https://github.com/rv-rescala/jp-serverless-puppeteer
npx @puppeteer/browsers install chromium@latest --path /tmp/localChromium
npm install @sparticuz/chromium@109 puppeteer-core@19.4
make init
環境変数の設定
export IS_LOCAL=true
export BROWSER_PATH=/tmp/localChromium/chromium/mac_arm-1153064/chrome-mac/Chromium.app/Contents/MacOS/Chromium # chack your path
ローカルでのテスト実行
npx ts-node test/test-browser.ts
AWSへのデプロイ
cdk synth --all
cdk deploy --all
Lambdaの実行
"jp-serverless-puppeteer-test-puppeteer-handler"をLambda上で実行してください.