# 促銷活動爬蟲配置指南 ## 概述 本系統支援多種促銷活動的爬蟲監控,包括母親節、520情人節、勞動節等季節性活動。爬蟲系統採用通用架構,可輕鬆擴展支援新的活動類型。 ## 支援的活動類型 | 活動類型 | page_type | 預設活動名稱 | 配置鍵值 | |---------|-----------|-------------|---------| | 母親節 | `mothers_day` | 母親節超值限時購 | `mothers_day_2026` | | 520情人節 | `valentine_520` | 520情人節限定購物 | `valentine_520_2026` | | 勞動節 | `labor_day` | 勞動節購物優惠 | `labor_day_2026` | | 1.1狂歡購物節 | `festival` | 1.1狂歡購物節 | `festival_11` | ## 配置步驟 ### 1. 編輯配置文件 編輯 `services/data/crawler_config.json`: ```json { "crawlers": { "mothers_day_2026": { "enabled": true, "schedule_hours": 4, "lpn_code": "YOUR_LPN_CODE_HERE", "activity_name": "母親節超值限時購", "page_type": "mothers_day", "name": "2026 母親節促銷爬蟲" } } } ``` **重要參數說明:** - `enabled`: 設為 `true` 啟用爬蟲 - `schedule_hours`: 執行頻率(小時) - `lpn_code`: MOMO 活動頁面的 LPN 代碼(必填) - `activity_name`: 活動名稱(用於通知和日誌) - `page_type`: 資料庫區分標識(不可重複) ### 2. 取得 LPN 代碼 LPN 代碼是 MOMO 活動頁面的唯一識別碼,格式如下: ``` https://www.momoshop.com.tw/edm/cmmedm.jsp?lpn=O1K5FBOqsvN ^^^^^^^^^^^^ 這就是 LPN 代碼 ``` ### 3. 重啟排程服務 修改配置後,需重啟 `momo-scheduler` 容器使配置生效: ```bash ssh wooo@192.168.0.110 "ssh ollama@192.168.0.188 \"\ cd /home/ollama/momo-pro && docker compose restart momo-scheduler\"" ``` ## 手動觸發爬蟲 ### 透過 Web API ```bash curl -X POST http://localhost:5000/api/run_promo_event_task \ -H "Content-Type: application/json" \ -d '{ "page_type": "mothers_day", "lpn_code": "O1K5FBOqsvN", "activity_name": "母親節超值限時購" }' ``` ### 透過 Python ```python import requests response = requests.post( 'http://localhost:5000/api/run_promo_event_task', json={ 'page_type': 'mothers_day', 'lpn_code': 'O1K5FBOqsvN', 'activity_name': '母親節超值限時購' } ) print(response.json()) ``` ## 資料庫結構 所有促銷活動商品資料儲存在 `promo_products` 表,透過 `page_type` 欄位區分: ```sql SELECT * FROM promo_products WHERE page_type = 'mothers_day'; ``` ## 爬蟲結構分析 根據市場情報,各活動頁面結構如下: ### 母親節(5月第2週) - **活動名稱**: 《愛在五月》母親節超值限時購 - **主要商品**: OLAY 歐蕾系列、全酵肌泌賦活乳、時尚服飾 - **活動時間**: 5月第2週 ### 520情人節(5/20-21) - **活動名稱**: 《你我在一起》情人節限定購物 - **主要商品**: OLAY 歐蕾系列、OZIO 歐姬兒蜂王乳凝露EX - **活動時間**: 5月20日-21日 ### 勞動節(5/1-3) - **活動名稱**: 《勞動者福利》勞動節購物優惠 - **主要商品**: OLAY 歐蕾系列、春季保養相關商品 - **活動時間**: 5月1日-3日 ## 爬蟲功能 系統會自動: 1. 抓取活動頁面所有商品區塊 2. 解析商品名稱、價格、圖片 3. 偵測價格變動(漲價/跌價) 4. 偵測新上架商品 5. 偵測下架商品 6. 發送 Telegram/Line 通知(附截圖) ## 故障排除 ### 爬蟲未啟動 檢查配置文件中的 `enabled` 是否為 `true`,且 `lpn_code` 已填寫。 ### 未抓取到商品 1. 檢查 LPN 代碼是否正確 2. 檢查活動頁面是否已上線 3. 查看 `logs/system.log` 中的錯誤訊息 4. 檢查 `logs/debug_htmls/` 中的偵錯截圖 ### 排程未執行 確認 `momo-scheduler` 容器運行狀態: ```bash ssh wooo@192.168.0.110 "ssh ollama@192.168.0.188 \"\ docker ps --format '{{.Names}} | {{.Status}}' | grep momo-scheduler\"" ``` ## 新增活動類型 如需新增其他活動類型: 1. 在 `services/data/crawler_config.json` 新增配置 2. 在 `run_scheduler.py` 的 `promo_event_configs` 字典中新增對應 3. 重啟排程服務 範例: ```json { "mid_autumn_2026": { "enabled": false, "schedule_hours": 4, "lpn_code": "", "activity_name": "中秋節限定優惠", "page_type": "mid_autumn", "name": "2026 中秋節促銷爬蟲" } } ``` ```python promo_event_configs = { # ... 現有配置 'mid_autumn_2026': {'lpn': '', 'page_type': 'mid_autumn', 'name': '中秋節限定優惠'} } ```