個人的に Web サイトを定期的に解析するアプリが必要になったので、AWS を活用してサーバーレスな Web スクレイピングアプリを構築してみました。 せっかく作ったので、このアプリのアーキテクチャと構築時のポイントを初心者にもわかりやすいように解説してみようと思います。 アーキテクチャ アーキテクチャとしては EventBridge, Lambda, DynamoDB, SNS を用いたシンプルな サーバーレスアーキテクチャ です。 解説 ここからは AWS サービス毎に構築時のポイントを解説していきます。 1. Lambda Web スクレイピングツール(ライブラリ)として Beautiful Soup を使うため、Lambda ランタイムは Python を選びました。 処理の流れは以下のとおりです。 Requests ライブラリ を用いて対象のWebサイトからコンテンツを取得する