# 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()