Case Study 2023年10月28日

競合価格調査スクレイピングツール

毎朝自動で競合サイトを巡回し、価格変動をSlackに通知するシステム。

高橋 健太
受講生
Tech Stack
Python Cursor Slack API
開発期間
1週間
導入効果
手動調査 30分/日 → 完全自動
競合価格調査スクレイピングツール

背景

ECサイトを運営する中で、競合他社の価格動向を把握することは非常に重要です。しかし、毎日手動で10社以上のサイトをチェックするのは大変な作業でした。

開発したシステム

毎朝6時に自動で競合サイトを巡回し、価格情報を収集。変動があった場合はSlackに通知するシステムを開発しました。

機能一覧

  1. 自動巡回

    • 設定した競合サイトを毎朝自動チェック
    • 商品ページの価格を抽出
  2. 価格履歴管理

    • Google スプレッドシートに自動記録
    • 過去との比較が可能
  3. アラート通知

    • 価格変動時にSlackへ通知
    • 変動幅に応じたアラートレベル
  4. レポート生成

    • 週次で価格動向レポートを自動生成
    • グラフ付きで視覚化

技術構成

# メインの処理フロー
def main():
    # 1. 競合サイトリストを取得
    competitors = get_competitor_list()

    # 2. 各サイトをスクレイピング
    for site in competitors:
        prices = scrape_prices(site)

        # 3. 前日との比較
        changes = compare_with_yesterday(prices)

        # 4. 変動があれば通知
        if changes:
            send_slack_notification(changes)

    # 5. スプレッドシートに記録
    save_to_spreadsheet(all_prices)

使用技術

技術用途
Pythonメイン言語
BeautifulSoupHTMLパース
Selenium動的サイト対応
Google Sheets APIデータ保存
Slack API通知
GitHub Actions定期実行

開発の流れ

Day 1-2: 基本機能

Day 3-4: 複数サイト対応

Day 5-6: 通知・保存機能

Day 7: 自動化

Cursorの活用

Cursorが特に役立ったポイント:

  1. サイトごとのセレクタ特定

    「このHTMLから価格情報を抽出するPythonコードを書いて」
    → 適切なCSSセレクタを提案してくれる
  2. エラーハンドリング

    「サイトがダウンしている場合のリトライ処理を追加して」
    → 堅牢なコードに改善
  3. Slack通知のフォーマット

    「価格変動を見やすい表形式でSlackに送信するコードを書いて」
    → Block Kit形式のメッセージを生成

導入効果

項目BeforeAfter
調査時間30分/日0分(完全自動)
対象サイト数5社程度15社
更新頻度不定期毎日確実に
データ蓄積なし履歴として保存

月間で15時間以上の工数削減を実現しました。

注意点

スクレイピングを行う際は、以下の点に注意が必要です:

今後の展開


1週間でここまで作れるとは思っていませんでした。Cursorのおかげで、アイデアをすぐに形にできるようになりました。

高橋 健太

本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —   本ページのデザインは全てAIによって作成されています   —