Files
ewoooc/scripts/tools/run_crawler_once.py
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 01:21:13 +08:00

74 lines
1.7 KiB
Python

# cSpell:ignore momo
"""
一次性執行爬蟲腳本
用於手動觸發商品資料和圖片的更新
"""
import os
import sys
import logging
# 設定路徑
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, BASE_DIR)
# 設定日誌
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s [%(levelname)s] %(message)s',
handlers=[
logging.StreamHandler(sys.stdout)
]
)
from scheduler import run_momo_task, run_edm_task, run_festival_task
def main():
"""執行所有爬蟲任務"""
print("=" * 80)
print("🚀 開始執行完整爬蟲任務")
print("=" * 80)
print()
try:
# 1. 一般商品爬蟲
print("📦 [1/3] 執行一般商品爬蟲...")
print("-" * 80)
run_momo_task()
print()
print("✅ 一般商品爬蟲完成")
print()
# 2. EDM 促銷商品爬蟲
print("🎁 [2/3] 執行 EDM 促銷商品爬蟲...")
print("-" * 80)
run_edm_task()
print()
print("✅ EDM 促銷商品爬蟲完成")
print()
# 3. Festival 購物節商品爬蟲
print("🎉 [3/3] 執行購物節商品爬蟲...")
print("-" * 80)
run_festival_task()
print()
print("✅ 購物節商品爬蟲完成")
print()
print("=" * 80)
print("🎉 所有爬蟲任務執行完成!")
print("=" * 80)
except KeyboardInterrupt:
print("\n\n⚠️ 使用者中斷執行")
print("=" * 80)
sys.exit(1)
except Exception as e:
print(f"\n\n❌ 執行過程發生錯誤: {e}")
import traceback
traceback.print_exc()
print("=" * 80)
sys.exit(1)
if __name__ == "__main__":
main()