文件大小: 352.42 KB
最後修改: 2025-10-13 22:00:09
2025-10-13 21:04:59 - 初始化新小時日誌檔案
2025-10-13 21:04:59 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251013_21.log
2025-10-13 21:04:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-13 21:04:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:04:59 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251013_21.log
2025-10-13 21:04:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-13 21:04:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-13 21:05:00 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251013_21.log
2025-10-13 21:05:00 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251013_21.log
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:05:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:05:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:05:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:05:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:05:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:06:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:06:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:06:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:06:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:06:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:08:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:08:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:08:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:08:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:08:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:09:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:09:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:09:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:09:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:09:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:09:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:10:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:11:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:11:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:11:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:11:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:11:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:12:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:12:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:12:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:12:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:12:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:12:47 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:13:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:14:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:14:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:14:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:14:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:14:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:15:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:15:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:15:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:15:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:15:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:15:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:16:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:16:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:17:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:17:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:17:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:17:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:17:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:17:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:17:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:17:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:17:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:17:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:17:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:17:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:18:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:18:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:18:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:18:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:18:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-13 21:20:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-13 21:20:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:20:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:20:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:20:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:21:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:21:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:21:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:21:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:21:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:22:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:23:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:23:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:23:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:23:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:23:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:24:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:24:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:24:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:24:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:24:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:25:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:26:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:26:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:26:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:26:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:26:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:26:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:26:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:26:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:26:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:26:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:26:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0%
2025-10-13 21:26:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:27:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:27:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:27:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:27:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:27:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:27:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:27:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:27:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:27:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:27:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:27:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.2MB, CPU 0.0%
2025-10-13 21:27:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:27:52 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: 1bmeiy3qsj
2025-10-13 21:27:52 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://www.tesla.com/zh_tw,結果將立即顯示
2025-10-13 21:27:52 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 69, Phone: 1111111111, Email:
2025-10-13 21:27:52 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=69, URL=https://www.tesla.com/zh_tw
2025-10-13 21:27:52 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列
2025-10-13 21:27:52 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 69
2025-10-13 21:27:52 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://www.tesla.com/zh_tw
2025-10-13 21:27:52 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False)
2025-10-13 21:27:52 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.tesla.com/zh_tw, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:27:52 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:27:52 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.tesla.com/zh_tw 的第 1/3 次請求
2025-10-13 21:27:52 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:27:52 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:27:52 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:27:52 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:27:52 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:27:52 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:27:52 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:27:52 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:27:52 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:27:52 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:27:52 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:27:53 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:27:53 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5a129c9464e3 <unknown>
#1 0x5a129c675c76 <unknown>
#2 0x5a129c69ed78 <unknown>
#3 0x5a129c69b029 <unknown>
#4 0x5a129c6d9ccc <unknown>
#5 0x5a129c6d947f <unknown>
#6 0x5a129c6d0de3 <unknown>
#7 0x5a129c6a62dd <unknown>
#8 0x5a129c6a734e <unknown>
#9 0x5a129c9063e4 <unknown>
#10 0x5a129c90a3d7 <unknown>
#11 0x5a129c914b20 <unknown>
#12 0x5a129c90b023 <unknown>
#13 0x5a129c8d91aa <unknown>
#14 0x5a129c92f6b8 <unknown>
#15 0x5a129c92f847 <unknown>
#16 0x5a129c93f243 <unknown>
#17 0x74253b294ac3 <unknown>
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:27:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.tesla.com/zh_tw
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:1124] - get_content - 等待頁面基本加載完成: https://www.tesla.com/zh_tw
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:1131] - get_content - 頁面body元素已加載
2025-10-13 21:27:53 - INFO - WebScraper - [scraper.py:1144] - get_content - 頁面加載狀態: complete
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:28:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:28:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:28:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:28:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:28:18 - INFO - WebScraper - [scraper.py:1168] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構
2025-10-13 21:28:18 - INFO - WebScraper - [scraper.py:1172] - get_content - 頁面基本加載完成: https://www.tesla.com/zh_tw
2025-10-13 21:28:20 - INFO - WebScraper - [scraper.py:1182] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:28:20 - INFO - WebScraper - [scraper.py:1190] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:28:20 - INFO - WebScraper - [scraper.py:1743] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:28:20 - INFO - WebScraper - [scraper.py:1754] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:28:24 - INFO - WebScraper - [scraper.py:1204] - get_content - 初始可見元素數量: 4
2025-10-13 21:28:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:28:26 - INFO - WebScraper - [scraper.py:1214] - get_content - 元素數量穩定: 4,內容可能已加載完成
2025-10-13 21:28:26 - INFO - WebScraper - [scraper.py:1221] - get_content - 等待可能的動態內容...
2025-10-13 21:28:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:28:44 - WARNING - WebScraper - [scraper.py:1253] - get_content - 頁面內容太短 (296 字節),嘗試額外優化
2025-10-13 21:28:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:28:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 0/1
2025-10-13 21:28:56 - INFO - WebScraper - [scraper.py:1779] - _scroll_to_load_content - 頁面太短,無需滾動
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:1287] - get_content - 成功獲取 URL 內容: https://www.tesla.com/zh_tw (實際 URL: https://www.tesla.com/zh_tw)
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:1485] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137911709360960: 關閉 WebDriver 實例
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:1492] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:28:59 - INFO - database - [database.py:505] - update_url_status - URL ID 69 状态已更新为 processing
2025-10-13 21:28:59 - INFO - WebScraper - [scraper.py:1897] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 296 字節
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:1909] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 103 字節
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:1934] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 198 字節
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2107] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2107] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2118] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2143] - extract_text_from_html - 已成功提取文本,總長度: 103 字節,約 3 個詞,2 行
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2144] - extract_text_from_html - 提取的最終文本內容: Reference #18.b7043e17.1760362073.14ef6143
https://errors.edgesuite.net/18.b7043e17.1760362073.14ef6143
2025-10-13 21:29:00 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://www.tesla.com/zh_tw, HTML 內容大小=296 字節
2025-10-13 21:29:00 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://www.tesla.com/zh_tw, 發現問題數=0, 嚴重問題數=0, 耗時=0.001秒
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2488] - find_internal_links - 從HTML靜態內容中提取了 0 個內部鏈接
2025-10-13 21:29:00 - INFO - WebScraper - [scraper.py:2652] - find_internal_links - 總共找到 0 個有效內部鏈接
2025-10-13 21:29:00 - INFO - main - [url_processor.py:153] - process_url - 找到 0 個內部鏈接,最大深度2層
2025-10-13 21:29:00 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=69):總計 1 個網址,已完成 1 個(主頁面)
2025-10-13 21:29:00 - INFO - main - [url_processor.py:266] - process_url - UI審核: 開始審核主頁面: https://www.tesla.com/zh_tw
2025-10-13 21:29:00 - INFO - ContentAnalyzer - [analyzer.py:892] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 103 字符
2025-10-13 21:29:00 - INFO - ContentAnalyzer - [analyzer.py:942] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:29:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:29:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 1/1
2025-10-13 21:29:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:29:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:29:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 170.7MB, CPU 0.0%
2025-10-13 21:29:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:29:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 1/1
2025-10-13 21:29:22 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-13 21:29:22 - INFO - ContentAnalyzer - [analyzer.py:966] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 21.991秒
2025-10-13 21:29:22 - INFO - ContentAnalyzer - [analyzer.py:974] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 39 字符, 總耗時: 22.146秒
2025-10-13 21:29:22 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
最終結論:審核通過...
2025-10-13 21:29:22 - INFO - main - [url_processor.py:305] - process_url - UI審核: 主頁面審核通過: https://www.tesla.com/zh_tw
2025-10-13 21:29:22 - INFO - main - [url_processor.py:376] - process_url - 開始判斷主頁面購物車功能
2025-10-13 21:29:22 - ERROR - main - [url_processor.py:381] - process_url - 主頁面購物車判斷時出錯: 'ContentAnalyzer' object has no attribute 'check_shopping_cart'
Traceback (most recent call last):
File "/opt/urlanalyze/processing/url_processor.py", line 377, in process_url
main_cart_result = content_analyzer.check_shopping_cart(extracted_text)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ContentAnalyzer' object has no attribute 'check_shopping_cart'
2025-10-13 21:29:22 - INFO - main - [url_processor.py:402] - process_url - 最終購物車判斷結果: 無購物車功能 (檢查了 1 個頁面)
2025-10-13 21:29:22 - INFO - main - [url_processor.py:423] - process_url - 審核通過:1 個頁面通過,0 個頁面被模型拒審(已忽略)
2025-10-13 21:29:22 - INFO - main - [url_processor.py:525] - process_url - URL ID 69 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證
2025-10-13 21:29:22 - WARNING - main - [url_processor.py:543] - process_url - UI審核(URL ID=69):身份驗證失敗,網頁上未找到聯絡資訊
2025-10-13 21:29:22 - INFO - database - [database.py:505] - update_url_status - URL ID 69 状态已更新为 completed
2025-10-13 21:29:22 - INFO - main - [url_processor.py:609] - process_url - URL ID 69 分析完成,結果: fail, API驗證: False
2025-10-13 21:29:22 - INFO - main - [url_processor.py:634] - process_url - 工作線程 #1 完成處理 URL ID: 69
2025-10-13 21:29:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 69, UID: 1bmeiy3qsj, 進度: 1/1
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:30:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-13 21:30:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:30:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:30:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 171.8MB, CPU 0.0%
2025-10-13 21:30:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:31:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:32:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:32:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:32:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:32:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 171.8MB, CPU 0.0%
2025-10-13 21:32:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:33:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:33:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:33:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:33:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 171.9MB, CPU 0.0%
2025-10-13 21:33:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:34:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:34:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:34:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:34:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:35:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:35:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:35:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:35:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:35:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:35:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:35:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:35:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 171.9MB, CPU 0.0%
2025-10-13 21:35:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:36:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:36:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:36:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:36:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:36:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:36:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:36:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:36:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-13 21:36:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:36:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:36:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 171.9MB, CPU 0.0%
2025-10-13 21:36:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:37:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:37:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:37:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:37:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:37:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:38:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:38:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:38:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:38:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:38:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:38:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:38:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:38:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:38:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:38:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:38:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 171.9MB, CPU 0.0%
2025-10-13 21:38:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.2MB, CPU 0.0%
2025-10-13 21:39:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:26 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:39:26 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:39:26 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:39:27 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:39:27 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:39:27 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:39:27 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:39:27 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:39:27 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:39:27 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:39:27 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:39:27 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:39:29 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:39:29 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:39:29 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:39:29 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:39:29 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:39:29 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:39:29 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:39:29 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:39:29 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.80GB
2025-10-13 21:39:29 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:39:29 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:39:29 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:39:29 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:39:29 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.80GB
2025-10-13 21:39:29 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:39:29 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:39:29 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:39:29 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:39:29 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:39:29 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:39:29 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:39:29 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:39:29 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:39:29 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:39:29 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:39:29 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:39:29 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:39:29 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:39:29 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:39:29 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:39:29 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:39:29 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:39:29 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:39:29 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:39:29 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:39:29 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:39:29 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:39:29 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB
2025-10-13 21:39:29 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:39:29 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:39:29 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:39:29 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB
2025-10-13 21:39:29 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:39:29 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:39:29 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:39:29 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:39:29 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:39:29 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:39:29 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:39:29 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:39:29 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:39:29 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:39:30 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:39:30 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:39:30 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:39:30 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:39:30 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:39:30 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:39:30 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:39:30 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:39:30 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:39:30 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:39:30 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:39:30 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:40:17 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: tc0k2zqti9
2025-10-13 21:40:17 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://www.tesla.com/zh_tw,結果將立即顯示
2025-10-13 21:40:17 - INFO - database - [database.py:436] - process_url - URL https://www.tesla.com/zh_tw 已存在,但按照需求視為新提交進行審核
2025-10-13 21:40:17 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 70, Phone: 11111111, Email:
2025-10-13 21:40:17 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=70, URL=https://www.tesla.com/zh_tw
2025-10-13 21:40:17 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列
2025-10-13 21:40:17 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 70
2025-10-13 21:40:17 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://www.tesla.com/zh_tw
2025-10-13 21:40:17 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False)
2025-10-13 21:40:17 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.tesla.com/zh_tw, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:40:17 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:40:17 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.tesla.com/zh_tw 的第 1/3 次請求
2025-10-13 21:40:17 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:40:17 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:40:17 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:40:17 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:40:17 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:40:17 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:40:17 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:40:17 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:40:18 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:40:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:40:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:40:18 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:40:18 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5afa8174e4e3 <unknown>
#1 0x5afa8147dc76 <unknown>
#2 0x5afa814a6d78 <unknown>
#3 0x5afa814a3029 <unknown>
#4 0x5afa814e1ccc <unknown>
#5 0x5afa814e147f <unknown>
#6 0x5afa814d8de3 <unknown>
#7 0x5afa814ae2dd <unknown>
#8 0x5afa814af34e <unknown>
#9 0x5afa8170e3e4 <unknown>
#10 0x5afa817123d7 <unknown>
#11 0x5afa8171cb20 <unknown>
#12 0x5afa81713023 <unknown>
#13 0x5afa816e11aa <unknown>
#14 0x5afa817376b8 <unknown>
#15 0x5afa81737847 <unknown>
#16 0x5afa81747243 <unknown>
#17 0x7f5c3c494ac3 <unknown>
2025-10-13 21:40:18 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:40:18 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:40:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 0/1
2025-10-13 21:40:19 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:40:19 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.tesla.com/zh_tw
2025-10-13 21:40:19 - INFO - WebScraper - [scraper.py:1124] - get_content - 等待頁面基本加載完成: https://www.tesla.com/zh_tw
2025-10-13 21:40:19 - INFO - WebScraper - [scraper.py:1131] - get_content - 頁面body元素已加載
2025-10-13 21:40:19 - INFO - WebScraper - [scraper.py:1144] - get_content - 頁面加載狀態: complete
2025-10-13 21:40:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 0/1
2025-10-13 21:40:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:40:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:40:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:40:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:40:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:40:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:40:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:40:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:40:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 0/1
2025-10-13 21:40:43 - INFO - WebScraper - [scraper.py:1168] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構
2025-10-13 21:40:43 - INFO - WebScraper - [scraper.py:1172] - get_content - 頁面基本加載完成: https://www.tesla.com/zh_tw
2025-10-13 21:40:45 - INFO - WebScraper - [scraper.py:1182] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:40:45 - INFO - WebScraper - [scraper.py:1190] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:40:45 - INFO - WebScraper - [scraper.py:1743] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:40:45 - INFO - WebScraper - [scraper.py:1754] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:40:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 0/1
2025-10-13 21:40:49 - INFO - WebScraper - [scraper.py:1204] - get_content - 初始可見元素數量: 4
2025-10-13 21:40:51 - INFO - WebScraper - [scraper.py:1214] - get_content - 元素數量穩定: 4,內容可能已加載完成
2025-10-13 21:40:51 - INFO - WebScraper - [scraper.py:1221] - get_content - 等待可能的動態內容...
2025-10-13 21:40:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 0/1
2025-10-13 21:40:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:40:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.0MB, CPU 0.0%
2025-10-13 21:41:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.6MB, CPU 0.0%
2025-10-13 21:41:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 127.3MB, CPU 0.0%
2025-10-13 21:41:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 0/1
2025-10-13 21:41:09 - WARNING - WebScraper - [scraper.py:1253] - get_content - 頁面內容太短 (296 字節),嘗試額外優化
2025-10-13 21:41:22 - INFO - WebScraper - [scraper.py:1779] - _scroll_to_load_content - 頁面太短,無需滾動
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:1287] - get_content - 成功獲取 URL 內容: https://www.tesla.com/zh_tw (實際 URL: https://www.tesla.com/zh_tw)
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:1485] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123330670765184: 關閉 WebDriver 實例
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:1492] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:41:25 - INFO - database - [database.py:505] - update_url_status - URL ID 70 状态已更新为 processing
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:1897] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 296 字節
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:1909] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 103 字節
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:1934] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 198 字節
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2107] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2107] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2118] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2143] - extract_text_from_html - 已成功提取文本,總長度: 103 字節,約 3 個詞,2 行
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2144] - extract_text_from_html - 提取的最終文本內容: Reference #18.673d3117.1760362819.1a148585
https://errors.edgesuite.net/18.673d3117.1760362819.1a148585
2025-10-13 21:41:25 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://www.tesla.com/zh_tw, HTML 內容大小=296 字節
2025-10-13 21:41:25 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://www.tesla.com/zh_tw, 發現問題數=0, 嚴重問題數=0, 耗時=0.001秒
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2488] - find_internal_links - 從HTML靜態內容中提取了 0 個內部鏈接
2025-10-13 21:41:25 - INFO - WebScraper - [scraper.py:2652] - find_internal_links - 總共找到 0 個有效內部鏈接
2025-10-13 21:41:25 - INFO - main - [url_processor.py:153] - process_url - 找到 0 個內部鏈接,最大深度2層
2025-10-13 21:41:25 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=70):總計 1 個網址,已完成 1 個(主頁面)
2025-10-13 21:41:25 - INFO - main - [url_processor.py:266] - process_url - UI審核: 開始審核主頁面: https://www.tesla.com/zh_tw
2025-10-13 21:41:25 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 103 字符
2025-10-13 21:41:25 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:41:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:41:36 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-13 21:41:36 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.246秒
2025-10-13 21:41:36 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 39 字符, 總耗時: 11.404秒
2025-10-13 21:41:36 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
最終結論:審核通過...
2025-10-13 21:41:36 - INFO - main - [url_processor.py:305] - process_url - UI審核: 主頁面審核通過: https://www.tesla.com/zh_tw
2025-10-13 21:41:36 - INFO - main - [url_processor.py:376] - process_url - 開始判斷主頁面購物車功能
2025-10-13 21:41:36 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-13 21:41:36 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 103 字符
2025-10-13 21:41:36 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-13 21:41:42 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-13 21:41:42 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.959秒
2025-10-13 21:41:42 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 6.011秒
2025-10-13 21:41:42 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-13 21:41:42 - INFO - main - [url_processor.py:379] - process_url - 主頁面購物車判斷: 無購物車功能
2025-10-13 21:41:42 - INFO - main - [url_processor.py:402] - process_url - 最終購物車判斷結果: 無購物車功能 (檢查了 1 個頁面)
2025-10-13 21:41:42 - INFO - main - [url_processor.py:423] - process_url - 審核通過:1 個頁面通過,0 個頁面被模型拒審(已忽略)
2025-10-13 21:41:42 - INFO - main - [url_processor.py:525] - process_url - URL ID 70 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證
2025-10-13 21:41:42 - WARNING - main - [url_processor.py:543] - process_url - UI審核(URL ID=70):身份驗證失敗,網頁上未找到聯絡資訊
2025-10-13 21:41:42 - INFO - database - [database.py:505] - update_url_status - URL ID 70 状态已更新为 completed
2025-10-13 21:41:42 - INFO - main - [url_processor.py:609] - process_url - URL ID 70 分析完成,結果: fail, API驗證: False
2025-10-13 21:41:42 - INFO - main - [url_processor.py:634] - process_url - 工作線程 #1 完成處理 URL ID: 70
2025-10-13 21:42:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 70, UID: tc0k2zqti9, 進度: 1/1
2025-10-13 21:42:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:42:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.1MB, CPU 0.0%
2025-10-13 21:42:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 140.6MB, CPU 0.0%
2025-10-13 21:42:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 181.8MB, CPU 0.0%
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:43:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:43:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:43:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.1MB, CPU 0.0%
2025-10-13 21:44:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 140.6MB, CPU 0.0%
2025-10-13 21:44:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 181.8MB, CPU 0.0%
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:45:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:45:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.1MB, CPU 0.0%
2025-10-13 21:45:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 140.6MB, CPU 0.0%
2025-10-13 21:45:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 181.8MB, CPU 0.0%
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:46:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:46:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:46:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:46:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:46:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:46:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:46:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:46:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:46:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:46:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.1MB, CPU 0.0%
2025-10-13 21:47:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 140.6MB, CPU 0.0%
2025-10-13 21:47:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 181.8MB, CPU 0.0%
2025-10-13 21:47:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:47:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:47:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:47:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:47:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:47:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:47:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:47:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:48:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:48:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.1MB, CPU 0.0%
2025-10-13 21:48:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 140.6MB, CPU 0.0%
2025-10-13 21:48:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 181.8MB, CPU 0.0%
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:48:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:48:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:48:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:48:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:49:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:49:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:49:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:49:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-13 21:49:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.2MB, CPU 0.0%
2025-10-13 21:49:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.1MB, CPU 0.0%
2025-10-13 21:50:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 140.6MB, CPU 0.0%
2025-10-13 21:50:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 181.8MB, CPU 0.0%
2025-10-13 21:50:04 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:50:04 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:50:04 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:50:04 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:50:04 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:50:04 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:50:04 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:50:04 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:50:04 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:50:04 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251013_21.log,路徑: Log/20251013_21.log
2025-10-13 21:50:04 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-10-13 21:50:04 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-10-13 21:50:06 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:50:06 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:50:06 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:50:06 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:50:06 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:50:06 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:50:06 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:50:07 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:50:07 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:50:07 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:50:07 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:50:07 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB
2025-10-13 21:50:07 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:50:07 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:50:07 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:50:07 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB
2025-10-13 21:50:07 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:50:07 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:50:07 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:50:07 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:50:07 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:50:07 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:50:07 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:50:07 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB
2025-10-13 21:50:07 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:50:07 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:50:07 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:50:07 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:50:07 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:50:07 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:50:07 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:50:07 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-10-13 21:50:07 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:50:07 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:50:07 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:50:07 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:50:07 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:50:07 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:50:07 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:50:07 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-10-13 21:50:07 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-10-13 21:50:07 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB
2025-10-13 21:50:07 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-10-13 21:50:07 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-10-13 21:50:07 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-10-13 21:50:07 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-10-13 21:50:07 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-10-13 21:50:07 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-10-13 21:50:07 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-10-13 21:50:07 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-10-13 21:50:07 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-10-13 21:50:07 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:50:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:50:55 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: c8755qyf0n
2025-10-13 21:50:55 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://www.tesla.com/zh_tw,結果將立即顯示
2025-10-13 21:50:55 - INFO - database - [database.py:436] - process_url - URL https://www.tesla.com/zh_tw 已存在,但按照需求視為新提交進行審核
2025-10-13 21:50:55 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 71, Phone: 111111111, Email:
2025-10-13 21:50:55 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=71, URL=https://www.tesla.com/zh_tw
2025-10-13 21:50:55 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列
2025-10-13 21:50:55 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 71
2025-10-13 21:50:55 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://www.tesla.com/zh_tw
2025-10-13 21:50:55 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False)
2025-10-13 21:50:55 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.tesla.com/zh_tw, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:50:55 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:50:55 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.tesla.com/zh_tw 的第 1/3 次請求
2025-10-13 21:50:55 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:50:55 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:50:55 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:50:55 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:50:55 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:50:55 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:50:55 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:50:55 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:50:55 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:50:55 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:50:56 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:50:56 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:50:56 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x56bf66c1c4e3 <unknown>
#1 0x56bf6694bc76 <unknown>
#2 0x56bf66974d78 <unknown>
#3 0x56bf66971029 <unknown>
#4 0x56bf669afccc <unknown>
#5 0x56bf669af47f <unknown>
#6 0x56bf669a6de3 <unknown>
#7 0x56bf6697c2dd <unknown>
#8 0x56bf6697d34e <unknown>
#9 0x56bf66bdc3e4 <unknown>
#10 0x56bf66be03d7 <unknown>
#11 0x56bf66beab20 <unknown>
#12 0x56bf66be1023 <unknown>
#13 0x56bf66baf1aa <unknown>
#14 0x56bf66c056b8 <unknown>
#15 0x56bf66c05847 <unknown>
#16 0x56bf66c15243 <unknown>
#17 0x7ef1d0694ac3 <unknown>
2025-10-13 21:50:56 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:50:56 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:50:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:50:56 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:50:56 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.tesla.com/zh_tw
2025-10-13 21:50:57 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.tesla.com/zh_tw
2025-10-13 21:50:57 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:50:57 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:51:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:51:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:51:21 - INFO - WebScraper - [scraper.py:1202] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構
2025-10-13 21:51:21 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.tesla.com/zh_tw
2025-10-13 21:51:22 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-10-13 21:51:23 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:51:23 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:51:23 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:51:23 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:51:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:51:27 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 4
2025-10-13 21:51:29 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 4,內容可能已加載完成
2025-10-13 21:51:29 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:51:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:51:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.0MB, CPU 0.0%
2025-10-13 21:51:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.0MB, CPU 0.0%
2025-10-13 21:51:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 127.3MB, CPU 0.0%
2025-10-13 21:51:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:51:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:51:47 - WARNING - WebScraper - [scraper.py:1287] - get_content - 頁面內容太短 (296 字節),嘗試額外優化
2025-10-13 21:51:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 0/1
2025-10-13 21:51:59 - INFO - WebScraper - [scraper.py:1813] - _scroll_to_load_content - 頁面太短,無需滾動
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.tesla.com/zh_tw (實際 URL: https://www.tesla.com/zh_tw)
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:52:02 - INFO - database - [database.py:505] - update_url_status - URL ID 71 状态已更新为 processing
2025-10-13 21:52:02 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 296 字節
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 103 字節
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 198 字節
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 103 字節,約 3 個詞,2 行
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: Reference #18.673d3117.1760363456.1a16e8c8
https://errors.edgesuite.net/18.673d3117.1760363456.1a16e8c8
2025-10-13 21:52:03 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://www.tesla.com/zh_tw, HTML 內容大小=296 字節
2025-10-13 21:52:03 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://www.tesla.com/zh_tw, 發現問題數=0, 嚴重問題數=0, 耗時=0.001秒
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 0 個內部鏈接
2025-10-13 21:52:03 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 0 個有效內部鏈接
2025-10-13 21:52:03 - INFO - main - [url_processor.py:153] - process_url - 找到 0 個內部鏈接,最大深度2層
2025-10-13 21:52:03 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=71):總計 1 個網址,已完成 1 個(主頁面)
2025-10-13 21:52:03 - INFO - main - [url_processor.py:266] - process_url - UI審核: 開始審核主頁面: https://www.tesla.com/zh_tw
2025-10-13 21:52:03 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 103 字符
2025-10-13 21:52:03 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-13 21:52:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 1/1
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:52:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:52:13 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-13 21:52:13 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.329秒
2025-10-13 21:52:13 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 39 字符, 總耗時: 10.486秒
2025-10-13 21:52:13 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
最終結論:審核通過...
2025-10-13 21:52:13 - INFO - main - [url_processor.py:305] - process_url - UI審核: 主頁面審核通過: https://www.tesla.com/zh_tw
2025-10-13 21:52:13 - INFO - main - [url_processor.py:376] - process_url - 開始判斷主頁面購物車功能
2025-10-13 21:52:13 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-13 21:52:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 103 字符
2025-10-13 21:52:13 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-13 21:52:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 1/1
2025-10-13 21:52:20 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-13 21:52:20 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.316秒
2025-10-13 21:52:20 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 6.367秒
2025-10-13 21:52:20 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-13 21:52:20 - INFO - main - [url_processor.py:379] - process_url - 主頁面購物車判斷: 無購物車功能
2025-10-13 21:52:20 - INFO - main - [url_processor.py:402] - process_url - 最終購物車判斷結果: 無購物車功能 (檢查了 1 個頁面)
2025-10-13 21:52:20 - INFO - main - [url_processor.py:423] - process_url - 審核通過:1 個頁面通過,0 個頁面被模型拒審(已忽略)
2025-10-13 21:52:20 - INFO - main - [url_processor.py:525] - process_url - URL ID 71 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證
2025-10-13 21:52:20 - WARNING - main - [url_processor.py:543] - process_url - UI審核(URL ID=71):身份驗證失敗,網頁上未找到聯絡資訊
2025-10-13 21:52:20 - INFO - database - [database.py:505] - update_url_status - URL ID 71 状态已更新为 completed
2025-10-13 21:52:20 - INFO - main - [url_processor.py:609] - process_url - URL ID 71 分析完成,結果: fail, API驗證: False
2025-10-13 21:52:20 - INFO - main - [url_processor.py:634] - process_url - 工作線程 #1 完成處理 URL ID: 71
2025-10-13 21:52:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 71, UID: c8755qyf0n, 進度: 1/1
2025-10-13 21:53:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:53:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:53:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:53:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 172.2MB, CPU 0.0%
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:53:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:53:31 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: d6wu7ro9c7
2025-10-13 21:53:31 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://www.garmin.com.tw/,結果將立即顯示
2025-10-13 21:53:31 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 72, Phone: 1111111111, Email:
2025-10-13 21:53:31 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=72, URL=https://www.garmin.com.tw/
2025-10-13 21:53:31 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列
2025-10-13 21:53:31 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 72
2025-10-13 21:53:31 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://www.garmin.com.tw/
2025-10-13 21:53:31 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False)
2025-10-13 21:53:31 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:53:31 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:53:31 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/ 的第 1/3 次請求
2025-10-13 21:53:31 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:53:31 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:53:31 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:53:31 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:53:31 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:53:31 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:53:31 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:53:31 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:53:31 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:53:31 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:53:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:53:32 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:53:32 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5c09693da4e3 <unknown>
#1 0x5c0969109c76 <unknown>
#2 0x5c0969132d78 <unknown>
#3 0x5c096912f029 <unknown>
#4 0x5c096916dccc <unknown>
#5 0x5c096916d47f <unknown>
#6 0x5c0969164de3 <unknown>
#7 0x5c096913a2dd <unknown>
#8 0x5c096913b34e <unknown>
#9 0x5c096939a3e4 <unknown>
#10 0x5c096939e3d7 <unknown>
#11 0x5c09693a8b20 <unknown>
#12 0x5c096939f023 <unknown>
#13 0x5c096936d1aa <unknown>
#14 0x5c09693c36b8 <unknown>
#15 0x5c09693c3847 <unknown>
#16 0x5c09693d3243 <unknown>
#17 0x738442294ac3 <unknown>
2025-10-13 21:53:32 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:53:32 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:53:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 0/1
2025-10-13 21:53:32 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:53:32 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/
2025-10-13 21:53:36 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/
2025-10-13 21:53:36 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:53:36 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:53:36 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:53:36 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/
2025-10-13 21:53:38 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery
2025-10-13 21:53:38 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:53:38 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:53:38 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:53:38 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:53:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 0/1
2025-10-13 21:53:42 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 369
2025-10-13 21:53:44 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 369,內容可能已加載完成
2025-10-13 21:53:44 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:53:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 0/1
2025-10-13 21:54:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 0/1
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/ (實際 URL: https://www.garmin.com.tw/)
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:54:03 - INFO - database - [database.py:505] - update_url_status - URL ID 72 状态已更新为 processing
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 200376 字節
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 320 字節
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1644 字節
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1256 字節
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2035 字節,約 284 個詞,123 行
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
Play/Pause
Venu 4
GPS 智慧腕錶
了解更多
Instinct Crossover AMOLED
實體指針GPS智慧錶
了解更多
Instinct 3 Supernova
限量販售
本我系列 GPS 智慧腕錶
了解更多
Edge 550 | 850
GPS自行車錶
了解更多
Descent X30
GPS潛水電腦
了解更多
上一頁
下一頁
新品資訊
智慧手錶怎麼選?
了解更多 >>
Descent X30
GPS潛水電腦
堅固耐用的潛水電腦,配備水面 GPS、金屬防滲按鈕,以及鮮豔色彩的 2.4 吋顯示螢幕。
Venu 4 系列
GPS 智慧腕錶
進階健康與健身 GPS 智慧手錶,配備明亮多彩的AMOLED螢幕、內建手電筒,以及豐富的健身、健康與智慧功能。
Instinct Crossover AMOLED - 軍事戰術版
實體指針GPS智慧錶
堅固耐用的混合式 GPS 戰術智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
Instinct Crossover AMOLED
實體指針GPS智慧錶
堅固耐用的混合式 GPS 智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
Instinct 3 –
AMOLED
本我系列 GPS 智慧腕錶
一款堅固耐用的智慧戶外運動手錶,搭載炫彩高清螢幕,支援全天候健康監測、智慧通知以及LED手電筒,並提供超長續航。
Instinct 3 – Solar
本我系列 GPS 太陽能智慧腕錶
一款堅固耐用的智慧戶外運動手錶,搭載太陽能充電鏡面,支援全天候健康監測、智慧通知以及LED手電筒,並提供超長續航。
Edge 850
GPS自行車錶
搭載鮮明彩色觸控螢幕、進階訓練功能及內建式喇叭的小巧型 GPS 自行車錶。
Edge 550
GPS自行車錶
搭載鮮明彩色螢幕、按鍵控制及進階訓練功能的小巧型 GPS 自行車錶。
上一頁
下一頁
活動與資訊
2025 百貨周年慶攻略
配合百貨周年慶活動,為您獻上Garmin專櫃獨家優惠。於活動期間購買指定錶款,最多享6折優惠。限時限量,錯過機會不再!
【現正報名中】 Garmin Tri 營戰三鐵訓練營
2025 - 2026 Garmin Tri 營戰三鐵訓練營將成為 2026 Challenge Taiwan 的合作夥伴,入選的學員個人將可以獲得合作夥伴提供價值超過二十萬的裝備,並與鐵人工廠合作推出更多元且豐富的課程,提供長達 20 週的科學化訓練週期。勇敢挑戰極限!Tri Your Best!
2025 第三季軟體更新
你的設備應該與你一起成長。為了帶給你最新技術,我們為多款智慧手錶發布軟體更新,一同了解更多全新功能。
最新消息
新聞
科技引領永續|Garmin 升級路殺警示功能 推動台灣生態共存新典範
了解更多
資訊
[官網獨家] Garmin Birthday 專屬優惠
了解更多
新聞
最懂你的健康教練上線!Garmin Venu 4量身打造專屬你的全天候健康生活
了解更多
訂閱電子報
Cookie Preferences
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:54:03 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://www.garmin.com.tw/, HTML 內容大小=200376 字節
2025-10-13 21:54:03 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://www.garmin.com.tw/, 發現問題數=15, 嚴重問題數=9, 耗時=0.034秒
2025-10-13 21:54:03 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_external_script(12), suspicious_inline_script(2), iframe(1)
2025-10-13 21:54:03 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(6), warning(9)
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 101 個內部鏈接
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2683] - find_internal_links - 鏈接數量 (101) 超過限制 (20),進行截斷
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 20 個有效內部鏈接
2025-10-13 21:54:03 - INFO - main - [url_processor.py:153] - process_url - 找到 20 個內部鏈接,最大深度2層
2025-10-13 21:54:03 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=72):總計 21 個網址,已完成 1 個(主頁面)
2025-10-13 21:54:03 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw
2025-10-13 21:54:03 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw 的第 1/3 次請求
2025-10-13 21:54:03 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6e70e10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b269ff23faf2f5bc7b5ac311553b7a54
2025-10-13 21:54:03 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6e71910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b269ff23faf2f5bc7b5ac311553b7a54
2025-10-13 21:54:03 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6e72010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b269ff23faf2f5bc7b5ac311553b7a54
2025-10-13 21:54:03 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:54:03 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:54:03 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:54:03 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:54:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:54:03 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:54:03 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:54:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:54:04 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:54:04 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:54:04 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited normally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5f5de7b244e3 <unknown>
#1 0x5f5de7853c76 <unknown>
#2 0x5f5de787cd78 <unknown>
#3 0x5f5de7879029 <unknown>
#4 0x5f5de78b7ccc <unknown>
#5 0x5f5de78b747f <unknown>
#6 0x5f5de78aede3 <unknown>
#7 0x5f5de78842dd <unknown>
#8 0x5f5de788534e <unknown>
#9 0x5f5de7ae43e4 <unknown>
#10 0x5f5de7ae83d7 <unknown>
#11 0x5f5de7af2b20 <unknown>
#12 0x5f5de7ae9023 <unknown>
#13 0x5f5de7ab71aa <unknown>
#14 0x5f5de7b0d6b8 <unknown>
#15 0x5f5de7b0d847 <unknown>
#16 0x5f5de7b1d243 <unknown>
#17 0x77d44a694ac3 <unknown>
2025-10-13 21:54:04 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:54:04 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:54:04 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:54:04 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:54:08 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:54:08 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:54:08 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:54:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:54:08 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:54:08 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw
2025-10-13 21:54:10 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery
2025-10-13 21:54:10 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:54:10 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:54:10 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:54:10 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:54:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 1/21
2025-10-13 21:54:14 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 369
2025-10-13 21:54:16 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 369,內容可能已加載完成
2025-10-13 21:54:16 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:54:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 1/21
2025-10-13 21:54:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 1/21
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw (實際 URL: https://www.garmin.com.tw/)
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 200319 字節
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 320 字節
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1644 字節
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1256 字節
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2035 字節,約 284 個詞,123 行
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
Play/Pause
Venu 4
GPS 智慧腕錶
了解更多
Instinct Crossover AMOLED
實體指針GPS智慧錶
了解更多
Instinct 3 Supernova
限量販售
本我系列 GPS 智慧腕錶
了解更多
Edge 550 | 850
GPS自行車錶
了解更多
Descent X30
GPS潛水電腦
了解更多
上一頁
下一頁
新品資訊
智慧手錶怎麼選?
了解更多 >>
Descent X30
GPS潛水電腦
堅固耐用的潛水電腦,配備水面 GPS、金屬防滲按鈕,以及鮮豔色彩的 2.4 吋顯示螢幕。
Venu 4 系列
GPS 智慧腕錶
進階健康與健身 GPS 智慧手錶,配備明亮多彩的AMOLED螢幕、內建手電筒,以及豐富的健身、健康與智慧功能。
Instinct Crossover AMOLED - 軍事戰術版
實體指針GPS智慧錶
堅固耐用的混合式 GPS 戰術智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
Instinct Crossover AMOLED
實體指針GPS智慧錶
堅固耐用的混合式 GPS 智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
Instinct 3 –
AMOLED
本我系列 GPS 智慧腕錶
一款堅固耐用的智慧戶外運動手錶,搭載炫彩高清螢幕,支援全天候健康監測、智慧通知以及LED手電筒,並提供超長續航。
Instinct 3 – Solar
本我系列 GPS 太陽能智慧腕錶
一款堅固耐用的智慧戶外運動手錶,搭載太陽能充電鏡面,支援全天候健康監測、智慧通知以及LED手電筒,並提供超長續航。
Edge 850
GPS自行車錶
搭載鮮明彩色觸控螢幕、進階訓練功能及內建式喇叭的小巧型 GPS 自行車錶。
Edge 550
GPS自行車錶
搭載鮮明彩色螢幕、按鍵控制及進階訓練功能的小巧型 GPS 自行車錶。
上一頁
下一頁
活動與資訊
2025 百貨周年慶攻略
配合百貨周年慶活動,為您獻上Garmin專櫃獨家優惠。於活動期間購買指定錶款,最多享6折優惠。限時限量,錯過機會不再!
【現正報名中】 Garmin Tri 營戰三鐵訓練營
2025 - 2026 Garmin Tri 營戰三鐵訓練營將成為 2026 Challenge Taiwan 的合作夥伴,入選的學員個人將可以獲得合作夥伴提供價值超過二十萬的裝備,並與鐵人工廠合作推出更多元且豐富的課程,提供長達 20 週的科學化訓練週期。勇敢挑戰極限!Tri Your Best!
2025 第三季軟體更新
你的設備應該與你一起成長。為了帶給你最新技術,我們為多款智慧手錶發布軟體更新,一同了解更多全新功能。
最新消息
新聞
科技引領永續|Garmin 升級路殺警示功能 推動台灣生態共存新典範
了解更多
資訊
[官網獨家] Garmin Birthday 專屬優惠
了解更多
新聞
最懂你的健康教練上線!Garmin Venu 4量身打造專屬你的全天候健康生活
了解更多
訂閱電子報
Cookie Preferences
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:54:35 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 2/21 個網址
2025-10-13 21:54:35 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/products/wearables/?cat=trail-running
2025-10-13 21:54:35 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/products/wearables/?cat=trail-running, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/products/wearables/?cat=trail-running 的第 1/3 次請求
2025-10-13 21:54:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6c20450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d1be6eb9155a0ac5832970bd519e137c
2025-10-13 21:54:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d7380690>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d1be6eb9155a0ac5832970bd519e137c
2025-10-13 21:54:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d73811d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d1be6eb9155a0ac5832970bd519e137c
2025-10-13 21:54:35 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:54:35 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:54:35 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:54:35 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:54:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:54:35 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:54:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:54:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:54:36 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:54:36 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:54:36 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5ab3853854e3 <unknown>
#1 0x5ab3850b4c76 <unknown>
#2 0x5ab3850ddd78 <unknown>
#3 0x5ab3850da029 <unknown>
#4 0x5ab385118ccc <unknown>
#5 0x5ab38511847f <unknown>
#6 0x5ab38510fde3 <unknown>
#7 0x5ab3850e52dd <unknown>
#8 0x5ab3850e634e <unknown>
#9 0x5ab3853453e4 <unknown>
#10 0x5ab3853493d7 <unknown>
#11 0x5ab385353b20 <unknown>
#12 0x5ab38534a023 <unknown>
#13 0x5ab3853181aa <unknown>
#14 0x5ab38536e6b8 <unknown>
#15 0x5ab38536e847 <unknown>
#16 0x5ab38537e243 <unknown>
#17 0x793ccf094ac3 <unknown>
2025-10-13 21:54:36 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:54:36 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:54:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:54:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/products/wearables/?cat=trail-running
2025-10-13 21:54:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:54:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.2MB, CPU 0.0%
2025-10-13 21:54:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 150.5MB, CPU 0.0%
2025-10-13 21:54:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 172.4MB, CPU 0.0%
2025-10-13 21:54:39 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/products/wearables/?cat=trail-running
2025-10-13 21:54:39 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:54:39 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:54:39 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:54:39 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/products/wearables/?cat=trail-running
2025-10-13 21:54:41 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: vue, jquery
2025-10-13 21:54:41 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa
2025-10-13 21:54:41 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略
2025-10-13 21:54:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 2/21
2025-10-13 21:54:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 2/21
2025-10-13 21:54:59 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .container,內容長度: 92
2025-10-13 21:55:01 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 588
2025-10-13 21:55:03 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 588,內容可能已加載完成
2025-10-13 21:55:03 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:55:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 2/21
2025-10-13 21:55:06 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失
2025-10-13 21:55:06 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:55:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-13 21:55:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 2/21
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/products/wearables/?cat=trail-running (實際 URL: https://www.garmin.com.tw/products/wearables/?cat=trail-running)
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 261666 字節
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 635 字節
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 4465 字節
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 4293 字節
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 4856 字節,約 631 個詞,330 行
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
越野跑手錶
越野跑手錶
越野跑不只是在山林中奔跑,更是體能分配與導航的挑戰。
Garmin 越野跑錶提供深入數據洞察、地圖導航、爬升高度,讓你在山林中更安心、更有信心挑戰自我。
越野跑手錶快速推薦
訓練完備程度
查看根據你的睡眠品質、恢復狀態、訓練負荷等資訊顯示的完備度分數,方便你判斷當天適合挑戰自己多一點,還是輕鬆點就好。
即時體力量表
藉由即時體力,了解當下體能,並透過體力恢復上限,適時調整配速與體力。
ClimbPro 爬坡規劃器
你可以查看目前和即將爬升的即時資訊,包含坡度、距離,以及完整路線的海拔剖面圖。
路線地圖導航
內建等高線地圖、多頻 GNSS 導航,能在沒有手機訊號的地區根據預設路線提供精準導航
Up Ahead 前方路線點
幫助你更了解路線中即將出現的重要路線點位。
叉路提示
在導航活動期間遵循清晰的地圖和方向,輕鬆保持在軌道上。
爬坡分數
測量你的跑步爬坡能力,並依據最大攝氧量與訓練記錄,評估一段時間內的進步幅度。
耐力分數
這個動態數據會根據你的最大攝氧量、短期/長期的訓練負荷和其他因素來衡量體能進步狀況,而非只是評估最大攝氧量。
高海拔適應與熱適應
根據你的健康指標,顯示你對目前海拔或高溫的適應狀況。
實用越野跑小工具
GARMIN SHARE
一起探索更多!即時分享你的活動路線及位置。
LED FLASHLIGHT
你的緊急照明!手機和頭燈的替代品。
PULSE OX
即時監測你的血氧濃度,
迅速評估你當下的身體狀況。
ABC SENSOR
提供關鍵的環境資料並支援路線搜尋及天氣預報,藉此提升戶外活動愛好者的安全及導航。
越野跑手錶快速推薦
fēnix 8 Pro – 51 mm, MicroLED
全方位戶外進階GPS智慧腕錶
NT$ 62,990
了解更多
Forerunner 970
GPS 全方位鐵人運動錶
NT$ 23,990
了解更多
Forerunner 570 - 42 mm
GPS 智慧心率進階跑錶
NT$ 17,990
了解更多
Instinct 3 – 50 mm, AMOLED
本我系列 GPS 智慧腕錶
NT$ 16,990
了解更多
Amoled螢幕
Amoled螢幕
Amoled螢幕
Amoled螢幕
藍寶石鏡片
藍寶石鏡片
-
-
Garmin Share
Garmin Share
Garmin Share
Garmin Share
Garmin Pay
Garmin Pay
Garmin Pay
Garmin Pay
多頻段 GNSS
多頻段 GNSS
多頻段 GNSS
多頻段 GNSS
ABC 感測器
ABC 感測器
ABC 感測器
ABC 感測器
睡眠與健康追蹤
睡眠與健康追蹤
睡眠與健康追蹤
睡眠與健康追蹤
內建地圖
內建地圖
內建地圖
內建地圖
航線/GPX導航
航線/GPX導航
航線/GPX導航
航線/GPX導航
幫助你掌握即將到來的
關鍵路線點。
幫助你掌握即將到來的
關鍵路線點。
幫助你掌握即將到來的
關鍵路線點。
-
查看目前與即將爬升的
坡度、距離和海拔變化圖
查看目前與即將爬升的
坡度、距離和海拔變化圖
查看目前與即將爬升的
坡度、距離和海拔變化圖
-
手電筒
手電筒
-
手電筒
語音指令
語音指令
語音指令
-
潛水模式
-
-
-
MicroLED - 51mm
智慧手錶模式10天(恆亮模式4天)
GPS模式44小時(恆亮模式18小時)
智慧手錶模式15天
GPS模式26小時
智慧手錶模式10天
GPS模式18小時
Amoled - 50mm
智慧手錶模式24天
GPS模式40小時
請選擇分類
+
所有智慧穿戴手錶
66
+
戶外運動手錶
28
+
跑步手錶
7
+
越野跑手錶
13
+
室內健身手錶
12
+
複合式 & 三鐵錶
33
+
潛水錶
6
+
游泳錶
42
+
高爾夫手錶
11
+
女性手錶
28
+
時尚手錶
17
+
健康手錶
18
+
支援心電圖App手錶
14
+
行動支付 & 悠遊卡手錶
51
+
行動支付 & 一卡通手錶
2
+
音樂手錶
30
+
航海錶
3
+
航空錶
1
+
MARQ 工藝腕錶
9
NEW
Instinct Crossover AMOLED - 軍事戰術版
實體指針GPS智慧錶
堅固耐用的混合式 GPS 戰術智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
堅固耐用的混合式 GPS 戰術智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
NT$
21,990
NEW
Instinct Crossover AMOLED
實體指針GPS智慧錶
堅固耐用的混合式 GPS 智慧腕錶,搭載實體指針與亮眼 AMOLED 螢幕。
Instinct Crossover AMOLED 是一款結合實體指針的智慧腕錶,具備AMOLED炫彩螢幕、LED 手電筒、全天候健康監測,以及最長可達 14 天的電池續航。
NT$
18,990
NEW
Instinct 3 –
AMOLED
本我系列 GPS 智慧腕錶
一款堅固耐用的智慧戶外運動手錶,搭載炫彩高清螢幕,支援全天候健康監測、智慧通知以及LED手電筒,並提供超長續航。
Instinct 3 AMOLED 是一款強悍耐用的軍規GPS運動腕錶,具備 1.3 吋明亮清晰的 AMOLED 螢幕,智慧手錶模式下電池效能可達 24 天。
NT$
16,990
NEW
Instinct 3 – Solar
本我系列 GPS 太陽能智慧腕錶
一款堅固耐用的智慧戶外運動手錶,搭載太陽能充電鏡面,支援全天候健康監測、智慧通知以及LED手電筒,並提供超長續航。
Instinct 3 Solar 是一款強悍耐用的軍規GPS太陽能運動智慧腕錶,使用太陽能充電時,在智慧手錶模式下享有無限電池續航力。
NT$
14,990
NEW
fēnix 8 Pro MicroLED
全方位戶外進階GPS智慧腕錶
極致明亮 MicroLED 螢幕,內建行動網路及衛星通訊的 inReach 通訊科技
fēnix 8 Pro - MicroLED 是一款全方位戶外進階智慧手錶,極致明亮的MicroLED螢幕,為全球最亮的智慧手錶,搭載衛星通訊及行動網路連線。
NT$
62,990
從訓練到裝備,越野跑全指南
跑進山林前,你需要這些知識 >>
NEW
fēnix 8 Pro AMOLED
全方位戶外進階GPS智慧腕錶
明亮清晰的 AMOLED 螢幕,內建行動網路及衛星通訊的 inReach 通訊科技
fēnix 8 Pro AMOLED 是一款全方位戶外進階智慧手錶,內建行動網路及衛星通訊的 inReach 通訊科技,能在有行動網路連線時使用語音通話及 LiveTrack 即時追蹤分享位置。
NT$
40,990
Forerunner 970
GPS 全方位鐵人運動錶
搭載 AMOLED 全彩炫色觸控螢幕,訓練完備程度陪你挺進各種大小賽事
Forerunner 970是一款旗艦級GPS 全方位鐵人運動錶,具備明亮螢幕、內建喇叭與麥克風、內建地圖、訓練功能,電池續航力最長可達 15 天。
NT$
23,990
Forerunner 570 系列
GPS 智慧心率進階跑錶
小尺寸進階 GPS 跑步與鐵人三項智慧手錶,搭載 AMOLED 螢幕及訓練與恢復功能。
Forerunner 570是小尺寸的GPS智慧心率進階跑錶,配備 AMOLED 螢幕、內建喇叭與麥克風、訓練功能,電池續航力最長可達 18 小時。
NT$
17,990
Instinct 3 – 50 mm, AMOLED, 戰術版
本我系列 GPS 智慧腕錶-戰術版
這款以軍規標準打造的堅固 GPS 智慧手錶,內建專業級戰術功能及全方位戶外工具,並搭載 AMOLED 螢幕跟LED 手電筒,助你掌控全局,無懼前行。
戴上 Instinct 3 - 戰術版,大膽出擊。 這款以軍規標準打造的堅固 GPS 智慧手錶,內建專業級戰術功能及全方位戶外工具,並搭載 AMOLED 螢幕跟LED 手電筒,助你掌控全局,無懼前行。
NT$
19,990
fēnix 8 - Solar系列
全方位戶外進階GPS智慧腕錶系列
你是個想要突破自我極限的專業運動員/冒險玩家,想擁有一款提供聚焦式肌力訓練、潛水功能、地形圖等功能的高效能 GPS 智慧手錶。fēnix 8 正符合你的需要。
fēnix 8是一款高級多功能智慧手錶,配有太陽能充電鏡片,可延長電池效能,內寘揚聲器和麥克風&適合更粗手腕的造型。
NT$
38,990
fēnix 8 - AMOLED系列
全方位戶外進階GPS智慧腕錶系列
你是個想要突破自我極限的專業運動員/冒險玩家,想擁有一款提供聚焦式肌力訓練、潛水功能、地形圖等功能的高效能 GPS 智慧手錶。fēnix 8 正符合你的需要。
NT$
38,990
Forerunner 965 系列
GPS 全方位鐵人運動錶
搭載 AMOLED 全彩炫色觸控螢幕,訓練完備程度陪你挺進各種大小賽事
你渴望勝利的榮光。利用 Forerunner 965 搭載的明亮 AMOLED 螢幕和頂級跑步/三鐵功能,精彩訓練,你將能踏上頒獎台。
NT$
19,990
Forerunner 265 系列
GPS智慧心率進階跑錶
搭載 AMOLED 全彩炫色觸控螢幕,個人化的每日訓練建議可以幫助你挑戰極限
你是個想要聰明訓練的跑者。有了 Forerunner 265 配備的明亮 AMOLED 螢幕、訓練指標及恢復狀況分析,你將能夠跑出亮眼表現。
NT$
14,990
ClimbPro 爬坡規劃,專為越野跑而生
提前掌握每段爬升,讓山徑挑戰更有策略 >>
最多比較
4
項產品
功能比較
清除全部
此頁面是否有幫助您了解,為什麼 Garmin 能提升您的越野跑表現?
看完此越野跑專區後,您會考慮購買 Garmin 手錶嗎?
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:55:15 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 3/21 個網址
2025-10-13 21:55:15 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/careers/
2025-10-13 21:55:15 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/careers/, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/careers/ 的第 1/3 次請求
2025-10-13 21:55:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6febc50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/0616f6e6299233a701af6be378912ea9
2025-10-13 21:55:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6fe0090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/0616f6e6299233a701af6be378912ea9
2025-10-13 21:55:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6fe1550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/0616f6e6299233a701af6be378912ea9
2025-10-13 21:55:15 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:55:15 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:55:15 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:55:15 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:55:15 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:55:15 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:55:16 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:55:16 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:55:16 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:55:16 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:55:16 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5610e05e24e3 <unknown>
#1 0x5610e0311c76 <unknown>
#2 0x5610e033ad78 <unknown>
#3 0x5610e0337029 <unknown>
#4 0x5610e0375ccc <unknown>
#5 0x5610e037547f <unknown>
#6 0x5610e036cde3 <unknown>
#7 0x5610e03422dd <unknown>
#8 0x5610e034334e <unknown>
#9 0x5610e05a23e4 <unknown>
#10 0x5610e05a63d7 <unknown>
#11 0x5610e05b0b20 <unknown>
#12 0x5610e05a7023 <unknown>
#13 0x5610e05751aa <unknown>
#14 0x5610e05cb6b8 <unknown>
#15 0x5610e05cb847 <unknown>
#16 0x5610e05db243 <unknown>
#17 0x775547094ac3 <unknown>
2025-10-13 21:55:16 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:55:16 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/careers/
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/careers/
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:55:17 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/careers/
2025-10-13 21:55:20 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery
2025-10-13 21:55:20 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:55:20 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:55:20 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:55:20 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:55:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 3/21
2025-10-13 21:55:24 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 347
2025-10-13 21:55:26 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 347,內容可能已加載完成
2025-10-13 21:55:26 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:55:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 3/21
2025-10-13 21:55:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 3/21
2025-10-13 21:55:44 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/careers/ (實際 URL: https://www.garmin.com.tw/careers/)
2025-10-13 21:55:44 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:55:44 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:55:44 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 190212 字節
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 262 字節
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 931 字節
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 592 字節
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1322 字節,約 195 個詞,96 行
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
加入 Garmin
加入 Garmin
將你 / 妳的熱情結合至工作中
加入我們
投身熱情於工作
我們在汽車、航空、航海、戶外休閒以及運動等五大領域深耕,並提供人才多樣化的舞台。
熱情發揮無疆界
Garmin 致力成為 GPS 的領航者,以「垂直整合」為產品開發的營運策略,兼納多元化人才的加入。
走鋼索的勇氣
Garmin 秉持以「求難、不求易」的經營哲學,以此理念開創導航定位世界第一,我們期待各界技術專業人才一起領航世界!
在 Garmin 定位你 / 妳的熱情
研發與技術工程
經營管理
資訊科技
業務與行銷
生產與製造工程
活動資訊
2025 Garmin獎學金計畫即日起開放申請至10/15截止!
歡迎「電子、軟體、醫學工程、人工智慧」領域碩、博士生報名,10萬元獎金等你帶回家!
工作據點
新北市汐止區
新北市汐止區樟樹二路68號
職缺搜尋
新北市汐止遠雄UTown
新北市汐止區新台五路一段97號37樓
職缺搜尋
新北市新店寶高園區
新北市新店區寶高路28號9樓
職缺搜尋
桃園市龜山區
桃園市龜山區華亞二路270號
職缺搜尋
桃園市中壢區
桃園市中壢區北園路24號
職缺搜尋
台南市新市區
台南市新市區堤塘港路3號
職缺搜尋
FOLLOW @GARMINCAREERS
訂閱電子報
Cookie Preferences
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:55:45 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 4/21 個網址
2025-10-13 21:55:45 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/minisite/approach/
2025-10-13 21:55:45 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/minisite/approach/, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/minisite/approach/ 的第 1/3 次請求
2025-10-13 21:55:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6dd3c50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b1c45620b90c935ea259e8efbf3ac304
2025-10-13 21:55:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6ed8ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b1c45620b90c935ea259e8efbf3ac304
2025-10-13 21:55:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6ed9190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b1c45620b90c935ea259e8efbf3ac304
2025-10-13 21:55:45 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:55:45 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:55:45 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:55:45 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:55:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:55:45 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:55:45 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:55:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:55:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:55:46 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:55:46 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x6019aa7de4e3 <unknown>
#1 0x6019aa50dc76 <unknown>
#2 0x6019aa536d78 <unknown>
#3 0x6019aa533029 <unknown>
#4 0x6019aa571ccc <unknown>
#5 0x6019aa57147f <unknown>
#6 0x6019aa568de3 <unknown>
#7 0x6019aa53e2dd <unknown>
#8 0x6019aa53f34e <unknown>
#9 0x6019aa79e3e4 <unknown>
#10 0x6019aa7a23d7 <unknown>
#11 0x6019aa7acb20 <unknown>
#12 0x6019aa7a3023 <unknown>
#13 0x6019aa7711aa <unknown>
#14 0x6019aa7c76b8 <unknown>
#15 0x6019aa7c7847 <unknown>
#16 0x6019aa7d7243 <unknown>
#17 0x773e31c94ac3 <unknown>
2025-10-13 21:55:46 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:55:46 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:55:46 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:55:46 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/minisite/approach/
2025-10-13 21:55:50 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/minisite/approach/
2025-10-13 21:55:50 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:55:50 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:55:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 4/21
2025-10-13 21:56:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 4/21
2025-10-13 21:56:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:56:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.7MB, CPU 0.0%
2025-10-13 21:56:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 151.6MB, CPU 0.0%
2025-10-13 21:56:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 172.4MB, CPU 0.0%
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:56:08 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container
2025-10-13 21:56:08 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/minisite/approach/
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:56:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:56:10 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: vue, jquery
2025-10-13 21:56:10 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa
2025-10-13 21:56:10 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略
2025-10-13 21:56:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 4/21
2025-10-13 21:56:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 4/21
2025-10-13 21:56:29 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .container,內容長度: 82
2025-10-13 21:56:30 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 451
2025-10-13 21:56:32 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 451,內容可能已加載完成
2025-10-13 21:56:32 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:56:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 4/21
2025-10-13 21:56:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 4/21
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/minisite/approach/ (實際 URL: https://www.garmin.com.tw/minisite/approach/)
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 216322 字節
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1018 字節
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 3343 字節
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2596 字節
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 674 字節
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 4029 字節,約 506 個詞,221 行
2025-10-13 21:56:50 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
GARMIN GOLF
ECOSYSTEM
球場上
精準 GPS 定位搭配最詳盡的球道圖資,初次上場也能對球道障礙瞭若指掌,讓你每次揮桿都充滿無比信心。
練習場
以先進雷達技術,剖析每一次揮桿細節,調整動作更加有憑有據。無論是室內或室外環境,暢打真實球道虛擬球局競賽,猶如親臨現場。
Golf App
整合歷史擊球資料,免費分析擊球距離、落點分布與精準度。無須 Garmin Approach 裝置也能參與數據統計,參與每週排行榜和競賽。
球場上
練習場
Golf App
球場上,
它就是最佳後援
無論您是首次下場或經驗豐富的球友,Garmin Golf 裝置提供詳盡球道資訊、清晰標示障礙物及果嶺距離;
甚至能在擊球前提供個人化球桿建議。
APPROACH S40
APPROACH S70
APPROACH G80
APPROACH Z82
APPROACH Z30
APPROACH CT1
new
從沒打過的球場也能瞭若指掌
果嶺地形資料 *
顯示擊球果嶺地形起伏資料,妥善規劃您的攻果嶺揮擊與推桿策略(需訂閱 Garmin Golf app 加值方案)。
觀看影片
支援全球超過 43,000 幅
球道圖資
全彩球道圖資,障礙區一覽無遺。
檢視球場圖資
障礙區視圖
快速瀏覽球道每處障礙區距離,擊球更有信心。
Approach S70
PLAYSLIKE 坡度距離建議
依球道上、下坡度變化,提供補償後的水平建議距離。
Approach S70
果嶺指向輔助
遭障礙物遮蔽而無法直視旗桿時,為你指向正確擊球方位。
Approach S70
專屬私人桿弟
球道攻略提示
根據風速、風向及歷史揮桿距離、方向等數據,提供最適合的球桿建議,並在地圖上標示瞄準方向。
風向風速資訊
在錶面顯示所在地的風向風速資訊 ( 需配對 Garmin Golf app )。
Approach S70
前所未有的精準測距
GPS 雷射測距儀
結合全彩球道圖資與雷射測距功能,提供正負 25 公分的超精準測距。
不再遺失你的測距儀
尋找 GARMIN 裝置
若不小心將測距儀遺落在球場上,只需透過 Garmin Golf app 即能查詢機台最後使用位置。
Approach Z30
了解你的球桿
自動追蹤球桿揮桿數據
與相容 Garmin 高爾夫腕錶配對,自動追蹤每次擊球資訊,包括位置、距離和球桿類型。
Approach CT10
標記您的球桿
在腕上接收數據
每次擊球前,將感測器輕觸相容的 Garmin 高爾夫手錶,就能檢視準確度數據。
Approach CT1
了解你的球桿
自動追蹤球桿揮桿數據
與相容 Garmin 高爾夫腕錶配對,自動追蹤每次擊球資訊,包括位置、距離和球桿類型。
Approach CT10
標記您的球桿
在腕上接收數據
每次擊球前,將感測器輕觸相容的 Garmin 高爾夫手錶,就能檢視準確度數據。
Approach CT1
數據,讓每次揮桿都有意義
Garmin 雷達高爾夫訓練儀能在擊球瞬間,偵測球桿與高爾夫球飛行數據,並提供擬真的擊球模擬模式。
科學化數據,讓每次練習更有效率。
APPROACH G80
APPROACH R10
APPROACH R50
new
跟著數據練,
才會變更強!
多種擊球指標,
還原真實揮桿樣貌
透過偵測桿頭速度、球速、球旋轉量、出球角度、出球方向、擊球效率等數據,提高揮桿穩定度,練得更有效率。
Approach R50
輕便易攜帶,
練功最佳神器
使用環境不受場地限制,無論室內或練習場都能使用。電池效能長達 10 小時,讓你更投入地專注訓練。
Approach R10
節奏訓練
想擁有穩定上下桿節奏?節奏訓練模式可偵測上桿及下桿節奏,並提供即時數據回饋。
Approach G80
模擬模式
暢打全球知名球場
HOME TEE HERO
虛擬球局 *
內建全球超過 43,000 個真實球道圖資,隨時與朋友來場 Home Tee Hero 虛擬球局。也可作為下場前熱身練習,擬定最佳擊球策略。
Approach R10
線上過招
每週錦標賽 *
與全球各地高手再當週的 PGA 錦標賽球場線上廝殺,衝上排名,將你的名字留在每週英雄榜上。
Approach R10
* HOME TEE HERO 虛擬球局與每週錦標賽需訂閱 Garmin Golf app 會員加值方案。
最完整的高爾夫數據資料庫
上傳每次擊球計分卡,累積您的個人化高球數據資料庫,深入了解每一支球桿的平均距離、飛行落點分布。
了解自己,是提升成績的最佳捷徑。
Garmin Golf App
訂閱 Garmin Golf,
取得更多超值內容
免付費功能
從相容的 Garmin 裝置上傳計分卡
從相容的 Garmin 裝置檢視擊球記錄
檢視高球表現數據
參與每週排行榜
建立錦標賽
從相容的 Garmin 裝置儲存訓練數據
30 天免費試用 Garmin Golf 加值方案
加值訂閱方案
月費方案:新台幣 310 元
年費方案:新台幣 3,090 元
可使用所有免付費功能
利用果嶺地形資料妥善規劃您的攻果嶺揮擊與推桿策略
暢玩超過 43,000 幅球道的 Home Tee Hero 虛擬球局 (Approach R10 專屬)
將您的揮桿影片上傳雲端儲存空間 (Approach R10 專屬)
了解更多
果嶺起伏
分吋皆知
果嶺地形資料 *
顯示相容球場的果嶺地形資料,將坡度資訊顯示於 Garmin Golf app 及相容裝置,妥善規劃您的攻果嶺揮擊與推桿策略。
果嶺地形資料
HOME TEE HERO 虛擬球局 **
內建全球超過 43,000 個真實球道圖資,隨時與朋友來場 Home Tee Hero 虛擬球局。也可作為下場前熱身練習,擬定最佳擊球策略。
觀看影片
線上過招
每週錦標賽 **
與全球各地高手再當週的 PGA 錦標賽球場線上廝殺,衝上排名,將你的名字留在每週英雄榜上。
揮桿影片上傳雲端空間 **
透過 R10 與智慧型手機錄製的揮桿影片,自動上傳雲端空間,釋放手機儲存空間。
深度剖析
歷史擊球狀況
球場統計資料
檢視每個球場的平均桿數,並瀏覽開球精確度、最遠開球距離,標準桿上果嶺率及每洞推桿數等數據。
表現統計資料
分析開球、上果嶺擊球、短切及推桿的精準度,並查看自身與 Garmin Golf 所有使用者之間的排名。
擊球地圖
檢視球場每桿擊球記錄,讓你回顧球局中每球落點與方向。
與好友來場錦標賽
建立專屬的錦標賽並邀請好友來較勁、上傳計分卡加入每週排行榜,也能互相即時聊天並相互比較資料、排行及數據。
* 需訂閱 Garmin Golf app 加值方案。
** 需具備有效的 Garmin Golf app 加值訂閱方案並搭配 Approach R10 雷達高爾夫訓練儀(另售)。
Garmin Golf Club
高爾夫、數據分析、專業教練,是 Garmin Golf Club (GGC) 的核心組成部分。通過Garmin科學化的數據分析和專業教練的完整 13 個周期訓練計劃,幫助學員提升訓練效率和高球表現。
立即加入
訂閱電子報
Cookie Preferences
額外的結構化內容:
• 從相容的 Garmin 裝置上傳計分卡
• 從相容的 Garmin 裝置檢視擊球記錄
• 檢視高球表現數據
• 參與每週排行榜
• 建立錦標賽
• 從相容的 Garmin 裝置儲存訓練數據
• 30 天免費試用 Garmin Golf 加值方案
• 月費方案:新台幣 310 元
• 年費方案:新台幣 3,090 元
• 可使用所有免付費功能
• 利用果嶺地形資料妥善規劃您的攻果嶺揮擊與推桿策略
• 暢玩超過 43,000 幅球道的 Home Tee Hero 虛擬球局 (Approach R10 專屬)
• 將您的揮桿影片上傳雲端儲存空間 (Approach R10 專屬)
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:56:51 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 5/21 個網址
2025-10-13 21:56:51 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/company/about/
2025-10-13 21:56:51 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/company/about/, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/company/about/ 的第 1/3 次請求
2025-10-13 21:56:51 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6ed0410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/015e6858d3a7b752ec29321b38a37b87
2025-10-13 21:56:51 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6f02110>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/015e6858d3a7b752ec29321b38a37b87
2025-10-13 21:56:51 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6f03590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/015e6858d3a7b752ec29321b38a37b87
2025-10-13 21:56:51 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:56:51 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:56:51 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:56:51 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5911013494e3 <unknown>
#1 0x591101078c76 <unknown>
#2 0x5911010a1d78 <unknown>
#3 0x59110109e029 <unknown>
#4 0x5911010dcccc <unknown>
#5 0x5911010dc47f <unknown>
#6 0x5911010d3de3 <unknown>
#7 0x5911010a92dd <unknown>
#8 0x5911010aa34e <unknown>
#9 0x5911013093e4 <unknown>
#10 0x59110130d3d7 <unknown>
#11 0x591101317b20 <unknown>
#12 0x59110130e023 <unknown>
#13 0x5911012dc1aa <unknown>
#14 0x5911013326b8 <unknown>
#15 0x591101332847 <unknown>
#16 0x591101342243 <unknown>
#17 0x766c40294ac3 <unknown>
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:56:51 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:56:52 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:56:52 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/company/about/
2025-10-13 21:56:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 5/21
2025-10-13 21:56:57 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/company/about/
2025-10-13 21:56:57 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:56:57 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:57:00 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article
2025-10-13 21:57:00 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/company/about/
2025-10-13 21:57:02 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery
2025-10-13 21:57:02 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-13 21:57:02 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-13 21:57:02 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-13 21:57:02 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-13 21:57:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 5/21
2025-10-13 21:57:06 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 481
2025-10-13 21:57:08 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 481,內容可能已加載完成
2025-10-13 21:57:08 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:57:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:57:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:57:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:57:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:57:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:57:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:57:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:57:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:57:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 5/21
2025-10-13 21:57:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 5/21
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/company/about/ (實際 URL: https://www.garmin.com.tw/company/about/)
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 213883 字節
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 4681 字節
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 8282 字節
2025-10-13 21:57:26 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 343 字節
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 8673 字節,約 891 個詞,290 行
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
定位 每個生命熱情所在
Engineered on the inside for life on the outside.
關於我們
ABOUT GARMIN
Garmin 成立於 1989 年,研發總部位在美國,是全球最具指標性的 GPS 企業。近 30 年前,Garmin 以尖端的航空 GPS 導航產品進入市場,而後在航空、航海、車用市場都有完整的產品佈局,目前已是航空、航海、車用、運動健身產品等市場熟悉的領導品牌。結合驚豔設計、卓越品質與優異可靠度,創造絕佳的產品體驗,搭配完整的產品生態圈,Garmin 矢志成為熱愛生活者的理想品牌。
Garmin 影片故事
OUR MISSION
我們的使命是成為一個永續經營的公司;在汽車、航空、航海、戶外休閒、以及運動各領域,提供客戶生活中不可或缺的卓越產品。
OUR VISION
我們的願景是要在每一個市場領域都成為全球的領導者;以驚豔的設計,卓越的品質,以及超越的價值廣受客戶喜愛。
OUR VALUES
我們的企業文化是建立在誠實、廉正與尊重的基礎上;抱持决心全力以赴的精神,以實踐對同仁、客戶與合作夥伴的承諾。
創辦緣起
Our Founders
Garmin 創立於 1989 年,由台灣南投竹山出生的高民環博士 (Dr. Min Kao) 與 Gary Burrell 共同創立。高民環博士 與 Gary Burrell 曾經是一起共事,兩人分別專精於航太、 GPS、導航與航空航海電子相關領域。共事時發現導航相關技術的巨大潛力,爾後一起攜手創業,矢志要成為全球航空、航海、車用及戶外導航和其他電子產品市場的領導者。品牌名稱 Garmin,正是兩人名字的組合 — Gary 與 Min。
創業初期產品就以一體式設計整合的 GPS100 導航設備大受好評,逐步將相關通訊與導航技術應用至航空、航海及車用導航、戶外及健身市場。
兩位創辦人相當重視事情的本質,而且以「求難、不求易」的經營哲學帶領 Garmin 走過 30 年各種起伏艱難挑戰。並以研發、生產製造、行銷、售後的「垂直整合」策略創造出極高的顧客滿意度。
歷史沿革
HISTORY
2024
Garmin Health 十周年,全球締造破千項健康醫療福祉研究,並參與具歷史性 Polaris Dawn 太空飛行任務研究。
2024
Garmin Health 十周年,全球締造破千項健康醫療福祉研究,並參與具歷史性 Polaris Dawn 太空飛行任務研究。
Garmin Health 十周年,運用 Garmin健康監測促成的臨床研究已累積逾千項,涵蓋睡眠、身心健康、癒後康復、肢體活動及疾病管理等多個面向。更在具歷史意義的Polaris Dawn載人太空飛行任務中擔任重要角色,透過 Garmin fēnix 7全天候監測,收集高準確度的生理健康數據,幫助科學家瞭解太空旅行對人體的影響。
2023
收購頂尖音響系統公司 JL Audio,進一步跨足與整合船用、車用與家用音響領域。
2023
收購頂尖音響系統公司 JL Audio,進一步跨足與整合船用、車用與家用音響領域。
Garmin 於 2023 年正式收購音響公司 JL Audio。JL Audio 致力於船艇、汽車及家居音響領域的設計和製造,Garmin 將整合其卓越的音質功能至 Garmin 產品生態系統中,進一步強化海上娛樂系統並跨足、車用與家用音響領域。
2022
Garmin 國際救援中心 Garmin Response Center (前IERCC) 累積達成10,000筆SOS戶外救援紀錄
2022
Garmin 國際救援中心 Garmin Response Center (前IERCC) 累積達成10,000筆SOS戶外救援紀錄
Garmin 2021年收購全球最大緊急事件監測和回應服務供應商GEOS Worldwide及其營運的國際緊急回應協調中心(IERCC),並於 2022 年正式更名為「Garmin Response Center 國際救援中心」。該中心透過Garmin inReach 衛星追蹤通訊裝置,累積達成 10,000 筆 SOS 戶外救援紀錄。Garmin 透過 inReach 技術讓用戶在進行戶外活動時若遇緊急危難,按下SOS緊急求助按鈕,將有專業人員即時追蹤用戶裝置位置並與用戶保持雙向文字訊息傳輸,同時通報急難救援單位及緊急連絡人予以協助、啟動救援。
2021
拓展泰國、越南分公司,亦擴增波蘭及台灣生產基地。
2021
拓展泰國、越南分公司,亦擴增波蘭及台灣生產基地。
正式於泰國及越南成立分公司拓展營運據點,同期於波蘭、台灣台南兩地設置智慧工廠擴大產能。
2020
導入 Garmin 獨有太陽能科技,開創智慧穿戴裝置電力續航的無限可能。
2020
導入 Garmin 獨有太陽能科技,開創智慧穿戴裝置電力續航的無限可能。
全面導入獨有太陽能科技,為全球唯一以太陽能輸出電力支援各種智慧運動模式的智慧錶,擁有超過30項專利技術的太陽能電力模組,首創 Power Glass™ 太陽能充電鏡面技術,並有世界首創的遮蔽不斷電設計,達到業界最強的5倍電力。推出三大系列太陽能GPS智慧腕錶:fēnix 6 Solar 系列、Instinct Solar、tactix Delta Solar,再創太陽能應用智慧穿戴領域巔峰。
2019
2019 – 邁入 30 周年,全新推出品牌旗下旗艦級智能工藝腕錶 ‒ MARQ 非凡時刻系列。
2019
2019 – 邁入 30 周年,全新推出品牌旗下旗艦級智能工藝腕錶 ‒ MARQ 非凡時刻系列。
邁向輝煌 30 周年,發布品牌最高階智能工藝腕錶 MARQ 非凡時刻系列,打造五只不凡的腕錶,包括全球唯一預載世界250個賽道的賽車錶、首創將 VO2 MAX 和預估恢復時間的量測刻度設計於錶圈上的運動家智能工藝腕錶、航海家智能工藝腕錶、探險者智能工藝腕錶、飛行員智能工藝腕錶,完美詮釋 Garmin 制霸的版圖,驅動基因裡的渴求,「定位 你的不平凡」。
2018
推出第一支專業潛水錶 Descent MK1,跨足潛水錶市場。
2018
推出第一支專業潛水錶 Descent MK1,跨足潛水錶市場。
GPS 水面活動導航及全彩地圖豐富功能,以手錶設計打造任何潛水者都會愛不釋手的潛水電腦。休閒、技術、自由潛水各種類型都適用;完整潛水資訊,採用 Bühlmann zhl-16c 演算法計算 NDL,詳盡資訊含氮氣涉入程度及減壓停留時間。
2017
航海產品獲頒 NMEA (美國國家海洋電子協會) 8 項大獎,並連續 3 年蟬聯最佳製造商。
2017
航海產品獲頒 NMEA (美國國家海洋電子協會) 8 項大獎,並連續 3 年蟬聯最佳製造商。
NMEA 為航海用電子設備標準格式的制定組織。除最佳製造商外,Garmin 囊括 7 項最佳產品獎,專案包含自動駕駛、多功能顯示器、探魚器、自動識別系統、導航輔助手機應用、綜合功能手機應用及多媒體娛樂。
2016
推出指針式智慧錶 vívomove
®
,跨足混合智慧穿戴市場。
2016
推出指針式智慧錶 vívomove
®
,跨足混合智慧穿戴市場。
首度以經典不敗的圓形錶面,突破智慧錶常見的方形設計;融合典雅雙弧線隱藏屏幕,內建計步及久坐提示功能;兼具簡約風格與智慧功能,開啟時計新篇章。
2015
成為 Red Bull Air Race 空中競技飛行世界錦標賽贊助夥伴,於日本千葉縣舉行亞洲專屬飛行賽。
2015
成為 Red Bull Air Race 空中競技飛行世界錦標賽贊助夥伴,於日本千葉縣舉行亞洲專屬飛行賽。
Red Bull Air Race 是世界引擎運動競速系列中速度最快的比賽,聚集了世界頂尖飛行員,呈現兼具速度、精准和高超技巧的飛行特技表演賽。選手駕駛最輕快敏捷的比賽專用機,在低空賽道上飛越幾個高 25 公尺的充氣障礙塔。
2014
推出為 Garmin 產品打造的開放平台 Connect IQ。
2014
推出為 Garmin 產品打造的開放平台 Connect IQ。
Garmin Connect IQ 回歸用戶需求,整合多樣功能:個性錶面下載,盡情表現自我風格;量身訂做 Widget 小工具,創造便利及實用機能;打造個人專屬資料欄位,隨時掌握身體資料;連結手機 App,控制串流影音播放。
2013
為 Mercedes-Benz 車款提供前裝導航系統。
2013
為 Mercedes-Benz 車款提供前裝導航系統。
多年來提供各大車廠前裝導航系統,Garmin 累積大量開發經驗,能協助駕駛辨識潛在危險及避免碰撞,大幅提升主動安全。MAP PILOT 整合式車用資訊娛樂系統,結合觸控及語音,以 3D 畫面即時顯示地形與地標,提升駕駛對前方路況變化的掌握能力。獲選全球第一汽車品牌 Mercedes Benz 導航系統特定車款供應商,印證了 Garmin 堅強的駕駛輔助系統開發能力。
2011
創辦人高民環博士獲選美國國家工程學院院士。
2011
創辦人高民環博士獲選美國國家工程學院院士。
美國國家工程學院 (National Academy of Engineering) 院士,授予在工程領域內從事研究、實踐和教育並有傑出貢獻的人士,是工程學界的最高榮譽。高民環博士以輕巧型 GPS 系統發展及商用推廣的卓越貢獻獲此殊榮。
2007
Clifton A. Pemble 受任為總裁與營運長。
2007
Clifton A. Pemble 受任為總裁與營運長。
Clifton 於 1989 年加入 Garmin,擔任軟體工程師,是最資深員工之一。歷任系統工程及軟體工程管理等職務,展現專業及領導多方面長才。Clifton 於 2013 年接替創辦人高民環博士,就任 Garmin 執行長。
2003
全球第一款腕表式健身導航產品 Forerunner 問世。這只歷史性的跑錶,不能不提它的傳奇身世。GPS 綁在手上的故事。
2003
全球第一款腕錶式健身導航產品 Forerunner 問世。這歷史性的跑錶,不能不提它的傳奇身世。GPS 綁在手上的故事。
由我們熱愛跑步的 Garmin 工程師,在某次測試中突發奇想,將登山用的 GPS 綁在手腕上,意外發現距離和速度的效能非常出色,這給了他一個靈感—何不把可攜式 GPS 做成跑步訓練裝置呢?靈光乍現就此催生了 Forerunner 201。
2001
全球第一台具語音播報功能的可攜式導航產品 StreetPilot
®
III。
2001
全球第一台具語音播報功能的可攜式導航產品 StreetPilot
®
III。
「提供必要資訊,讓使用者專注駕駛」是導航產品的重大使命。 StreetPilot III 賦予每雙握方向盤的手無比信心—輕鬆設定,就能上路。不只提供最短路徑、最快路徑等不同資訊;遇前方路口轉彎、偏移預設路徑情形時,會以語音提示,全程引導安抵目的地。
2000
美國政府取消干擾民用 GPS 訊號,GPS 定位效果大幅提升。
2000
美國政府取消干擾民用 GPS 訊號,GPS 定位效果大幅提升。
GPS 信號可分為民用的標準定位服務 (SPS) 和軍用的精確定位服務 (PPS)。美國政府為避免敵對國或組織利用 SPS 發動攻擊,就透過干擾降低 SPS 精度到 100 公尺以下,PPS 精度則為 10 公尺以下。2000 年 5 月,美國政府決定取消對民用訊號的選擇性干擾,GPS 商用的黃金時代就此到來。
1998
全球第一台結合手機功能的 GPS 產品 NavTalk
®
。
1998
全球第一台結合手機功能的 GPS 產品 NavTalk
®
。
領先業界結合通話與衛星定位功能,搭載高解析螢幕,能即時顯示發話地點;尖端 12 頻接收器,與享譽全球的 GPS III
®
Plus 同款,訊息清晰穩定;內建地圖涵蓋美加及南美洲公路網完整圖資。讓戶外活動多一層保障,更是野外求生不可或缺。
1993
全球第一台航空用可攜式產品 GPS 95。
1993
全球第一台航空用可攜式產品 GPS 95。
在多數人對航空、導航還很陌生的年代,GPS 95 已能追蹤高達 8 顆衛星,並持續修正路徑;領先業界的圖像化螢幕顯示讓操作更直覺;儲存 500 筆使用者路線及多種返航路徑。資訊涵蓋飛航距離、時間及油耗預估,出發地與目的地日出及日落時間、降落前密度高度推估、即時飛行速度顯示等,以實用功能和簡易操作大受飛行員好評。
探索極智 豈止創新
Innovations
「垂直整合」是 Garmin 一大特色。
親力親為,從研發、製造、銷售到客服,每個環節都不假手他人,讓我們創造了巨大的產品優勢。
研發與製造的密切溝通,讓我們得以深入掌握材質、零件及製程的環節並達到優化;
透過機構設計,消除不同裝置彼此間的干擾、甚至採用更高容量的電池,卻不因此犧牲輕薄;
透過加速度計、陀螺儀與磁力計搭配共同使用,就可明確感測出本身移動的方向和角度等資訊,
上下樓梯、運動方式等,説明 GPS 增加定位精準度。
深入了解 Garmin 技術
全球佈局
Global for Local
Garmin 產品足跡遍及全球。垂直整合的堅持始終如一,
結合研發、製造、銷售到客服,打造優異產品。也是創造使用者滿意的秘訣。
全球據點數
89
全球員工人數
>
22000
台灣國際航電股份有限公司 (汐止)
新北市汐止區樟樹二路68號
電話:+886 2-26428999
傳真:+886 2-26429099
台灣國際航電股份有限公司 (汐止遠雄U-TOWN)
新北市汐止區新台五路一段97號37樓
電話:+886 2-21653069
傳真:+886 2-26429099
台灣國際航電股份有限公司 (新店)
新北市新店區寶高路28號9樓
電話:+886 2-80010806
台灣國際航電股份有限公司 (林口)
桃園市龜山區華亞二路270號
電話:+886 3-3187099
傳真:+886 3-3187199
台灣國際航電股份有限公司 (中壢)
桃園市中壢區北園路24號
電話:+886 3-4622999
傳真:+886 3-4620570
台灣國際航電股份有限公司 (台南)
台南市新市區堤塘港路3號
電話:+886 6-5889909
傳真:+886 6-5025200
北京佳明航電科技有限公司
北京市朝陽區酒仙橋路14號兆維塔樓2層北側201室
郵編:100015
客服:400-819-1899
總機:+86 10-84475550
傳真:+86 10-84475030
上海佳明航電企業管理有限公司
上海市徐匯區桂平路391號新漕河涇國際商務中心A座37樓
郵編:200233
客服:400-819-1899
總機:+86 21-60737675
傳真:+86 21-61675039
成都佳明航電科技有限公司
四川省成都市高新區天華二路219號天府軟體園C區11棟3樓
郵編:610041
客服:400-819-1899
電話:+86 28-85171113
揚州佳明航電科技有限公司
江蘇省揚州市經濟開發區八里鎮金山路122號
郵編:225131
客服:400-819-1899
電話:+86 514-82169818
ガーミンジャパン株式会社 ふじみ野オフィス
〒354-0036 埼玉県富士見市ふじみ野東1-7-6
カスタマーサービス:0570-049530 (ナビダイヤル)
受注窓口:049-267-9141
ガーミンジャパン株式会社 横浜みなとみらいオフィス
〒231-0062 神奈川県横浜市中区桜木町一丁目1番7号ヒューリックみなとみらい12階
カスタマーサービス:0570-049530 (ナビダイヤル)
受注窓口:049-267-9141
ガーミンジャパン株式会社 Auto OEMオフィス
〒231-0021 神奈川県横浜市中区日本大通11番地 横浜情報文化センター12階
Garmin Korea Ltd.
4F,21(Samseongdong),Teheran-ro 87-gil,Gangnam-gu,Seoul,
Republic of Korea.
Phone: +82 -2-2141-5800
Fax: +82-2-568-5883
Garmin (Thailand) Ltd.
1788 SINGHA COMPLEX Building, 31st Floor, Unit 3107-3109, New Petchaburi Road, Bangkapi, Huai Kwang, Bangkok 10310, Thailand
Phone: +66 2 262-8999
CÔNG TY TNHH GARMIN VIỆT NAM
Phòng số 2, 3, 4, Lầu 16, Tòa nhà Phú Mỹ Hưng, Số 08, Đường Hoàng Văn Thái, Khu phố 1, Phường Tân Phú, Quận 7, Thành phố Hồ Chí Minh (Unit 2, 3, 4, 16th Floor, Phu My Hung Tower, No. 08, Hoang Van Thai Street, Quarter 1, Tan Phu Ward, District 7, Ho Chi Minh City, Vietnam)
Tax Code: 0316546099
Phone: +84 28 54143899
Garmin International, Inc.
1200 E. 151st St.
Olathe, KS 66062-3426 (Kansas City metro area)
Phone: (913) 397-8200
Fax: (913) 397-8282
Garmin AT, Inc.
2345 Turner Road SE
Salem, OR 97302
Phone: U.S. & International (503) 391-3411
Fax: (503) 364-2138
Garmin (Europe) Ltd.
Liberty House Hounsdown Business Park, Southampton, SO40 9LR, UK
Phone: +44 (0) 23 8052 4000
Fax: +44 (0) 23 8052 4004
Garmin Switzerland GmbH
Mühlentalstrasse 2, 8200 Schaffhausen Switzerland
Garmin Deutschland GmbH
Parkring 35, 85748 Garching Bei Munchen, Germany
Garmin France SAS
55 av. Des Champs Pierreux, 92000 Nanterre, France
訂閱電子報
Cookie Preferences
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:57:27 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 6/21 個網址
2025-10-13 21:57:27 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps
2025-10-13 21:57:27 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps 的第 1/3 次請求
2025-10-13 21:57:27 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6f2fb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5e4c26c1af90f05fd96233b8b5b1de72
2025-10-13 21:57:27 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d70eb2d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5e4c26c1af90f05fd96233b8b5b1de72
2025-10-13 21:57:27 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d70eab50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5e4c26c1af90f05fd96233b8b5b1de72
2025-10-13 21:57:27 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:57:27 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:57:27 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:57:27 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x56a5581844e3 <unknown>
#1 0x56a557eb3c76 <unknown>
#2 0x56a557edcd78 <unknown>
#3 0x56a557ed9029 <unknown>
#4 0x56a557f17ccc <unknown>
#5 0x56a557f1747f <unknown>
#6 0x56a557f0ede3 <unknown>
#7 0x56a557ee42dd <unknown>
#8 0x56a557ee534e <unknown>
#9 0x56a5581443e4 <unknown>
#10 0x56a5581483d7 <unknown>
#11 0x56a558152b20 <unknown>
#12 0x56a558149023 <unknown>
#13 0x56a5581171aa <unknown>
#14 0x56a55816d6b8 <unknown>
#15 0x56a55816d847 <unknown>
#16 0x56a55817d243 <unknown>
#17 0x7c881b094ac3 <unknown>
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:57:27 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:57:28 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:57:28 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps
2025-10-13 21:57:31 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps
2025-10-13 21:57:31 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:57:31 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:57:31 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:57:31 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps
2025-10-13 21:57:33 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: vue, jquery
2025-10-13 21:57:33 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa
2025-10-13 21:57:33 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略
2025-10-13 21:57:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 6/21
2025-10-13 21:57:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:57:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:57:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 152.5MB, CPU 0.0%
2025-10-13 21:57:37 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 172.4MB, CPU 0.0%
2025-10-13 21:57:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 6/21
2025-10-13 21:57:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 6/21
2025-10-13 21:58:03 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 230
2025-10-13 21:58:04 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 331
2025-10-13 21:58:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 6/21
2025-10-13 21:58:06 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 331,內容可能已加載完成
2025-10-13 21:58:06 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:58:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:58:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:58:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:58:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:58:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:58:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:58:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:58:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:58:09 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失
2025-10-13 21:58:09 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失
2025-10-13 21:58:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 6/21
2025-10-13 21:58:18 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps (實際 URL: https://www.garmin.com.tw/products/marine-cartography/?cat=third-party-marine-maps)
2025-10-13 21:58:18 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:58:18 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:58:18 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:58:18 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 208171 字節
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 254 字節
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 931 字節
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 647 字節
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1322 字節,約 209 個詞,79 行
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
航海地圖(非Garmin 航圖機)
提供多款航圖機適用的海圖與地圖
Navionics+ 海圖提供整合的海洋內容,詳細呈現海岸地形以及全球數千條河流、海灣和湖泊。我們的高級版本,Navionics Platinum+ 海圖,包含 Navionics+ 圖表的所有內容,並提供高解析度陰影、衛星影像、航拍照片等更多觀賞選項(請參見比較)。這些產品是大多數熱門品牌航圖機的最佳選擇(請檢查兼容性)。注意:如果您擁有 Garmin 航圖機,您會想選擇我們的
Garmin Navionics+ charts
圖表。
請選擇分類
+
Garmin Navionics+ Cartography
8
+
航海地圖(非Garmin 航圖機)
7
Yellow Sea - Marine Charts
Taiwan - Marine Charts
South China & Andaman Seas - Marine Charts
Philippines - Marine Charts
Indian Subcontinent - Marine Charts
Japan - Lakes and Coastal Marine Charts
China Sea & Japan - Marine Charts
最多比較
4
項產品
功能比較
清除全部
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:58:19 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 7/21 個網址
2025-10-13 21:58:19 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment
2025-10-13 21:58:19 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment 的第 1/3 次請求
2025-10-13 21:58:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d6f03710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8c2d9cf9d70cae83167ed92752a479b1
2025-10-13 21:58:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d737a850>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8c2d9cf9d70cae83167ed92752a479b1
2025-10-13 21:58:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d737b5d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8c2d9cf9d70cae83167ed92752a479b1
2025-10-13 21:58:19 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:58:19 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:58:19 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:58:19 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:58:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:58:19 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:58:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:58:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:58:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:58:20 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:58:20 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x581cf7cb24e3 <unknown>
#1 0x581cf79e1c76 <unknown>
#2 0x581cf7a0ad78 <unknown>
#3 0x581cf7a07029 <unknown>
#4 0x581cf7a45ccc <unknown>
#5 0x581cf7a4547f <unknown>
#6 0x581cf7a3cde3 <unknown>
#7 0x581cf7a122dd <unknown>
#8 0x581cf7a1334e <unknown>
#9 0x581cf7c723e4 <unknown>
#10 0x581cf7c763d7 <unknown>
#11 0x581cf7c80b20 <unknown>
#12 0x581cf7c77023 <unknown>
#13 0x581cf7c451aa <unknown>
#14 0x581cf7c9b6b8 <unknown>
#15 0x581cf7c9b847 <unknown>
#16 0x581cf7cab243 <unknown>
#17 0x7ec320894ac3 <unknown>
2025-10-13 21:58:20 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:58:20 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:58:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:58:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment
2025-10-13 21:58:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 7/21
2025-10-13 21:58:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 7/21
2025-10-13 21:58:37 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment
2025-10-13 21:58:37 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:58:37 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:58:37 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:58:37 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment
2025-10-13 21:58:39 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: vue, jquery
2025-10-13 21:58:39 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa
2025-10-13 21:58:39 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略
2025-10-13 21:58:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 7/21
2025-10-13 21:58:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 7/21
2025-10-13 21:59:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 7/21
2025-10-13 21:59:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.1MB, CPU 0.0%
2025-10-13 21:59:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.8MB, CPU 0.0%
2025-10-13 21:59:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 152.5MB, CPU 0.0%
2025-10-13 21:59:07 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 172.4MB, CPU 0.0%
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:59:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-13 21:59:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-13 21:59:09 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1796
2025-10-13 21:59:10 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 438
2025-10-13 21:59:12 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 438,內容可能已加載完成
2025-10-13 21:59:12 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 21:59:15 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失
2025-10-13 21:59:15 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失
2025-10-13 21:59:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 7/21
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment (實際 URL: https://www.garmin.com.tw/products/onthewater/?cat=fusion-audio-entertainment)
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 123230527530112: 關閉 WebDriver 實例
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 247727 字節
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 262 字節
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2871 字節
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2726 字節
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 379 字節
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 3262 字節,約 433 個詞,169 行
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: This site uses cookies and related technologies for site operation, analytics, and third party advertising purposes. You may choose to consent to our use of these technologies, reject non-essential technologies, or further manage your preferences.
Privacy Policy
Accept
Decline
Manage Settings
跳過導航連結
服務支援
客戶服務支援中心
維修服務
智能客服
帳戶資訊
查詢訂單
登入
0
Total items in cart: 0
Fusion 航海娛樂系統
裝載一流的船上影音娛樂設備,以悠揚樂曲陪伴您徜徉水上的時間。
請選擇分類
+
漁業用設備
17
+
航圖機 & 魚探機
29
+
聲納模組
6
+
探頭
90
+
即時動態聲納
8
+
風速儀 & 顯示儀器
20
+
無線電通訊
10
+
天線與感測器
8
+
自動舵
25
+
Fusion 航海娛樂系統
22
+
數位開關
2
+
多功能網路型產品
7
+
雷達
7
+
帆船產品
25
+
手持與穿戴式裝置
5
+
電動船外機
4
+
攝影機
3
+
應用程式
2
Fusion Apollo MS-RA800 Marine Stereo
頂級觸控式音響系統,內建 Wi-Fi 連線功能。
Fusion Apollo MS-RA800 是一款船用音響,具備強大的內建擴大器、支援 AirPlay® 音訊串流的 Wi-Fi 連線功能,以及高解析度顯示螢幕。
Fusion Apollo Subwoofer
不僅要聽見音樂,更要感受音樂。透過 Fusion Apollo 海洋超低音揚聲器,沉浸於水上環繞的高保真低音體驗。隨附的運動白或運動灰護網,為您的船隻增添風采,完美呈現個性化風格。
Fusion Apollo Speakers
透過 Fusion Apollo 船用揚聲器,沉浸於水上環繞的高保真音效中。隨附的運動白或運動灰揚聲器護網,完美襯托您的船艦風格。
Fusion NRX 有線遙控器
Fusion NRX300 有線遙控器可讓您在船上的任何區域新增本地化音訊控制
Fusion Apollo MS-WB675 Marine Hideaway Stereo
是一款設計小巧的隱藏式音響,能帶來卓越音質,4 個獨立聆聽區域,並能透過 Apple AirPlay® 2 串流音樂
Fusion MS-WB675 是一款設計小巧的隱藏式音響,能帶來卓越音質,4 個獨立聆聽區域,並能透過 Apple AirPlay® 2 串流音樂。
Fusion EL Series Marine Speakers
EL Series 揚聲器經特殊設計,可在船上傳遞優質音效及多色 RGB LED 照明
Fusion EL Series Marine Speakers
利用 Fusion 的 EL 系列揚聲器欣賞優質音訊與多色 RGB LED 照明,以強化您的航行體驗
Fusion Signature Series 3i Marine Coaxial Speakers
Signature Series 3i 重低音揚聲器透過頂級的低頻表現重現音樂的震撼效果,提升您的聆聽體驗
Fusion Signature Series 3i Marine Subwoofers
Signature Series 3i 重低音揚聲器透過頂級的低頻表現重現音樂的震撼效果,提升您的音質享受
Fusion Signature Series 3i Marine Wake Tower Speakers
穿梭驚濤駭浪。 利用 Signature Series 3i 滑水架揚聲器,在尾波上享受清晰無比的音質
Fusion 手持式麥克風
Fusion 手持式麥克風可讓您透過船上音訊娛樂系統發布通知
Fusion Signature 系列船用擴大機
Signature 系列船用擴大機專為航海環境而設計,可在水上展現 Signature 的出色性能
Signature 系列船用擴大機專為航海環境而設計,可在水上展現 Signature 的出色性能。
Fusion Signature Series 3 船用揚聲器
船用揚聲器
Fusion Signature Series 3 船用揚聲器即使身處在惡劣的海洋環境,也能提供無與倫比的高性能。
Fusion Signature Series 3 船用揚聲器即使身處在惡劣的海洋環境,也能提供無與倫比的高性能。
Fusion Apollo 船用擴大機
由於您在乎所使用的船用音響系統,所以您需要功能強大的單聲道、多聲道或區域擴大機,讓您的音樂宛如現場演奏
由於您在乎所使用的船用音響系統,所以您需要功能強大的單聲道、多聲道或區域擴大機,讓您的音樂宛如現場演奏。
Fusion RA70 系列船用音響
Fusion 的 RA70 系列包括三個 DIN 尺寸的船用音響,設計宗旨為以超值的價格提供優質的水上音訊娛樂體驗
Fusion RA210 船用音響
Fusion 的 MS-RA210 小巧型船用音響採用現代設計美學與內建 DSP 技術,可提供最佳音訊娛樂體驗
Fusion Apollo 系列船用音響
全球首款配備 AirPlay® 軟體功能和內建 Wi-Fi® 連線功能的觸控螢幕式船用音響,以革命性的技術及創新的設計重新定義了音訊的卓越程度
Fusion Apollo RA770 是一款船用娛樂系統,並配備全球首款具 AirPlay® 2 軟體功能和內建 Wi-Fi® 連線的觸控螢幕式船用音響。
Fusion XS系列船用揚聲器
透過 Fusion 的 XS 系列揚聲器,等同以中價位享受高性能的音響效果、增強的環境防護與多色 RGB LED 照明
Fusion Panel-Stereo
Fusion Panel-Stereo 是一套隨插即用的多合一解決方案,適用於水上高品質音訊娛樂
Fusion Apollo 船用音響
身為 Apollo RA770 的最佳拍檔,Apollo SRX400 區域音響系統在小巧的外形中結合了優質設計與卓越音質
Fusion ARX 無線遙控器
身為 Apollo RA770 的最佳拍檔,Apollo SRX400 區域音響系統在小巧的外形中結合了優質設計與卓越音質
Fusion MS-RA60 船用音響
MS-RA60 是一款經濟型船用音響,具備現代美學、多區域技術與先進的連線選項
MS-RA60 是一款經濟型船用音響,具備現代美學、多區域技術與先進的連線選項。
最多比較
4
項產品
功能比較
清除全部
額外的結構化內容:
• 客戶服務支援中心
• 維修服務
• 智能客服
• 購物說明
• 聯絡我們
• 品牌體驗店
• 尋找門市
• 最新優惠
• 關於我們
• 加入 Garmin
• 新鮮人與實習生專區
• 新聞稿
• 投資情報
• 永續發展
• Garmin 部落格
• Garmin Connect
• Garmin Express
• Garmin Explore
• Connect IQ
• Garmin Sports
• flyGarmin
• Garmin Health 企業解決方案
• Automotive OEM 解決方案
• 開發人員
• 業務合作
• 技術合作
• Garmin on Facebook
• Garmin on YouTube
• Garmin on Instagram
• 網站地圖
• 使用條款
• 隱私權聲明
• 資訊安全
2025-10-13 21:59:25 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=72):已完成 8/21 個網址
2025-10-13 21:59:25 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.garmin.com.tw/products/wearables/?cat=activity_tracking
2025-10-13 21:59:25 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.garmin.com.tw/products/wearables/?cat=activity_tracking, use_selenium=True, proxy=False, force_new_driver=False
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.garmin.com.tw/products/wearables/?cat=activity_tracking 的第 1/3 次請求
2025-10-13 21:59:25 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d7c0cfd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f2b419bb7200fbbb5480d0c8b2350610
2025-10-13 21:59:25 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d7384d10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f2b419bb7200fbbb5480d0c8b2350610
2025-10-13 21:59:25 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7013d7160e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f2b419bb7200fbbb5480d0c8b2350610
2025-10-13 21:59:25 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-13 21:59:25 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-13 21:59:25 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-13 21:59:25 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-13 21:59:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:59:25 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-13 21:59:25 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-13 21:59:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:59:26 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-13 21:59:26 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-13 21:59:26 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5fe74c7e74e3 <unknown>
#1 0x5fe74c516c76 <unknown>
#2 0x5fe74c53fd78 <unknown>
#3 0x5fe74c53c029 <unknown>
#4 0x5fe74c57accc <unknown>
#5 0x5fe74c57a47f <unknown>
#6 0x5fe74c571de3 <unknown>
#7 0x5fe74c5472dd <unknown>
#8 0x5fe74c54834e <unknown>
#9 0x5fe74c7a73e4 <unknown>
#10 0x5fe74c7ab3d7 <unknown>
#11 0x5fe74c7b5b20 <unknown>
#12 0x5fe74c7ac023 <unknown>
#13 0x5fe74c77a1aa <unknown>
#14 0x5fe74c7d06b8 <unknown>
#15 0x5fe74c7d0847 <unknown>
#16 0x5fe74c7e0243 <unknown>
#17 0x78a25ae94ac3 <unknown>
2025-10-13 21:59:26 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-13 21:59:26 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-13 21:59:26 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-13 21:59:26 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.garmin.com.tw/products/wearables/?cat=activity_tracking
2025-10-13 21:59:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 8/21
2025-10-13 21:59:29 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.garmin.com.tw/products/wearables/?cat=activity_tracking
2025-10-13 21:59:29 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-13 21:59:29 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-13 21:59:29 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-13 21:59:29 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.garmin.com.tw/products/wearables/?cat=activity_tracking
2025-10-13 21:59:31 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: vue, jquery
2025-10-13 21:59:31 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa
2025-10-13 21:59:31 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略
2025-10-13 21:59:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 8/21
2025-10-13 21:59:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 8/21
2025-10-13 21:59:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 8/21
2025-10-13 22:00:02 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1575
2025-10-13 22:00:03 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 510
2025-10-13 22:00:05 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 510,內容可能已加載完成
2025-10-13 22:00:05 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-13 22:00:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 72, UID: d6wu7ro9c7, 進度: 8/21
2025-10-13 22:00:08 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失
2025-10-13 22:00:08 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失
2025-10-13 22:00:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 22:00:08 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251013_21.log,新:20251013_22.log
2025-10-13 22:00:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 22:00:08 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251013_21.log,新:20251013_22.log
2025-10-13 22:00:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 22:00:09 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251013_21.log,新:20251013_22.log
2025-10-13 22:00:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-13 22:00:09 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251013_21.log,新:20251013_22.log