日誌查看 - 20251014_13.log
文件大小: 345.17 KB 最後修改: 2025-10-14 14:00:59
2025-10-14 13:00:48 - 初始化新小時日誌檔案 2025-10-14 13:00:48 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_13.log 2025-10-14 13:00:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 13:00:48 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_13.log 2025-10-14 13:00:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:00:54 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_13.log 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:00:54 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_13.log 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:00:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.13 秒,結果: 0 2025-10-14 13:01:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:01:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:01:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:01:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:01:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:01:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:01:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:01:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:01:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:02:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:03:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:04:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:04:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:04:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:04:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:04:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:04:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:04:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:04:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:04:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:05:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:05:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:05:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:05:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:05:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:05:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:05:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:05:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:05:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:06:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:07:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:07:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:07:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:07:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:07:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:07:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:07:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:07:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:07:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:08:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:09:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:09:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:10:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:10:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:10:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:10:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:10:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 13:10:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 13:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:11:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:12:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:13:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:13:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:13:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:13:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:13:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:13:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:13:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:13:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:13:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:14:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:15:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:15:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:15:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:15:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:15:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:16:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:16:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:16:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:16:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:16:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:16:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:16:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:16:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:16:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:16:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:16:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:16:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:16:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:16:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:16:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:16:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:17:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:18:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:19:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:19:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:19:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:19:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:19:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:19:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:19:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:19:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:19:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:20:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:20:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:20:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:20:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.13 秒,結果: 0 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0 2025-10-14 13:20:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.15 秒,結果: 0 2025-10-14 13:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:21:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:22:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:22:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:22:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:22:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:22:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:22:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:22:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:22:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:22:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:23:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:24:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:25:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:25:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:25:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:25:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:25:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:25:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0 2025-10-14 13:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:26:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:27:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:28:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:28:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:28:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:28:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:28:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:28:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:28:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:28:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:28:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:29:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:30:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:30:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:30:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:30:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.13 秒,結果: 0 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.13 秒,結果: 0 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.13 秒,結果: 0 2025-10-14 13:30:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0 2025-10-14 13:30:58 - 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-14 13:31:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:31:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:31:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:31:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:31:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:31:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:31:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:31:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:31:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:32:29 - 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-14 13:32:41 - 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-14 13:32:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:32:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:33:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:34:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:34:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:34:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:34:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:34:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:34:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:34:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:34:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:34:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:35:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:35:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:35:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:35:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:35:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:35:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:35:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:35:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.15 秒,結果: 0 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.15 秒,結果: 0 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.15 秒,結果: 0 2025-10-14 13:35:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.15 秒,結果: 0 2025-10-14 13:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:36:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:37:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:37:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:37:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:37:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:37:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:37:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:37:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:37:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:37:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:38:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:39:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:39:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:40:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:40:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:40:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:40:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:40:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:40:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:40:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:40:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:40:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:40:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:40:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:40:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:40:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:40:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:40:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:40:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:40:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:41:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:42:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:43:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:43:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:43:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:43:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:43:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:43:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:43:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:43:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:43:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:44:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:45:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:45:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:45:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:45:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:45:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:45:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:45:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:45:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0 2025-10-14 13:45:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 13:46:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:46:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:46:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:46:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:46:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:46:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:46:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:46:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:46:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:47:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.1MB, CPU 0.0% 2025-10-14 13:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:48:48 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: 6whnxvhxhh 2025-10-14 13:48:48 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://yuefacai.com/,結果將立即顯示 2025-10-14 13:48:48 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 73, Phone: 0916002161, Email: amw1002667@gmail.com 2025-10-14 13:48:48 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=73, URL=https://yuefacai.com/ 2025-10-14 13:48:48 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-14 13:48:48 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 73 2025-10-14 13:48:48 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://yuefacai.com/ 2025-10-14 13:48:48 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-14 13:48:48 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:48:48 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:48:48 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/ 的第 1/3 次請求 2025-10-14 13:48:48 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:48:48 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:48:48 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:48:48 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:48:48 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:48:48 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:48:48 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:48:48 - 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-14 13:48:48 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:48:48 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:48:48 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:48:49 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:48:49 - 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 0x5fb6ac25a4e3 <unknown> #1 0x5fb6abf89c76 <unknown> #2 0x5fb6abfb2d78 <unknown> #3 0x5fb6abfaf029 <unknown> #4 0x5fb6abfedccc <unknown> #5 0x5fb6abfed47f <unknown> #6 0x5fb6abfe4de3 <unknown> #7 0x5fb6abfba2dd <unknown> #8 0x5fb6abfbb34e <unknown> #9 0x5fb6ac21a3e4 <unknown> #10 0x5fb6ac21e3d7 <unknown> #11 0x5fb6ac228b20 <unknown> #12 0x5fb6ac21f023 <unknown> #13 0x5fb6ac1ed1aa <unknown> #14 0x5fb6ac2436b8 <unknown> #15 0x5fb6ac243847 <unknown> #16 0x5fb6ac253243 <unknown> #17 0x7db936694ac3 <unknown> 2025-10-14 13:48:49 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:48:49 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:48:49 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:48:49 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/ 2025-10-14 13:48:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 0/1 2025-10-14 13:48:57 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/ 2025-10-14 13:48:57 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:48:57 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:48:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:49:00 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:49:00 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/ 2025-10-14 13:49:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 0/1 2025-10-14 13:49:02 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:49:02 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:49:02 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:49:02 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:49:02 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:49:06 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 307 2025-10-14 13:49:08 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 307,內容可能已加載完成 2025-10-14 13:49:08 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:49:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 0/1 2025-10-14 13:49:14 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:49:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 0/1 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/ (實際 URL: https://yuefacai.com/) 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:49:23 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:49:24 - INFO - database - [database.py:505] - update_url_status - URL ID 73 状态已更新为 processing 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 220234 字節 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1014 字節 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2877 字節 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2677 字節 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:49:24 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://yuefacai.com/, HTML 內容大小=220234 字節 2025-10-14 13:49:24 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://yuefacai.com/, 發現問題數=8, 嚴重問題數=4, 耗時=0.047秒 2025-10-14 13:49:24 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(4), form(3), password_field(1) 2025-10-14 13:49:24 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(4), warning(4) 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 51 個內部鏈接 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2371] - should_skip_url - 跳過低價值URL: https://yuefacai.com/privacy-policy/ (匹配模式: /privacy) 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2683] - find_internal_links - 鏈接數量 (50) 超過限制 (20),進行截斷 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 20 個有效內部鏈接 2025-10-14 13:49:24 - INFO - main - [url_processor.py:153] - process_url - 找到 20 個內部鏈接,最大深度2層 2025-10-14 13:49:24 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=73):總計 21 個網址,已完成 1 個(主頁面) 2025-10-14 13:49:24 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com 2025-10-14 13:49:24 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com 的第 1/3 次請求 2025-10-14 13:49:24 - 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 0x7e13586bb4d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/41eac7a7e809dfd54a4ba2faacdd9479 2025-10-14 13:49:24 - 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 0x7e13586bbc50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/41eac7a7e809dfd54a4ba2faacdd9479 2025-10-14 13:49:24 - 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 0x7e13586cc590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/41eac7a7e809dfd54a4ba2faacdd9479 2025-10-14 13:49:24 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:49:24 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:49:24 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:49:24 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:49:24 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:49:24 - 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-14 13:49:24 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:49:24 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:49:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:49:25 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:49:25 - 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 0x589fb56e34e3 <unknown> #1 0x589fb5412c76 <unknown> #2 0x589fb543bd78 <unknown> #3 0x589fb5438029 <unknown> #4 0x589fb5476ccc <unknown> #5 0x589fb547647f <unknown> #6 0x589fb546dde3 <unknown> #7 0x589fb54432dd <unknown> #8 0x589fb544434e <unknown> #9 0x589fb56a33e4 <unknown> #10 0x589fb56a73d7 <unknown> #11 0x589fb56b1b20 <unknown> #12 0x589fb56a8023 <unknown> #13 0x589fb56761aa <unknown> #14 0x589fb56cc6b8 <unknown> #15 0x589fb56cc847 <unknown> #16 0x589fb56dc243 <unknown> #17 0x71a555294ac3 <unknown> 2025-10-14 13:49:25 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:49:25 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:49:25 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:49:25 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com 2025-10-14 13:49:30 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com 2025-10-14 13:49:30 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:49:30 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:49:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 1/21 2025-10-14 13:49:33 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:49:33 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com 2025-10-14 13:49:35 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:49:35 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:49:35 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:49:35 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:49:35 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:49:39 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 307 2025-10-14 13:49:41 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 307,內容可能已加載完成 2025-10-14 13:49:41 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:49:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 1/21 2025-10-14 13:49:47 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:49:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 1/21 2025-10-14 13:49:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:49:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:49:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:49:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:49:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:49:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:49:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:49:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com (實際 URL: https://yuefacai.com/) 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 220234 字節 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1014 字節 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2877 字節 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2677 字節 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:49:56 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 2/21 個網址 2025-10-14 13:49:56 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/ 2025-10-14 13:49:56 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/ 的第 1/3 次請求 2025-10-14 13:49:56 - 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 0x7e1359ecffd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/33034d7f2b1df23305590123753c49f9 2025-10-14 13:49:56 - 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 0x7e1358dcc050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/33034d7f2b1df23305590123753c49f9 2025-10-14 13:49:56 - 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 0x7e1358dccf50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/33034d7f2b1df23305590123753c49f9 2025-10-14 13:49:56 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:49:56 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:49:56 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:49:56 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:49:57 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:49:57 - 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-14 13:49:57 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:49:57 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:49:57 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:49:57 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:49:57 - 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 0x5b769201d4e3 <unknown> #1 0x5b7691d4cc76 <unknown> #2 0x5b7691d75d78 <unknown> #3 0x5b7691d72029 <unknown> #4 0x5b7691db0ccc <unknown> #5 0x5b7691db047f <unknown> #6 0x5b7691da7de3 <unknown> #7 0x5b7691d7d2dd <unknown> #8 0x5b7691d7e34e <unknown> #9 0x5b7691fdd3e4 <unknown> #10 0x5b7691fe13d7 <unknown> #11 0x5b7691febb20 <unknown> #12 0x5b7691fe2023 <unknown> #13 0x5b7691fb01aa <unknown> #14 0x5b76920066b8 <unknown> #15 0x5b7692006847 <unknown> #16 0x5b7692016243 <unknown> #17 0x7d1c09a94ac3 <unknown> 2025-10-14 13:49:57 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:49:57 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:49:58 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:49:58 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/ 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:49:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:50:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 2/21 2025-10-14 13:50:01 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/ 2025-10-14 13:50:01 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:50:02 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 157.8MB, CPU 0.0% 2025-10-14 13:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:50:05 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:50:05 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/ 2025-10-14 13:50:07 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:50:07 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:50:07 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:50:07 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:50:07 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:50:11 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 307 2025-10-14 13:50:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 2/21 2025-10-14 13:50:13 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 307,內容可能已加載完成 2025-10-14 13:50:13 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:50:19 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:50:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 2/21 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/ (實際 URL: https://yuefacai.com/) 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 220234 字節 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1014 字節 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2877 字節 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2677 字節 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:50:28 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 3/21 個網址 2025-10-14 13:50:28 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product/terahertz-little-god-blows/ 2025-10-14 13:50:28 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product/terahertz-little-god-blows/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product/terahertz-little-god-blows/ 的第 1/3 次請求 2025-10-14 13:50:28 - 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 0x7e1358dc0550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/936cc54b50d85904b5c75e32d9579ca9 2025-10-14 13:50:28 - 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 0x7e135926da90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/936cc54b50d85904b5c75e32d9579ca9 2025-10-14 13:50:28 - 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 0x7e135926df50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/936cc54b50d85904b5c75e32d9579ca9 2025-10-14 13:50:28 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:50:28 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:50:28 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:50:28 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:50:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:50:29 - 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-14 13:50:29 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:50:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:50:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:50:29 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:50:29 - 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 0x561d521294e3 <unknown> #1 0x561d51e58c76 <unknown> #2 0x561d51e81d78 <unknown> #3 0x561d51e7e029 <unknown> #4 0x561d51ebcccc <unknown> #5 0x561d51ebc47f <unknown> #6 0x561d51eb3de3 <unknown> #7 0x561d51e892dd <unknown> #8 0x561d51e8a34e <unknown> #9 0x561d520e93e4 <unknown> #10 0x561d520ed3d7 <unknown> #11 0x561d520f7b20 <unknown> #12 0x561d520ee023 <unknown> #13 0x561d520bc1aa <unknown> #14 0x561d521126b8 <unknown> #15 0x561d52112847 <unknown> #16 0x561d52122243 <unknown> #17 0x76768e294ac3 <unknown> 2025-10-14 13:50:29 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:50:29 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:50:30 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:50:30 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/product/terahertz-little-god-blows/ 2025-10-14 13:50:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 3/21 2025-10-14 13:50:34 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/product/terahertz-little-god-blows/ 2025-10-14 13:50:34 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:50:34 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:50:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 3/21 2025-10-14 13:50:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 3/21 2025-10-14 13:50:52 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 13:50:52 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/product/terahertz-little-god-blows/ 2025-10-14 13:50:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:50:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:50:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:50:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:50:54 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:50:54 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:50:54 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:50:54 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:50:54 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:50:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:50:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:50:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:50:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:50:58 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 285 2025-10-14 13:50:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:50:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:50:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:50:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 13:50:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 13:50:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 13:51:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:51:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 13:51:00 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 285,內容可能已加載完成 2025-10-14 13:51:00 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:51:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 3/21 2025-10-14 13:51:06 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:51:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 3/21 2025-10-14 13:51:15 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/product/terahertz-little-god-blows/ (實際 URL: https://yuefacai.com/product/terahertz-little-god-blows/) 2025-10-14 13:51:15 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:51:15 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:51:15 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:51:15 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 240559 字節 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 736 字節 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2152 字節 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2039 字節 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 955 字節 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1922 字節,約 151 個詞,90 行 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 穿透力強:太赫茲光波具較強的穿透力,能深入皮膚和組織。 • 安全性高:太赫茲光波屬於非電離輻射,對人體無電離輻射的危害,使用安全。 • 廣泛應用:可用於疼痛緩解、炎症消除、血液循環改善等。 • 非侵入性:太赫茲光波療法屬於非侵入性治療方式,對身體無創傷。 • 抗菌效果:太赫茲光波具有一定的抗菌效果,能抑制某些病菌的生長。 • 穿透力強:太赫茲光波具有較強的穿透力,能夠深入皮膚和組織。 • 安全性高:太赫茲光波屬於非電離輻射,對人體無電離輻射的危害,使用安全。 • 廣泛應用:可用於疼痛緩解、炎症消除、血液循環改善等用途。 • 非侵入性:太赫茲光波療法屬於非侵入性方式,對身體無創傷。 • 抗菌效果:有研究顯示太赫茲光波具有一定的抗菌效果,能抑制某些病菌的生長。 • 抗炎作用:藍光波對於皮膚炎症具有良好的抑制作用,對痤瘡等皮膚問題有幫助。 • 促進皮膚再生:藍光波能刺激皮膚細胞再生,促進傷口癒合和皮膚修復。 • 抗菌作用:藍光波有很強的抗菌作用,特別是對痤瘡引起的細菌有顯著的抑制效果。 • 美容效果:藍光波常用於美容護理,有助於減少細紋和提升皮膚彈性。 • 安全性高:藍光波治療通常對皮膚無傷害,適合長期使用。 • 促進細胞健康:激活細胞再生,修復受損細胞,消滅壞細胞和變異細胞。 • 疏通經絡與淋巴:深層排寒排濕,改善經絡和淋巴的通暢,促進身體健康。 • 提升精神活力:使用後精神振奮,活力充沛。 • 促進新陳代謝:加速身體代謝,促進循環系統的健康運作。 • 預防壞細胞滋生:創造一個無壞細胞生長的環境,提升免疫力。 • 增強思維和記憶力:有效提高大腦功能,增強思維和記憶能力。 • 提升能量水平:顯著提高個人體能和運動能力。 • 均衡膚色:改善膚色不均,讓氣色更加紅潤明亮。 • 呵護生命線:全方位呵護您的健康,延長生命質量。 • 疼痛症患者:有效緩解各類疼痛症狀。 • 皮膚疾病患者:改善皮膚健康,適用於各種皮膚問題。 • 血管淤堵者:疏通血管,促進血液循環。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 穿透力強:太赫茲光波具較強的穿透力,能深入皮膚和組織。 • 安全性高:太赫茲光波屬於非電離輻射,對人體無電離輻射的危害,使用安全。 • 廣泛應用:可用於疼痛緩解、炎症消除、血液循環改善等。 • 非侵入性:太赫茲光波療法屬於非侵入性治療方式,對身體無創傷。 • 抗菌效果:太赫茲光波具有一定的抗菌效果,能抑制某些病菌的生長。 • 穿透力強:太赫茲光波具有較強的穿透力,能夠深入皮膚和組織。 • 安全性高:太赫茲光波屬於非電離輻射,對人體無電離輻射的危害,使用安全。 • 廣泛應用:可用於疼痛緩解、炎症消除、血液循環改善等用途。 • 非侵入性:太赫茲光波療法屬於非侵入性方式,對身體無創傷。 • 抗菌效果:有研究顯示太赫茲光波具有一定的抗菌效果,能抑制某些病菌的生長。 • 抗炎作用:藍光波對於皮膚炎症具有良好的抑制作用,對痤瘡等皮膚問題有幫助。 • 促進皮膚再生:藍光波能刺激皮膚細胞再生,促進傷口癒合和皮膚修復。 • 抗菌作用:藍光波有很強的抗菌作用,特別是對痤瘡引起的細菌有顯著的抑制效果。 • 美容效果:藍光波常用於美容護理,有助於減少細紋和提升皮膚彈性。 • 安全性高:藍光波治療通常對皮膚無傷害,適合長期使用。 • 促進細胞健康:激活細胞再生,修復受損細胞,消滅壞細胞和變異細胞。 • 疏通經絡與淋巴:深層排寒排濕,改善經絡和淋巴的通暢,促進身體健康。 • 提升精神活力:使用後精神振奮,活力充沛。 • 促進新陳代謝:加速身體代謝,促進循環系統的健康運作。 • 預防壞細胞滋生:創造一個無壞細胞生長的環境,提升免疫力。 • 增強思維和記憶力:有效提高大腦功能,增強思維和記憶能力。 • 提升能量水平:顯著提高個人體能和運動能力。 • 均衡膚色:改善膚色不均,讓氣色更加紅潤明亮。 • 呵護生命線:全方位呵護您的健康,延長生命質量。 • 疼痛症患者:有效緩解各類疼痛症狀。 • 皮膚疾病患者:改善皮膚健康,適用於各種皮膚問題。 • 血管淤堵者:疏通血管,促進血液循環。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:51:16 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 4/21 個網址 2025-10-14 13:51:16 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/contact-us/ 2025-10-14 13:51:16 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/contact-us/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/contact-us/ 的第 1/3 次請求 2025-10-14 13:51:16 - 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 0x7e1358dc0510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/38fb6bf2aee02e7318ea4685811804f2 2025-10-14 13:51:16 - 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 0x7e1358727a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/38fb6bf2aee02e7318ea4685811804f2 2025-10-14 13:51:16 - 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 0x7e13587273d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/38fb6bf2aee02e7318ea4685811804f2 2025-10-14 13:51:16 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:51:16 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:51:16 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:51:16 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:51:16 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:51:16 - 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-14 13:51:16 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:51:16 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:51:17 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:51:17 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:51:17 - 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 0x6008345f24e3 <unknown> #1 0x600834321c76 <unknown> #2 0x60083434ad78 <unknown> #3 0x600834347029 <unknown> #4 0x600834385ccc <unknown> #5 0x60083438547f <unknown> #6 0x60083437cde3 <unknown> #7 0x6008343522dd <unknown> #8 0x60083435334e <unknown> #9 0x6008345b23e4 <unknown> #10 0x6008345b63d7 <unknown> #11 0x6008345c0b20 <unknown> #12 0x6008345b7023 <unknown> #13 0x6008345851aa <unknown> #14 0x6008345db6b8 <unknown> #15 0x6008345db847 <unknown> #16 0x6008345eb243 <unknown> #17 0x7255c7894ac3 <unknown> 2025-10-14 13:51:17 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:51:17 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:51:17 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:51:17 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/contact-us/ 2025-10-14 13:51:20 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/contact-us/ 2025-10-14 13:51:20 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:51:20 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:51:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 4/21 2025-10-14 13:51:23 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:51:23 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/contact-us/ 2025-10-14 13:51:25 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:51:25 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:51:25 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:51:25 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:51:25 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:51:29 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 108 2025-10-14 13:51:31 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 108,內容可能已加載完成 2025-10-14 13:51:31 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:51:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 4/21 2025-10-14 13:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 158.6MB, CPU 0.0% 2025-10-14 13:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:51:37 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:51:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 4/21 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/contact-us/ (實際 URL: https://yuefacai.com/contact-us/) 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 120072 字節 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 451 字節 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 671 字節 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 484 字節 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:51:46 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 5/21 個網址 2025-10-14 13:51:46 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/?add-to-cart=17699 2025-10-14 13:51:46 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/?add-to-cart=17699, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/?add-to-cart=17699 的第 1/3 次請求 2025-10-14 13:51:46 - 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 0x7e13592e6150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bd40ff8298d754f1abd0db6dd201414d 2025-10-14 13:51:46 - 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 0x7e1358683c50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bd40ff8298d754f1abd0db6dd201414d 2025-10-14 13:51:46 - 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 0x7e1358681190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bd40ff8298d754f1abd0db6dd201414d 2025-10-14 13:51:46 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:51:46 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:51:46 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:51:46 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:51:47 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:51:47 - 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-14 13:51:47 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:51:47 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:51:47 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:51:47 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:51:47 - 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 0x564fa7b7c4e3 <unknown> #1 0x564fa78abc76 <unknown> #2 0x564fa78d4d78 <unknown> #3 0x564fa78d1029 <unknown> #4 0x564fa790fccc <unknown> #5 0x564fa790f47f <unknown> #6 0x564fa7906de3 <unknown> #7 0x564fa78dc2dd <unknown> #8 0x564fa78dd34e <unknown> #9 0x564fa7b3c3e4 <unknown> #10 0x564fa7b403d7 <unknown> #11 0x564fa7b4ab20 <unknown> #12 0x564fa7b41023 <unknown> #13 0x564fa7b0f1aa <unknown> #14 0x564fa7b656b8 <unknown> #15 0x564fa7b65847 <unknown> #16 0x564fa7b75243 <unknown> #17 0x77b674c94ac3 <unknown> 2025-10-14 13:51:47 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:51:47 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:51:48 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:51:48 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/?add-to-cart=17699 2025-10-14 13:51:52 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/?add-to-cart=17699 2025-10-14 13:51:52 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:51:52 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:51:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 5/21 2025-10-14 13:51:55 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:51:55 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/?add-to-cart=17699 2025-10-14 13:51:57 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:51:57 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:51:57 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:51:57 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:51:57 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:51:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:51:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:51:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:51:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:51:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:51:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:52:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:52:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:52:01 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 327 2025-10-14 13:52:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 5/21 2025-10-14 13:52:03 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 327,內容可能已加載完成 2025-10-14 13:52:03 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:52:09 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:52:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 5/21 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/?add-to-cart=17699 (實際 URL: https://yuefacai.com/?add-to-cart=17699) 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 222664 字節 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1014 字節 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2996 字節 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2677 字節 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:52:18 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 6/21 個網址 2025-10-14 13:52:18 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/my-account/ 2025-10-14 13:52:18 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/my-account/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/my-account/ 的第 1/3 次請求 2025-10-14 13:52:18 - 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 0x7e135883fbd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c250074bce95e3bc524ce9bd9bcc066 2025-10-14 13:52:18 - 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 0x7e1358d959d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c250074bce95e3bc524ce9bd9bcc066 2025-10-14 13:52:18 - 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 0x7e1358d95e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c250074bce95e3bc524ce9bd9bcc066 2025-10-14 13:52:18 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:52:18 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:52:18 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:52:18 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:52:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:52: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-14 13:52:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:52:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:52:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:52:19 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:52:19 - 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 0x5b742df914e3 <unknown> #1 0x5b742dcc0c76 <unknown> #2 0x5b742dce9d78 <unknown> #3 0x5b742dce6029 <unknown> #4 0x5b742dd24ccc <unknown> #5 0x5b742dd2447f <unknown> #6 0x5b742dd1bde3 <unknown> #7 0x5b742dcf12dd <unknown> #8 0x5b742dcf234e <unknown> #9 0x5b742df513e4 <unknown> #10 0x5b742df553d7 <unknown> #11 0x5b742df5fb20 <unknown> #12 0x5b742df56023 <unknown> #13 0x5b742df241aa <unknown> #14 0x5b742df7a6b8 <unknown> #15 0x5b742df7a847 <unknown> #16 0x5b742df8a243 <unknown> #17 0x7c247e894ac3 <unknown> 2025-10-14 13:52:19 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:52:19 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:52:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:52:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/my-account/ 2025-10-14 13:52:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 6/21 2025-10-14 13:52:23 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/my-account/ 2025-10-14 13:52:23 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:52:23 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:52:26 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:52:26 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/my-account/ 2025-10-14 13:52:28 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:52:28 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:52:28 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:52:28 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:52:28 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:52:32 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 96 2025-10-14 13:52:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 6/21 2025-10-14 13:52:34 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 96,內容可能已加載完成 2025-10-14 13:52:34 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:52:40 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:52:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 6/21 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/my-account/ (實際 URL: https://yuefacai.com/my-account/) 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 119389 字節 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 257 字節 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 304 字節 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 258 字節 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 117 字節 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 246 字節,約 47 個詞,32 行 2025-10-14 13:52:49 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • • • • • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • • • • • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 2025-10-14 13:52:50 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 7/21 個網址 2025-10-14 13:52:50 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/ 2025-10-14 13:52:50 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:52:50 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:52:50 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 13:52:50 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/ 的第 1/3 次請求 2025-10-14 13:52:50 - 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 0x7e1353653f50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fb2fc20fe524f42551a1ee89cbc04fc7 2025-10-14 13:52:50 - 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 0x7e1359184150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fb2fc20fe524f42551a1ee89cbc04fc7 2025-10-14 13:52:50 - 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 0x7e1359184910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fb2fc20fe524f42551a1ee89cbc04fc7 2025-10-14 13:52:50 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:52:50 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:52:50 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:52:50 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:52:50 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:52:50 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:52:50 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:52:50 - 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-14 13:52:50 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:52:50 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:52:50 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:52:50 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:52: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 0x645682fbe4e3 <unknown> #1 0x645682cedc76 <unknown> #2 0x645682d16d78 <unknown> #3 0x645682d13029 <unknown> #4 0x645682d51ccc <unknown> #5 0x645682d5147f <unknown> #6 0x645682d48de3 <unknown> #7 0x645682d1e2dd <unknown> #8 0x645682d1f34e <unknown> #9 0x645682f7e3e4 <unknown> #10 0x645682f823d7 <unknown> #11 0x645682f8cb20 <unknown> #12 0x645682f83023 <unknown> #13 0x645682f511aa <unknown> #14 0x645682fa76b8 <unknown> #15 0x645682fa7847 <unknown> #16 0x645682fb7243 <unknown> #17 0x742078094ac3 <unknown> 2025-10-14 13:52:51 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:52:51 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:52:51 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:52:51 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/ 2025-10-14 13:52:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 7/21 2025-10-14 13:52:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:52:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:52:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:52:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:52:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:52:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:52:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:52:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:52:55 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/ 2025-10-14 13:52:55 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:52:55 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:52:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:52:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:52:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:52:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:52:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:52:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:53:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:53:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:53:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 7/21 2025-10-14 13:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 178.7MB, CPU 0.0% 2025-10-14 13:53:13 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 13:53:13 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/ 2025-10-14 13:53:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 7/21 2025-10-14 13:53:15 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:53:15 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:53:15 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:53:15 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:53:15 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:53:19 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 252 2025-10-14 13:53:21 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 252,內容可能已加載完成 2025-10-14 13:53:21 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:53:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 7/21 2025-10-14 13:53:27 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:53:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 7/21 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/ (實際 URL: https://yuefacai.com/product/lithium-iron-phosphate-outdoor-power-supply-500w/) 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 245116 字節 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 308 字節 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1794 字節 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1675 字節 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 303 字節 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 618 字節,約 67 個詞,36 行 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 安全性高: 有極高的安全性,不易起火爆炸,即使在極端環境下也能穩定運行,讓您在戶外使用時更加安心。 • 循環壽命長: 相較於其他電池類型,磷酸鐵鋰電池的循環壽命更長,可反覆充放電數千次,大幅延長使用壽命。 • 高溫性能優異: 磷酸鐵鋰電池在高溫環境下的性能表現穩定,不受高溫影響,適合各種戶外使用場景。 • 環境友好: 磷酸鐵鋰電池的生產過程和材料都更加環保,對環境的影響較小。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 安全性高: 有極高的安全性,不易起火爆炸,即使在極端環境下也能穩定運行,讓您在戶外使用時更加安心。 • 循環壽命長: 相較於其他電池類型,磷酸鐵鋰電池的循環壽命更長,可反覆充放電數千次,大幅延長使用壽命。 • 高溫性能優異: 磷酸鐵鋰電池在高溫環境下的性能表現穩定,不受高溫影響,適合各種戶外使用場景。 • 環境友好: 磷酸鐵鋰電池的生產過程和材料都更加環保,對環境的影響較小。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:53:37 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 8/21 個網址 2025-10-14 13:53:37 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/ 2025-10-14 13:53:37 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/ 的第 1/3 次請求 2025-10-14 13:53:37 - 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 0x7e1358875490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a91987c9966019472b8e616456008ee9 2025-10-14 13:53:37 - 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 0x7e13533da9d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a91987c9966019472b8e616456008ee9 2025-10-14 13:53:37 - 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 0x7e13533db8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a91987c9966019472b8e616456008ee9 2025-10-14 13:53:37 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:53:37 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:53:37 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:53:37 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:53:37 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:53:37 - 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-14 13:53:37 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:53:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:53:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:53:38 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:53:38 - 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 0x6415740754e3 <unknown> #1 0x641573da4c76 <unknown> #2 0x641573dcdd78 <unknown> #3 0x641573dca029 <unknown> #4 0x641573e08ccc <unknown> #5 0x641573e0847f <unknown> #6 0x641573dffde3 <unknown> #7 0x641573dd52dd <unknown> #8 0x641573dd634e <unknown> #9 0x6415740353e4 <unknown> #10 0x6415740393d7 <unknown> #11 0x641574043b20 <unknown> #12 0x64157403a023 <unknown> #13 0x6415740081aa <unknown> #14 0x64157405e6b8 <unknown> #15 0x64157405e847 <unknown> #16 0x64157406e243 <unknown> #17 0x714bdce94ac3 <unknown> 2025-10-14 13:53:38 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:53:38 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:53:38 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:53:38 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/ 2025-10-14 13:53:42 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/ 2025-10-14 13:53:42 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:53:42 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:53:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 8/21 2025-10-14 13:53:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 8/21 2025-10-14 13:53:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:53:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:53:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:54:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:54:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:54:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:54:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:54:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:54:00 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 13:54:00 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/ 2025-10-14 13:54:03 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:54:03 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:54:03 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:54:03 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:54:03 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:54:07 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 264 2025-10-14 13:54:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 8/21 2025-10-14 13:54:09 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 264,內容可能已加載完成 2025-10-14 13:54:09 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:54:15 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:54:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 8/21 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/ (實際 URL: https://yuefacai.com/product-category/%e6%99%ba%e8%83%bd%e5%95%86%e5%93%81/) 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 188074 字節 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 553 字節 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1457 字節 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1260 字節 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 123 字節 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 258 字節,約 55 個詞,34 行 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 1 • 2 • → • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 1 • 2 • → • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:54:24 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 9/21 個網址 2025-10-14 13:54:24 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/ 2025-10-14 13:54:24 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:24 秒 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/ 的第 1/3 次請求 2025-10-14 13:54:24 - 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 0x7e13586cfb90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/61f18669563bf2978340f6b68b771a29 2025-10-14 13:54:24 - 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 0x7e135378b410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/61f18669563bf2978340f6b68b771a29 2025-10-14 13:54:24 - 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 0x7e1353789c90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/61f18669563bf2978340f6b68b771a29 2025-10-14 13:54:24 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:54:24 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:54:24 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:54:24 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:54:24 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:54:24 - 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-14 13:54:25 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:54:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:54:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:54:25 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:54:25 - 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 0x5a5c2dee44e3 <unknown> #1 0x5a5c2dc13c76 <unknown> #2 0x5a5c2dc3cd78 <unknown> #3 0x5a5c2dc39029 <unknown> #4 0x5a5c2dc77ccc <unknown> #5 0x5a5c2dc7747f <unknown> #6 0x5a5c2dc6ede3 <unknown> #7 0x5a5c2dc442dd <unknown> #8 0x5a5c2dc4534e <unknown> #9 0x5a5c2dea43e4 <unknown> #10 0x5a5c2dea83d7 <unknown> #11 0x5a5c2deb2b20 <unknown> #12 0x5a5c2dea9023 <unknown> #13 0x5a5c2de771aa <unknown> #14 0x5a5c2decd6b8 <unknown> #15 0x5a5c2decd847 <unknown> #16 0x5a5c2dedd243 <unknown> #17 0x741f7bc94ac3 <unknown> 2025-10-14 13:54:25 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:54:25 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:54:26 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:54:26 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/ 2025-10-14 13:54:29 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/ 2025-10-14 13:54:29 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:54:29 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:54:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 9/21 2025-10-14 13:54:32 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:54:32 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/ 2025-10-14 13:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 183.6MB, CPU 0.0% 2025-10-14 13:54:34 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:54:34 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:54:34 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:54:34 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:54:34 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:54:38 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 163 2025-10-14 13:54:40 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 163,內容可能已加載完成 2025-10-14 13:54:40 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:54:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 9/21 2025-10-14 13:54:46 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:54:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 9/21 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/ (實際 URL: https://yuefacai.com/%e5%a4%aa%e8%b5%ab%e8%8c%b2%e7%90%86%e7%99%82%e5%84%80%e7%9a%84%e7%94%b1%e4%be%86%e3%80%81%e5%b0%8d%e4%ba%ba%e9%ab%94%e7%9a%84%e5%a5%bd%e8%99%95%e5%8f%8a%e6%9c%aa%e4%be%86%e8%b6%a8%e5%8b%a2/) 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 142109 字節 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 916 字節 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1596 字節 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 992 字節 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 683 字節 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1378 字節,約 99 個詞,64 行 2025-10-14 13:54:55 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 25 7 月, 2024 • 精选 • 作者 y7613 • 促進血液循環:太赫茲波能夠穿透皮膚直達深層組織,促進局部血液循環,增加組織的氧供應和營養供應,有助於緩解肌肉和關節疼痛。 • 加速組織修復:研究顯示,太赫茲波可以加速細胞的代謝和修復過程,對於傷口癒合和組織修復有顯著作用。 • 抗炎作用:太赫茲波的低能量特性使其具有抗炎作用,能夠減少局部炎症反應,有助於緩解各種炎症性疾病。 • 減輕壓力和焦慮:一些研究指出,太赫茲波有助於減少壓力激素的分泌,從而緩解壓力和焦慮,促進心理健康。 • 提升免疫力:太赫茲波可以增強免疫細胞的活性,提高身體的免疫力,從而抵抗疾病的侵襲。 • 技術進步:隨著技術的不斷進步,太赫茲理療儀將變得更加小型化、便攜化和智能化,並且將擁有更加精確的調控功能,以適應不同的治療需求。 • 應用擴展:太赫茲理療儀的應用範圍將不斷擴展,除了傳統的疼痛管理和傷口治療外,還可能應用於皮膚病、內分泌疾病和神經系統疾病的治療。 • 市場增長:隨著人們對健康的重視和對太赫茲技術認知的提高,太赫茲理療儀的市場需求將不斷增長,未來將成為家庭保健和醫療機構的重要設備之一。 • 科學研究加強:對太赫茲波生物效應的研究將更加深入,科學家們將探索更多太赫茲波在醫療領域的潛在應用,為太赫茲理療儀的發展提供更多理論支持。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 25 7 月, 2024 • 精选 • 作者 y7613 • 促進血液循環:太赫茲波能夠穿透皮膚直達深層組織,促進局部血液循環,增加組織的氧供應和營養供應,有助於緩解肌肉和關節疼痛。 • 加速組織修復:研究顯示,太赫茲波可以加速細胞的代謝和修復過程,對於傷口癒合和組織修復有顯著作用。 • 抗炎作用:太赫茲波的低能量特性使其具有抗炎作用,能夠減少局部炎症反應,有助於緩解各種炎症性疾病。 • 減輕壓力和焦慮:一些研究指出,太赫茲波有助於減少壓力激素的分泌,從而緩解壓力和焦慮,促進心理健康。 • 提升免疫力:太赫茲波可以增強免疫細胞的活性,提高身體的免疫力,從而抵抗疾病的侵襲。 • 技術進步:隨著技術的不斷進步,太赫茲理療儀將變得更加小型化、便攜化和智能化,並且將擁有更加精確的調控功能,以適應不同的治療需求。 • 應用擴展:太赫茲理療儀的應用範圍將不斷擴展,除了傳統的疼痛管理和傷口治療外,還可能應用於皮膚病、內分泌疾病和神經系統疾病的治療。 • 市場增長:隨著人們對健康的重視和對太赫茲技術認知的提高,太赫茲理療儀的市場需求將不斷增長,未來將成為家庭保健和醫療機構的重要設備之一。 • 科學研究加強:對太赫茲波生物效應的研究將更加深入,科學家們將探索更多太赫茲波在醫療領域的潛在應用,為太赫茲理療儀的發展提供更多理論支持。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:54:56 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 10/21 個網址 2025-10-14 13:54:56 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/?add-to-cart=18537 2025-10-14 13:54:56 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/?add-to-cart=18537, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/?add-to-cart=18537 的第 1/3 次請求 2025-10-14 13:54:56 - 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 0x7e13535b7d10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b5f3ca99c32c443ebe25debbffa65b7c 2025-10-14 13:54:56 - 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 0x7e13586b86d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b5f3ca99c32c443ebe25debbffa65b7c 2025-10-14 13:54:56 - 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 0x7e13535b0b90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b5f3ca99c32c443ebe25debbffa65b7c 2025-10-14 13:54:56 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:54:56 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:54:56 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:54:56 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:54:56 - 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-14 13:54:56 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:54:56 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:54:56 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:54: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-14 13:54: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 0x621358a384e3 <unknown> #1 0x621358767c76 <unknown> #2 0x621358790d78 <unknown> #3 0x62135878d029 <unknown> #4 0x6213587cbccc <unknown> #5 0x6213587cb47f <unknown> #6 0x6213587c2de3 <unknown> #7 0x6213587982dd <unknown> #8 0x62135879934e <unknown> #9 0x6213589f83e4 <unknown> #10 0x6213589fc3d7 <unknown> #11 0x621358a06b20 <unknown> #12 0x6213589fd023 <unknown> #13 0x6213589cb1aa <unknown> #14 0x621358a216b8 <unknown> #15 0x621358a21847 <unknown> #16 0x621358a31243 <unknown> #17 0x79e703a94ac3 <unknown> 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:54:56 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:54:57 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:54:57 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/?add-to-cart=18537 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:55:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 13:55:01 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/?add-to-cart=18537 2025-10-14 13:55:01 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:55:01 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:55:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 10/21 2025-10-14 13:55:05 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:55:05 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/?add-to-cart=18537 2025-10-14 13:55:07 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:55:07 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:55:07 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:55:07 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:55:07 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:55:11 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 327 2025-10-14 13:55:13 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 327,內容可能已加載完成 2025-10-14 13:55:13 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:55:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 10/21 2025-10-14 13:55:19 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:55:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 10/21 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/?add-to-cart=18537 (實際 URL: https://yuefacai.com/?add-to-cart=18537) 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 223632 字節 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1014 字節 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 3024 字節 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2677 字節 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:55:28 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 11/21 個網址 2025-10-14 13:55:28 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/shop/ 2025-10-14 13:55:28 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/shop/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/shop/ 的第 1/3 次請求 2025-10-14 13:55:28 - 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 0x7e1359ddbd90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a99c67483356facf5f0f0a6dfabe6b6f 2025-10-14 13:55:28 - 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 0x7e13532bd210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a99c67483356facf5f0f0a6dfabe6b6f 2025-10-14 13:55:28 - 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 0x7e13532bd790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a99c67483356facf5f0f0a6dfabe6b6f 2025-10-14 13:55:28 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:55:28 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:55:28 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:55:28 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:55:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:55:29 - 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-14 13:55:29 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:55:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:55:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:55:29 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:55:29 - 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 0x6503efb5b4e3 <unknown> #1 0x6503ef88ac76 <unknown> #2 0x6503ef8b3d78 <unknown> #3 0x6503ef8b0029 <unknown> #4 0x6503ef8eeccc <unknown> #5 0x6503ef8ee47f <unknown> #6 0x6503ef8e5de3 <unknown> #7 0x6503ef8bb2dd <unknown> #8 0x6503ef8bc34e <unknown> #9 0x6503efb1b3e4 <unknown> #10 0x6503efb1f3d7 <unknown> #11 0x6503efb29b20 <unknown> #12 0x6503efb20023 <unknown> #13 0x6503efaee1aa <unknown> #14 0x6503efb446b8 <unknown> #15 0x6503efb44847 <unknown> #16 0x6503efb54243 <unknown> #17 0x738afe094ac3 <unknown> 2025-10-14 13:55:29 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:55:29 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:55:30 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:55:30 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/shop/ 2025-10-14 13:55:33 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/shop/ 2025-10-14 13:55:33 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:55:33 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:55:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 11/21 2025-10-14 13:55:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 11/21 2025-10-14 13:55:52 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 13:55:52 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/shop/ 2025-10-14 13:55:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:55:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:55:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:55:53 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:55:54 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:55:54 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:55:54 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:55:54 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:55:54 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:55:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:55:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:55:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:55:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:55:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:55:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:55:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:55:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:55:58 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 257 2025-10-14 13:55:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 11/21 2025-10-14 13:55:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:55:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 13:55:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:55:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:56:00 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 257,內容可能已加載完成 2025-10-14 13:56:00 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:56:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 13:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-14 13:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 184.4MB, CPU 0.0% 2025-10-14 13:56:06 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:56:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 11/21 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/shop/ (實際 URL: https://yuefacai.com/shop/) 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 184410 字節 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 425 字節 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1316 字節 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1123 字節 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 131 字節 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 274 字節,約 63 個詞,38 行 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 1 • 2 • 3 • 4 • → • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 1 • 2 • 3 • 4 • → • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:56:15 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 12/21 個網址 2025-10-14 13:56:15 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/ 2025-10-14 13:56:15 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:22 秒 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/ 的第 1/3 次請求 2025-10-14 13:56: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 0x7e1359409c90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/427f938a3c42dbf10a2b1a1c7ef2179d 2025-10-14 13:56: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 0x7e13536b7310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/427f938a3c42dbf10a2b1a1c7ef2179d 2025-10-14 13:56: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 0x7e13536b7610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/427f938a3c42dbf10a2b1a1c7ef2179d 2025-10-14 13:56:15 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:56:15 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:56:15 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:56:15 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:56:15 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:56: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-14 13:56:16 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:56:16 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:56:16 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:56: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-14 13:56: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 0x5f663ac844e3 <unknown> #1 0x5f663a9b3c76 <unknown> #2 0x5f663a9dcd78 <unknown> #3 0x5f663a9d9029 <unknown> #4 0x5f663aa17ccc <unknown> #5 0x5f663aa1747f <unknown> #6 0x5f663aa0ede3 <unknown> #7 0x5f663a9e42dd <unknown> #8 0x5f663a9e534e <unknown> #9 0x5f663ac443e4 <unknown> #10 0x5f663ac483d7 <unknown> #11 0x5f663ac52b20 <unknown> #12 0x5f663ac49023 <unknown> #13 0x5f663ac171aa <unknown> #14 0x5f663ac6d6b8 <unknown> #15 0x5f663ac6d847 <unknown> #16 0x5f663ac7d243 <unknown> #17 0x769b71e94ac3 <unknown> 2025-10-14 13:56:16 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:56:16 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:56:17 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:56:17 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/ 2025-10-14 13:56:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 12/21 2025-10-14 13:56:21 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/ 2025-10-14 13:56:21 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:56:21 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:56:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 12/21 2025-10-14 13:56:39 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 13:56:39 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/ 2025-10-14 13:56:41 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:56:41 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:56:41 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:56:41 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:56:41 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:56:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 12/21 2025-10-14 13:56:45 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 318 2025-10-14 13:56:47 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 318,內容可能已加載完成 2025-10-14 13:56:47 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:56:53 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:56:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 12/21 2025-10-14 13:57:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:57:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:57:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:57:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:57:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:57:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:57:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:57:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/ (實際 URL: https://yuefacai.com/product/cypler%e6%96%af%e6%99%ae%e5%8b%92-%e9%ab%98%e6%bf%83%e5%ba%a6%e5%af%8c%e6%b0%ab%e6%b0%b4%e6%9d%af/) 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 298451 字節 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1702 字節 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 3202 字節 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 3114 字節 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 466 字節 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 944 字節,約 87 個詞,56 行 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: Color | 請選取一個選項紫色銀色清除 Color | 紫色 , 銀色 • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 專利製氫技術:杯子用「SPE質子膜」和「鉑金鈦電極」這種高級材料來支撐水,5分鐘就等於超高濃度氫水(13000ppb以上),而且泡沫能穩定溶液在水里,不會馬上跑掉。 • 例如喝進百份蔬菜水果的抗氧化力:廣告說一天喝1.5升這種氫水,抗氧化效果相當於吃幾份蔬菜水果!原理是氫分子能中和粒線體,抑制老化,但身體當然不能完全吃掉菜啦~ • 安全又聰明的設計:杯身用耐高溫的防爆玻璃,甚至能用80°C熱水製氫;螢幕還會顯示操作和氫氣時間,超直覺。 • 小分子水吸收好:喝水後的水分子更小、帶負電位,號稱能加速身體循環,喝水就像幫細胞做SPA。 • 常熬夜、外食的忙碌族 • 想要簡單補充抗氧化物質的人 • 注重養生但懶得吃保健品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: Color | 請選取一個選項紫色銀色清除 Color | 紫色 , 銀色 • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 專利製氫技術:杯子用「SPE質子膜」和「鉑金鈦電極」這種高級材料來支撐水,5分鐘就等於超高濃度氫水(13000ppb以上),而且泡沫能穩定溶液在水里,不會馬上跑掉。 • 例如喝進百份蔬菜水果的抗氧化力:廣告說一天喝1.5升這種氫水,抗氧化效果相當於吃幾份蔬菜水果!原理是氫分子能中和粒線體,抑制老化,但身體當然不能完全吃掉菜啦~ • 安全又聰明的設計:杯身用耐高溫的防爆玻璃,甚至能用80°C熱水製氫;螢幕還會顯示操作和氫氣時間,超直覺。 • 小分子水吸收好:喝水後的水分子更小、帶負電位,號稱能加速身體循環,喝水就像幫細胞做SPA。 • 常熬夜、外食的忙碌族 • 想要簡單補充抗氧化物質的人 • 注重養生但懶得吃保健品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:57:03 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 13/21 個網址 2025-10-14 13:57:03 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/ 2025-10-14 13:57:03 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:23 秒 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/ 的第 1/3 次請求 2025-10-14 13:57: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 0x7e1359de1c90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/99ce4c8a6a44d0f646450b9cc4ec80e7 2025-10-14 13:57: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 0x7e13534a8950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/99ce4c8a6a44d0f646450b9cc4ec80e7 2025-10-14 13:57: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 0x7e13534a9390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/99ce4c8a6a44d0f646450b9cc4ec80e7 2025-10-14 13:57:03 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:57:03 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:57:03 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:57:03 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:57:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:57: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-14 13:57:03 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:57:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:57:04 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:57: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-14 13:57:04 - 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 0x6170e1b344e3 <unknown> #1 0x6170e1863c76 <unknown> #2 0x6170e188cd78 <unknown> #3 0x6170e1889029 <unknown> #4 0x6170e18c7ccc <unknown> #5 0x6170e18c747f <unknown> #6 0x6170e18bede3 <unknown> #7 0x6170e18942dd <unknown> #8 0x6170e189534e <unknown> #9 0x6170e1af43e4 <unknown> #10 0x6170e1af83d7 <unknown> #11 0x6170e1b02b20 <unknown> #12 0x6170e1af9023 <unknown> #13 0x6170e1ac71aa <unknown> #14 0x6170e1b1d6b8 <unknown> #15 0x6170e1b1d847 <unknown> #16 0x6170e1b2d243 <unknown> #17 0x7fe940894ac3 <unknown> 2025-10-14 13:57:04 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:57:04 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:57:04 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:57:04 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/ 2025-10-14 13:57:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 13/21 2025-10-14 13:57:08 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/ 2025-10-14 13:57:08 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:57:08 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:57:11 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:57:11 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/ 2025-10-14 13:57:13 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:57:13 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:57:13 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:57:13 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:57:13 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:57:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 13/21 2025-10-14 13:57:17 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 177 2025-10-14 13:57:19 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 177,內容可能已加載完成 2025-10-14 13:57:19 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:57:25 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:57:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 13/21 2025-10-14 13:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 13:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 185.3MB, CPU 0.0% 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/ (實際 URL: https://yuefacai.com/%e6%99%ba%e6%85%a7%e5%b1%85%e5%ae%b6%e7%94%a2%e5%93%81%e5%a6%82%e4%bd%95%e8%88%87%e7%8f%be%e4%bb%a3%e4%ba%ba%e7%94%9f%e6%b4%bb%e7%b5%90%e5%90%88/) 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 143684 字節 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1060 字節 2025-10-14 13:57:34 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1803 字節 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1142 字節 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 140 字節 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 292 字節,約 59 個詞,40 行 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 25 7 月, 2024 • 作者 y7613 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 25 7 月, 2024 • 作者 y7613 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:57:35 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 14/21 個網址 2025-10-14 13:57:35 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/16961-2/ 2025-10-14 13:57:35 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/16961-2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/16961-2/ 的第 1/3 次請求 2025-10-14 13:57: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 0x7e13534b1e10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/36418f182dcf82b6cd6c918af2cb2200 2025-10-14 13:57: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 0x7e13537a4d90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/36418f182dcf82b6cd6c918af2cb2200 2025-10-14 13:57: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 0x7e13537a4fd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/36418f182dcf82b6cd6c918af2cb2200 2025-10-14 13:57:35 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:57:35 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:57:35 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:57:35 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:57:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:57: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-14 13:57:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:57:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:57:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:57: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-14 13:57: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 0x56148a4804e3 <unknown> #1 0x56148a1afc76 <unknown> #2 0x56148a1d8d78 <unknown> #3 0x56148a1d5029 <unknown> #4 0x56148a213ccc <unknown> #5 0x56148a21347f <unknown> #6 0x56148a20ade3 <unknown> #7 0x56148a1e02dd <unknown> #8 0x56148a1e134e <unknown> #9 0x56148a4403e4 <unknown> #10 0x56148a4443d7 <unknown> #11 0x56148a44eb20 <unknown> #12 0x56148a445023 <unknown> #13 0x56148a4131aa <unknown> #14 0x56148a4696b8 <unknown> #15 0x56148a469847 <unknown> #16 0x56148a479243 <unknown> #17 0x76dcbd494ac3 <unknown> 2025-10-14 13:57:36 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:57:36 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:57:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:57:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/16961-2/ 2025-10-14 13:57:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 14/21 2025-10-14 13:57:39 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/16961-2/ 2025-10-14 13:57:39 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:57:39 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:57:43 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: article 2025-10-14 13:57:43 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/16961-2/ 2025-10-14 13:57:45 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:57:45 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:57:45 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:57:45 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:57:45 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:57:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 14/21 2025-10-14 13:57:49 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 183 2025-10-14 13:57:51 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 183,內容可能已加載完成 2025-10-14 13:57:51 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:57:57 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:57:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 14/21 2025-10-14 13:58:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:58:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:58:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:58:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:58:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:58:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:58:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:58:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/16961-2/ (實際 URL: https://yuefacai.com/16961-2/) 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 139931 字節 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 774 字節 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1484 字節 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 857 字節 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 576 字節 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1164 字節,約 115 個詞,74 行 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 20 6 月, 2024 • 作者 y7613 • 空腹不宜喝茶:空腹喝茶會稀釋胃液,降低胃酸的殺菌作用,容易引起胃部不適。 • 睡前不宜喝茶:茶葉中含有咖啡鹼,具有興奮作用,睡前喝茶容易導致失眠。 • 經期不宜喝茶:茶葉具有寒性,經期女性喝茶容易引起痛經。 • 醉酒不宜喝茶:茶葉中的咖啡鹼會利尿,醉酒後喝茶會加速酒精的分解,加重醉酒症狀。 • 服用藥物不宜喝茶:茶葉中的某些成分可能會與藥物發生反應,影響藥物的吸收和代謝。 • 綠茶:不發酵茶,保留了茶葉的鮮爽滋味。 • 白茶:微發酵茶,茶葉毫芽富含茶氨酸,具有鮮甜醇厚的滋味。 • 黃茶:嫩芽經悶蒸後烘乾,茶葉色澤黃潤,滋味醇厚。 • 青茶:部分發酵茶,介於綠茶和紅茶之間,具有濃郁的花香或果香。 • 紅茶:全發酵茶,茶葉色澤紅褐,滋味濃醇。 • 黑茶:後發酵茶,茶葉色澤深褐或黑色,具有陳香。 • 觀其形:觀察茶葉的外形、色澤、勻稱度等。 • 聞其香:聞茶葉的香氣,感受茶葉的品質和風味。 • 嘗其味:品嚐茶湯的滋味,感受茶葉的濃郁度、醇厚度、回甘度等。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 20 6 月, 2024 • 作者 y7613 • 空腹不宜喝茶:空腹喝茶會稀釋胃液,降低胃酸的殺菌作用,容易引起胃部不適。 • 睡前不宜喝茶:茶葉中含有咖啡鹼,具有興奮作用,睡前喝茶容易導致失眠。 • 經期不宜喝茶:茶葉具有寒性,經期女性喝茶容易引起痛經。 • 醉酒不宜喝茶:茶葉中的咖啡鹼會利尿,醉酒後喝茶會加速酒精的分解,加重醉酒症狀。 • 服用藥物不宜喝茶:茶葉中的某些成分可能會與藥物發生反應,影響藥物的吸收和代謝。 • 綠茶:不發酵茶,保留了茶葉的鮮爽滋味。 • 白茶:微發酵茶,茶葉毫芽富含茶氨酸,具有鮮甜醇厚的滋味。 • 黃茶:嫩芽經悶蒸後烘乾,茶葉色澤黃潤,滋味醇厚。 • 青茶:部分發酵茶,介於綠茶和紅茶之間,具有濃郁的花香或果香。 • 紅茶:全發酵茶,茶葉色澤紅褐,滋味濃醇。 • 黑茶:後發酵茶,茶葉色澤深褐或黑色,具有陳香。 • 觀其形:觀察茶葉的外形、色澤、勻稱度等。 • 聞其香:聞茶葉的香氣,感受茶葉的品質和風味。 • 嘗其味:品嚐茶湯的滋味,感受茶葉的濃郁度、醇厚度、回甘度等。 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:58:06 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 15/21 個網址 2025-10-14 13:58:06 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/ 2025-10-14 13:58:06 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:22 秒 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/ 的第 1/3 次請求 2025-10-14 13:58:06 - 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 0x7e13534b1cd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/edbc71054fee0e683111458633a172b0 2025-10-14 13:58:06 - 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 0x7e1353559dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/edbc71054fee0e683111458633a172b0 2025-10-14 13:58:06 - 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 0x7e135355bb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/edbc71054fee0e683111458633a172b0 2025-10-14 13:58:06 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:58:06 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:58:06 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:58:06 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:58:06 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:58:06 - 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-14 13:58:06 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:58:06 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:58:07 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:58:07 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:58:07 - 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 0x57b1906184e3 <unknown> #1 0x57b190347c76 <unknown> #2 0x57b190370d78 <unknown> #3 0x57b19036d029 <unknown> #4 0x57b1903abccc <unknown> #5 0x57b1903ab47f <unknown> #6 0x57b1903a2de3 <unknown> #7 0x57b1903782dd <unknown> #8 0x57b19037934e <unknown> #9 0x57b1905d83e4 <unknown> #10 0x57b1905dc3d7 <unknown> #11 0x57b1905e6b20 <unknown> #12 0x57b1905dd023 <unknown> #13 0x57b1905ab1aa <unknown> #14 0x57b1906016b8 <unknown> #15 0x57b190601847 <unknown> #16 0x57b190611243 <unknown> #17 0x77d85da94ac3 <unknown> 2025-10-14 13:58:07 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:58:07 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:58:07 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:58:07 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/ 2025-10-14 13:58:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 15/21 2025-10-14 13:58:11 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/ 2025-10-14 13:58:11 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:58:12 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:58:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 15/21 2025-10-14 13:58:30 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 13:58:30 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/ 2025-10-14 13:58:32 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 13:58:32 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:58:32 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:58:32 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:58:32 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:58:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 15/21 2025-10-14 13:58:36 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 236 2025-10-14 13:58:38 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 236,內容可能已加載完成 2025-10-14 13:58:38 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:58:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 15/21 2025-10-14 13:58:44 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/ (實際 URL: https://yuefacai.com/product/%e6%99%ba%e8%83%bd%e6%b0%a3%e5%a3%93%e6%89%8b%e9%83%a8%e6%8c%89%e6%91%a9/) 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 242478 字節 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 487 字節 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1884 字節 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1755 字節 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 110 字節 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 232 字節,約 43 個詞,26 行 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 13:58:53 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 16/21 個網址 2025-10-14 13:58:53 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/slider2-jpg/lost-password/ 2025-10-14 13:58:53 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/slider2-jpg/lost-password/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/slider2-jpg/lost-password/ 的第 1/3 次請求 2025-10-14 13:58:53 - 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 0x7e13535f1490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f8898681d3cb8cb52986a72dcdd44625 2025-10-14 13:58:53 - 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 0x7e13537a7250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f8898681d3cb8cb52986a72dcdd44625 2025-10-14 13:58:53 - 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 0x7e1353391bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f8898681d3cb8cb52986a72dcdd44625 2025-10-14 13:58:53 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 13:58:53 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 13:58:53 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 13:58:53 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 13:58:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:58:54 - 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-14 13:58:54 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 13:58:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:58:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:58:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:58:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:58:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:58:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 13:58:54 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 13:58:54 - 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 0x5e61ee6fe4e3 <unknown> #1 0x5e61ee42dc76 <unknown> #2 0x5e61ee456d78 <unknown> #3 0x5e61ee453029 <unknown> #4 0x5e61ee491ccc <unknown> #5 0x5e61ee49147f <unknown> #6 0x5e61ee488de3 <unknown> #7 0x5e61ee45e2dd <unknown> #8 0x5e61ee45f34e <unknown> #9 0x5e61ee6be3e4 <unknown> #10 0x5e61ee6c23d7 <unknown> #11 0x5e61ee6ccb20 <unknown> #12 0x5e61ee6c3023 <unknown> #13 0x5e61ee6911aa <unknown> #14 0x5e61ee6e76b8 <unknown> #15 0x5e61ee6e7847 <unknown> #16 0x5e61ee6f7243 <unknown> #17 0x7b19e7494ac3 <unknown> 2025-10-14 13:58:54 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 13:58:54 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 13:58:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 13:58:55 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 13:58:55 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/slider2-jpg/lost-password/ 2025-10-14 13:58:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:58:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:58:56 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/slider2-jpg/lost-password/ 2025-10-14 13:58:56 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 13:58:56 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 13:58:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 13:58:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 13:59:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:59:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:59:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:59:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:59:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:59:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:59:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 13:59:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 13:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 13:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 13:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 185.4MB, CPU 0.0% 2025-10-14 13:59:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 13:59:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 13:59:20 - INFO - WebScraper - [scraper.py:1202] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-14 13:59:20 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/slider2-jpg/lost-password/ 2025-10-14 13:59:22 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 13:59:22 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 13:59:22 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 13:59:22 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 13:59:26 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 1 2025-10-14 13:59:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 13:59:28 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 1,內容可能已加載完成 2025-10-14 13:59:28 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 13:59:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 13:59:46 - WARNING - WebScraper - [scraper.py:1287] - get_content - 頁面內容太短 (483 字節),嘗試額外優化 2025-10-14 13:59:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 13:59:58 - INFO - WebScraper - [scraper.py:1813] - _scroll_to_load_content - 頁面太短,無需滾動 2025-10-14 14:00:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 14:00:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 14:00:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 14:00:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 14:00:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 14:00:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 14:00:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 16/21 2025-10-14 14:00:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 14:00:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 14:00:01 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/slider2-jpg/lost-password/ (實際 URL: https://yuefacai.com/wp-content/uploads/2024/06/slider2.jpg) 2025-10-14 14:00:01 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 14:00:01 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 14:00:01 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 483 字節 2025-10-14 14:00:02 - WARNING - trafilatura.core - [core.py:344] - bare_extraction - discarding data: None 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 8 字節,約 1 個詞,1 行 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 無法提取有效內容 2025-10-14 14:00:02 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 17/21 個網址 2025-10-14 14:00:02 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/ 2025-10-14 14:00:02 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product/wireless-remote-control-face-slimming-device/ 的第 1/3 次請求 2025-10-14 14:00:02 - 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 0x7e1353548310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/7304fcdd59ff8da89ad858b589302c3f 2025-10-14 14:00:02 - 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 0x7e135354a550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/7304fcdd59ff8da89ad858b589302c3f 2025-10-14 14:00:02 - 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 0x7e135354af10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/7304fcdd59ff8da89ad858b589302c3f 2025-10-14 14:00:02 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 14:00:02 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 14:00:02 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 14:00:02 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 14:00:02 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 14:00:02 - 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-14 14:00:02 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 14:00:02 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 14:00:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 14:00:03 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 14:00:03 - 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 0x55922ed0e4e3 <unknown> #1 0x55922ea3dc76 <unknown> #2 0x55922ea66d78 <unknown> #3 0x55922ea63029 <unknown> #4 0x55922eaa1ccc <unknown> #5 0x55922eaa147f <unknown> #6 0x55922ea98de3 <unknown> #7 0x55922ea6e2dd <unknown> #8 0x55922ea6f34e <unknown> #9 0x55922ecce3e4 <unknown> #10 0x55922ecd23d7 <unknown> #11 0x55922ecdcb20 <unknown> #12 0x55922ecd3023 <unknown> #13 0x55922eca11aa <unknown> #14 0x55922ecf76b8 <unknown> #15 0x55922ecf7847 <unknown> #16 0x55922ed07243 <unknown> #17 0x7c3524494ac3 <unknown> 2025-10-14 14:00:03 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 14:00:03 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 14:00:03 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 14:00:03 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/ 2025-10-14 14:00:11 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/ 2025-10-14 14:00:11 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 14:00:11 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 14:00:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 17/21 2025-10-14 14:00:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 17/21 2025-10-14 14:00:29 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: .container 2025-10-14 14:00:29 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/ 2025-10-14 14:00:31 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-14 14:00:31 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 14:00:31 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 14:00:31 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 14:00:31 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 14:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 14:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 14:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 14:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 185.4MB, CPU 0.0% 2025-10-14 14:00:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 17/21 2025-10-14 14:00:35 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 241 2025-10-14 14:00:37 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 241,內容可能已加載完成 2025-10-14 14:00:37 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 14:00:43 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 14:00:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 17/21 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/ (實際 URL: https://yuefacai.com/product/wireless-remote-control-face-slimming-device/) 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 229296 字節 2025-10-14 14:00:52 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 467 字節 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2075 字節 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1964 字節 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 644 字節 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 2 選擇 structured_data 作為最佳結果 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1300 字節,約 115 個詞,68 行 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 升級4大按摩頭 • 三大技術,六大按摩功能 • 42℃恒溫磁熱,燃燒面部脂肪 • 增加了回彈功能 • 定時功能,定時15分鐘關閉 • 升級4大按摩頭, 上兩個加熱的 下兩個是遠紅外線功能,模擬人手提把手法,幫助收緊臉頰打造∨臉輪廓;可針對臉部水腫,大小臉,肌膚鬆弛和咬肌突出等問題做改善 • 三大技術,六大按摩功能,9種力度可調節:緊致輪廓;V型塑形;低頻磁療;殺菌消腫;淨痘美顏;細肌嫩膚 • 42℃恒溫磁熱,燃燒面部脂肪,加速面部脂肪團溶解; • 增加了回彈功能,不需要綁帶也可以使用; • 定時功能,定時15分鐘關閉,控制每個功能使用時間(使用過程中切換功能不會重新計時) • 初次使用者在前一周時間內力度不可超6級,舒適無痛感未宜,依據自身承受力度調節 • 初次使用者每天使用時間不超過30分鐘 • 當你適應使用塑臉儀後,需要逐步的變化模式和力度 • 塑形是長期的過程,高強度使用不等於更好的效果需要逐步適應完成 • 當日漸凸顯的輪廓時,注意每週至少使用兩次,待完全穩固後可停止使用。 • 產品本身就是微電原理幫助臉部按摩 • 首次用會感覺到不舒服(這是看個人情況),可以先小檔位用,貼上去開機後用臉部會像抽筋一樣不自覺的動,嘴歪,這是正常情況, • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 額外的結構化內容: • 智能商品 • 茶葉商品 • 禮盒商品 • 一般商品 • 福利品 • 升級4大按摩頭 • 三大技術,六大按摩功能 • 42℃恒溫磁熱,燃燒面部脂肪 • 增加了回彈功能 • 定時功能,定時15分鐘關閉 • 升級4大按摩頭, 上兩個加熱的 下兩個是遠紅外線功能,模擬人手提把手法,幫助收緊臉頰打造∨臉輪廓;可針對臉部水腫,大小臉,肌膚鬆弛和咬肌突出等問題做改善 • 三大技術,六大按摩功能,9種力度可調節:緊致輪廓;V型塑形;低頻磁療;殺菌消腫;淨痘美顏;細肌嫩膚 • 42℃恒溫磁熱,燃燒面部脂肪,加速面部脂肪團溶解; • 增加了回彈功能,不需要綁帶也可以使用; • 定時功能,定時15分鐘關閉,控制每個功能使用時間(使用過程中切換功能不會重新計時) • 初次使用者在前一周時間內力度不可超6級,舒適無痛感未宜,依據自身承受力度調節 • 初次使用者每天使用時間不超過30分鐘 • 當你適應使用塑臉儀後,需要逐步的變化模式和力度 • 塑形是長期的過程,高強度使用不等於更好的效果需要逐步適應完成 • 當日漸凸顯的輪廓時,注意每週至少使用兩次,待完全穩固後可停止使用。 • 產品本身就是微電原理幫助臉部按摩 • 首次用會感覺到不舒服(這是看個人情況),可以先小檔位用,貼上去開機後用臉部會像抽筋一樣不自覺的動,嘴歪,這是正常情況, • 電話: 0916002161 • 信箱: amw1002667@gmail.com • 地址: 高雄市三民區民族一路92號11樓之2 • • 2025-10-14 14:00:53 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=73):已完成 18/21 個網址 2025-10-14 14:00:53 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yuefacai.com/product/high-concentration-hydrogen-rich-water-cup/ 2025-10-14 14:00:53 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yuefacai.com/product/high-concentration-hydrogen-rich-water-cup/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yuefacai.com/product/high-concentration-hydrogen-rich-water-cup/ 的第 1/3 次請求 2025-10-14 14:00:53 - 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 0x7e13535f4a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3cc371decb691f4c1e77cfee6991cc4 2025-10-14 14:00:53 - 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 0x7e13532e74d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3cc371decb691f4c1e77cfee6991cc4 2025-10-14 14:00:53 - 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 0x7e13532e76d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3cc371decb691f4c1e77cfee6991cc4 2025-10-14 14:00:53 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 14:00:53 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 14:00:53 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 14:00:53 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 14:00:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 14:00:53 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 14:00:53 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_13.log,新:20251014_14.log 2025-10-14 14:00:53 - 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-14 14:00:53 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 14:00:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 14:00:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 14:00:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 14:00:54 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_13.log,新:20251014_14.log 2025-10-14 14:00:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 73, UID: 6whnxvhxhh, 進度: 18/21 2025-10-14 14:00:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 14:00:59 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_13.log,新:20251014_14.log 2025-10-14 14:00:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 14:00:59 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_13.log,新:20251014_14.log