Firecrawl to AWS BI
Overview
Firecrawl で収集した Web データを、S3 / Athena / QuickSight で分析できる形へ接続する手順。
前提
- Firecrawl の API キーを用意済み
- AWS アカウントを利用可能
- S3 バケット、Athena、QuickSight を利用可能
手順
1. 収集対象を決める
- 対象ドメイン
- 巡回の深さ
- 除外パス
- 収集頻度(毎日 / 毎時)
まず対象を固定し、後から対象を広げる方が品質管理しやすい。
2. Firecrawl でデータを取得する
Firecrawl API でページ情報を取得し、JSON Lines 形式で保存する。
初期段階では Parquet 変換よりも JSON Lines の方がデバッグしやすい。
3. S3 に保存する
分析のしやすさのため、日付パーティションで配置する。
s3://<bucket>/firecrawl/raw/dt=YYYY-MM-DD/*.jsonl
この形式にしておくと、Athena で日付絞り込みがしやすい。
4. Athena で外部テーブルを作る
Athena で JSON Lines を読む外部テーブルを作成し、必要に応じて View を作る。
View では、URL 正規化、タイトル欠損補完、カテゴリ抽出などを実施する。
5. QuickSight で可視化する
Athena テーブルまたは View をデータセット化して、次を可視化する。
- 収集ページ数の推移
- ドメイン別件数
- 更新頻度の高いページ
- キーワード別コンテンツ量
6. 運用ルールを決める
- 失敗時リトライ回数
- 再取得の上限
- 取得禁止パス
- スキーマ変更時の互換方針
運用のポイント
- 取得元サイトに負荷をかけない頻度を守る
- 差分収集を優先し、フル収集は定期バッチに限定する
- BI で使うカラムは早めに固定し、破壊的変更を避ける