本文へスキップ

旅行価格インテリジェンス

EU市場の旅行代理店向けパッケージツアー価格ベンチマーク · ゼロから単独で開発(スクレイパー、管理コンソール、AI連携)

更新日

導入前

競合とのパッケージ価格の比較は手作業では追いつかず、障害のたびに収集ジョブが止まっていました。

導入後

約5倍

ブラウザをやめた競合サイトでの収集の速さ。障害後はブラウザプールが自動補充。

仕組み
  1. 1人:スタッフ

    比較するパッケージを選びます:出発地、日付、滞在日数、人数。

  2. 2ソフトウェア:スケジューラー

    ベンチマークジョブを開始します。

  3. 3ソフトウェア:ブラウザ

    ローテーションプロキシ経由で、競合の価格を収集します。

    ソフトウェア:HTTPクライアント

    ブラウザが不要な1つのソースを読み取ります。

  4. 4人:スタッフ

    管理コンソールで価格の比較を確認します。

常時動作

  • 障害後は、ブラウザプールが自動で補充されます。
  • お客様のAIエージェントもベンチマークを開始できます。

課題

代理店は、出発地、日付、日数、人数ごとに、自社パッケージを競合サイトと比較する必要がありました。

原因の分析

各サイトはボットをブロックするため、難所は解析ではなく安定性とプロキシ費用でした。ジョブは空のブラウザプールで止まりました。

検討した選択肢

  1. 障害後、ジョブが空のブラウザプールで止まっていました。どう解決しますか?

    採用

    障害後に自動で補充されるプール

    プロキシの通信量上限で、プールが40ブラウザから0になったことがあります。現在は60秒ごとに補充します。代償は、保守する補充ループが増えることです。

    • 不採用

      固定サイズのプール

      障害後に縮小し、そのまま小さいままでした。

  2. ブラウザとプロキシは費用がかかります。全ソースに必要ですか?

    採用

    許可しているソースには、通常のHTTPリクエストを使う

    あるサイトでは1分あたりの収集日数が8から43に増え、維持すべきブラウザもありません。

    • 不採用

      すべてのソースでフルブラウザを使う

      不要なソースにも、ブラウザとプロキシの費用がかかります。

ソリューション

スケジューラーが、ローテーションプロキシ付きのブラウザプールでベンチマークジョブを実行します。スタッフは管理コンソールを使い、お客様のAIエージェントも開始できます。

収集
  • Python
  • Camoufox
  • Playwright
  • curl_cffi
  • Rotating proxies
  • Apify
APIとデータ
  • FastAPI
  • Supabase
  • PostgreSQL
管理コンソール
  • Next.js
  • React
  • Vite
  • TanStack Query
  • Chart.js
AIエージェント連携
  • MCP server
品質
  • GitHub Actions
  • gitleaks
  • Vitest
  • pytest

数値: コミットログ