Web スクレイピングで各ブランドの機械式時計の情報を取得するスクリプト群
yarn, node.js をインストール後、以下のコマンドを実行してパッケージをインストール。
yarn
以下のコマンドを実行して、AWS CDK を使って AWS へデプロイ。
yarn deploy:prod
AWS の credential 情報を GitHub の Secrets として保存する。
キー名は以下の名前で保存。
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
上記の設定後、main
ブランチへマージすると、GitHub Actions 経由で AWS へデプロイされる。
yarn destroy:prod
# ncu で最新パッケージかどうかチェック
yarn nuc
# すべてのパッケージをアップグレード
yarn ncu:u
# 特定のパッケージをアップグレード
yarn ncu:u <package_name>
- データ構造
- データを保存する形を決める
- AWS CDK
- Glue Studio で ETL 処理をプロトタイピング
- Glue - S3 - Athena - QuickSight でサーバレス分析基盤を作る
- コスト管理
- AWS Budgets の予算超過アラートを Slack へ通知
- AWS Budget Action を設定する
列名 | 具体例 |
---|---|
Brand | Baume & Mercier |
Family | Baume |
Reference | Baume 10604 |
Name | Baume 10604 |
Detail | Baume 10604 |
Movement | RONDA 6004 D |
MovementEnergy | クオーツ |
PowerReserve | 38 時間 |
Additional 24 Hour Hand (adjustable), Hours, Minutes, Small Seconds | Date | Chronograph Limited: No Case Material: Stainless Steel Glass: Sapphire Back: Closed Shape: Round Diameter: 42.00 mm Height: 13.00 mm W/R: 30.00 m Dial Color: White Indexes: Mixed Hands: Feuille
puppeteer
本体に入っている chromium ではなく、chrome-aws-lambda
を使う。
つまり、puppeteer-core
と chrome-aws-lambda
を dependencies
を追加して lambda layer を作成する。
開発環境で puppeteer を使い、lambda 上で puppeteer-core + chrome-aws-lambda を使う。
最初は、puppeteer
を読み込もうとし、パッケージがない場合、puppeteer-core
を読み込む仕様になっている。
jest-puppeteer が必要。TypeScript では以下のパッケージも加えてインストール。
yarn add --dev \
jest-puppeteer \
@types/puppeteer \
@types/jest-environment-puppeteer \
@types/expect-puppeteer