日誌查看 - 20251015_15.log
文件大小: 578.74 KB 最後修改: 2025-10-15 16:00:06
2025-10-15 15:02:32 - 初始化新小時日誌檔案 2025-10-15 15:02:32 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251015_15.log 2025-10-15 15:02:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-15 15:02:32 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251015_15.log 2025-10-15 15:02:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-15 15:02:36 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251015_15.log 2025-10-15 15:02:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-15 15:02:36 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251015_15.log 2025-10-15 15:02:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-15 15:02:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:02:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:02:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:02:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:02:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:02:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:02:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:02:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:03:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:03:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:03:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:03:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:03:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:03:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:03:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:03:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:03:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:03:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:03:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:03:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:03:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:03:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:03:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:03:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:03:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:03:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:03:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:03:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:04:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:04:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:04:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:04:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:04:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:04:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:04:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:04:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:05:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:05:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:05:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:05:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:05:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:05:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:05:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:05:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:05:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:05:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:05:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:05:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:06:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:06:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:06:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:06:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:06:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:06:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:06:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:06:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:06:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:06:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:06:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:06:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:06:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:06:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:06:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:06:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:06:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:06:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:06:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:06:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:07:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:07:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:07:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:07:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:07:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:07:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:07:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:07:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:07:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:07:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:07:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:07:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:07:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:07:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:07:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:07:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:08:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:08:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:08:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:08:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:08:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:08:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:08:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:08:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:08:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:08:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:08:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:08:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:09:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:09:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:09:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:09:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:09:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:09:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:09:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:09:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:09:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:09:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:09:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:09:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:09:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:09:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:09:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:09:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:09:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:09:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:09:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:09:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:10:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:10:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:10:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:10:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:10:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:10:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:10:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:10:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:11:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: daily_audit_quality_check 2025-10-15 15:11:00 - INFO - mail_notify - [mail_notify.py:319] - check_and_send_daily_alert - 開始檢查 2025-10-14 的審核品質 2025-10-15 15:11:00 - INFO - mail_notify - [mail_notify.py:329] - check_and_send_daily_alert - 審核統計 - 總數: 0, 問題案件: 0, 比例: 0.0% 2025-10-15 15:11:00 - WARNING - mail_notify - [mail_notify.py:335] - check_and_send_daily_alert - 檢測到系統服務異常:2025-10-14 零審核案件 2025-10-15 15:11:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:11:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:11:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:11:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: daily_audit_quality_check 2025-10-15 15:11:01 - INFO - mail_notify - [mail_notify.py:319] - check_and_send_daily_alert - 開始檢查 2025-10-14 的審核品質 2025-10-15 15:11:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: daily_audit_quality_check 2025-10-15 15:11:01 - INFO - mail_notify - [mail_notify.py:319] - check_and_send_daily_alert - 開始檢查 2025-10-14 的審核品質 2025-10-15 15:11:01 - INFO - mail_notify - [mail_notify.py:329] - check_and_send_daily_alert - 審核統計 - 總數: 0, 問題案件: 0, 比例: 0.0% 2025-10-15 15:11:01 - WARNING - mail_notify - [mail_notify.py:335] - check_and_send_daily_alert - 檢測到系統服務異常:2025-10-14 零審核案件 2025-10-15 15:11:01 - INFO - mail_notify - [mail_notify.py:329] - check_and_send_daily_alert - 審核統計 - 總數: 0, 問題案件: 0, 比例: 0.0% 2025-10-15 15:11:01 - WARNING - mail_notify - [mail_notify.py:335] - check_and_send_daily_alert - 檢測到系統服務異常:2025-10-14 零審核案件 2025-10-15 15:11:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:11:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: daily_audit_quality_check 2025-10-15 15:11:01 - INFO - mail_notify - [mail_notify.py:319] - check_and_send_daily_alert - 開始檢查 2025-10-14 的審核品質 2025-10-15 15:11:01 - INFO - mail_notify - [mail_notify.py:329] - check_and_send_daily_alert - 審核統計 - 總數: 0, 問題案件: 0, 比例: 0.0% 2025-10-15 15:11:01 - WARNING - mail_notify - [mail_notify.py:335] - check_and_send_daily_alert - 檢測到系統服務異常:2025-10-14 零審核案件 2025-10-15 15:11:03 - INFO - mail_notify - [mail_notify.py:290] - send_email - 警告郵件已成功發送到 erictseng618@gmail.com 2025-10-15 15:11:03 - INFO - mail_notify - [mail_notify.py:350] - check_and_send_daily_alert - 每日系統服務異常警告郵件發送成功 2025-10-15 15:11:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'daily_audit_quality_check' 執行完成,耗時 2.70 秒,結果: True 2025-10-15 15:11:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs 2025-10-15 15:11:03 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录 2025-10-15 15:11:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs 2025-10-15 15:11:03 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录 2025-10-15 15:11:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:04 - INFO - mail_notify - [mail_notify.py:290] - send_email - 警告郵件已成功發送到 erictseng618@gmail.com 2025-10-15 15:11:04 - INFO - mail_notify - [mail_notify.py:350] - check_and_send_daily_alert - 每日系統服務異常警告郵件發送成功 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'daily_audit_quality_check' 執行完成,耗時 2.91 秒,結果: True 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs 2025-10-15 15:11:04 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:11:04 - INFO - mail_notify - [mail_notify.py:290] - send_email - 警告郵件已成功發送到 erictseng618@gmail.com 2025-10-15 15:11:04 - INFO - mail_notify - [mail_notify.py:350] - check_and_send_daily_alert - 每日系統服務異常警告郵件發送成功 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'daily_audit_quality_check' 執行完成,耗時 3.23 秒,結果: True 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs 2025-10-15 15:11:04 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:04 - INFO - mail_notify - [mail_notify.py:290] - send_email - 警告郵件已成功發送到 erictseng618@gmail.com 2025-10-15 15:11:04 - INFO - mail_notify - [mail_notify.py:350] - check_and_send_daily_alert - 每日系統服務異常警告郵件發送成功 2025-10-15 15:11:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'daily_audit_quality_check' 執行完成,耗時 3.23 秒,結果: True 2025-10-15 15:11:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:11:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:11:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:11:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:11:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:11:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:11:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:11:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:11:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:11:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:11:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:11:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:11:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:12:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:12:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:12:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:12:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:12:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:12:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:12:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:12:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:12:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:12:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:12:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:12:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:12:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:12:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:12:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:12:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:12:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:12:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:12:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:12:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:12:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:12:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:12:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:12:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:12:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:12:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:12:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:12:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:13:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:13:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:13:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:13:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:13:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:13:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:13:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:13:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:14:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:14:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:14:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:14:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:14:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:14:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:14:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:14:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:14:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:14:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:14:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:14:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:15:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:15:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:15:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:15:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:15:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:15:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:15:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:15:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:15:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:15:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:15:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:15:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:15:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:15:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:15:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:15:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:15:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:15:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:15:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:15:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:16:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:16:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:16:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:16:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:16:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:16:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:16:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:16:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:17:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:17:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:17:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:17:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:17:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:17:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:17:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:17:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:17:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:17:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:17:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:17:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:17:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:17:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:17:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:17:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:17:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:17:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:17:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:17:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:18:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:18:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:18:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:18:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:18:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:18:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:18:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:18:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:18:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:18:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:18:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:18:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:18:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:18:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:18:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:18:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:18:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:18:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:18:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:18:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:19:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:19:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:19:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:19:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:19:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:19:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:19:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:19:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:20:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:20:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:20:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:20:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:20:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:20:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:20:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:20:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:20:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:20:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:20:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:20:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:21:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:21:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:21:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:21:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:21:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:21:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:21:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:21:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:21:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:21:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:21:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:21:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:21:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:21:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:21:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:21:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:21:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:21:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:21:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:21:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:22:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:22:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:22:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:22:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:22:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:22:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:22:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:22:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:22:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:22:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:22:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:22:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:22:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:22:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:22:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:22:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:23:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:23:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:23:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:23:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:23:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:23:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:23:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:23:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:23:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:23:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:23:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:23:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:24:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:24:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:24:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:24:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:24:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:24:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:24:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:24:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:24:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:24:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:24:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:24:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:24:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:24:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:24:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:24:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:24:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:24:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:24:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:24:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:25:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:25:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:25:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:25:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:25:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:25:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:25:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:25:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:26:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:26:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:26:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:26:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:26:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:26:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:26:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:26:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:26:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:26:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:26:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:26:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:27:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:27:30 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:27:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:27:31 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:27:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:27:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:27:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:27:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:27:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:27:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:27:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:27:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:27:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:27:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:27:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:27:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:27:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:27:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:27:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:27:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:27:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:27:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:27:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:27:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:27:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:27:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-15 15:27:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:27:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:28:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:28:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:28:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:28:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:28:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:28:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:28:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:28:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:29:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.6MB, CPU 0.0% 2025-10-15 15:29:00 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.6MB, CPU 0.0% 2025-10-15 15:29:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 1, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:29:01 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 213.6MB, CPU 0.0% 2025-10-15 15:29:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:29:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:29:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:29:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:29:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:29:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:29:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:29:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:08 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:30:08 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:30:08 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:30:08 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:30:08 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:30:08 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:30:08 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:30:08 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:30:08 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:30:08 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:30:08 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:30:08 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:30:10 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:30:10 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:30:10 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:30:10 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:30:10 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:30:10 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:30:10 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:30:10 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:30:10 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.80GB 2025-10-15 15:30:10 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:30:10 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:30:10 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:30:10 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:30:10 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:30:10 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:30:10 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:30:10 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB 2025-10-15 15:30:10 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:30:10 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:30:10 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:30:10 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:30:10 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:30:10 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:30:10 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:30:10 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:30:10 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:30:10 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:30:10 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:30:10 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:30:10 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:30:10 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:30:10 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:30:10 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:30:11 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:30:11 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:30:11 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:30:11 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB 2025-10-15 15:30:11 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:30:11 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:30:11 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:30:11 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:30:11 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:30:11 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:30:11 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:30:11 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB 2025-10-15 15:30:11 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:30:11 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:30:11 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:30:11 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:30:11 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:30:11 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:30:11 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:30:11 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:30:11 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:30:11 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:30:11 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:30:11 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:30:11 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:30:11 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:30:11 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:30:11 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:30:11 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:30:11 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:30:11 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:55] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:30:11 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:30:11 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:30:11 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:30:11 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:30:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:30:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:31:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:31:19 - INFO - database - [database.py:1046] - check_database_integrity - 数据库完整性检查通过: 14 个 URL 记录, 38 个日志记录 2025-10-15 15:31:40 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:31:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.4MB, CPU 0.0% 2025-10-15 15:31:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.9MB, CPU 0.0% 2025-10-15 15:31:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.0MB, CPU 0.0% 2025-10-15 15:31:42 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: h60pmcrk6e 2025-10-15 15:31:42 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://www.twitch.tv/iamruru,結果將立即顯示 2025-10-15 15:31:42 - INFO - database - [database.py:436] - process_url - URL https://www.twitch.tv/iamruru 已存在,但按照需求視為新提交進行審核 2025-10-15 15:31:42 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 83, Phone: , Email: chengruwu0322@gmail.com 2025-10-15 15:31:42 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=83, URL=https://www.twitch.tv/iamruru 2025-10-15 15:31:42 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-15 15:31:42 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 83 2025-10-15 15:31:42 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://www.twitch.tv/iamruru 2025-10-15 15:31:42 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-15 15:31:42 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/iamruru, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:31:42 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:31:42 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/iamruru 的第 1/3 次請求 2025-10-15 15:31:42 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:31:42 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:31:42 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:31:42 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:31:42 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:31:42 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:31:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:31:42 - 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-15 15:31:42 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:31:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:31:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:31:43 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:31:43 - 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 0x57b4fda9b4e3 <unknown> #1 0x57b4fd7cac76 <unknown> #2 0x57b4fd7f3d78 <unknown> #3 0x57b4fd7f0029 <unknown> #4 0x57b4fd82eccc <unknown> #5 0x57b4fd82e47f <unknown> #6 0x57b4fd825de3 <unknown> #7 0x57b4fd7fb2dd <unknown> #8 0x57b4fd7fc34e <unknown> #9 0x57b4fda5b3e4 <unknown> #10 0x57b4fda5f3d7 <unknown> #11 0x57b4fda69b20 <unknown> #12 0x57b4fda60023 <unknown> #13 0x57b4fda2e1aa <unknown> #14 0x57b4fda846b8 <unknown> #15 0x57b4fda84847 <unknown> #16 0x57b4fda94243 <unknown> #17 0x70d425a94ac3 <unknown> 2025-10-15 15:31:43 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:31:43 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:31:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 83, UID: h60pmcrk6e, 進度: 0/1 2025-10-15 15:31:43 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:31:43 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/iamruru 2025-10-15 15:31:43 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/iamruru 2025-10-15 15:31:49 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/iamruru 2025-10-15 15:31:49 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:31:50 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:31:50 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:31:50 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/iamruru 2025-10-15 15:31:52 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:31:52 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:31:52 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:31:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 83, UID: h60pmcrk6e, 進度: 0/1 2025-10-15 15:31:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 80, UID: cxts4603qh, 進度: 21/21 2025-10-15 15:32:04 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 448 2025-10-15 15:32:05 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 70 2025-10-15 15:32:07 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 69,內容可能已加載完成 2025-10-15 15:32:07 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:32:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/iamruru (實際 URL: https://www.twitch.tv/iamruru) 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:32:37 - INFO - database - [database.py:505] - update_url_status - URL ID 83 状态已更新为 processing 2025-10-15 15:32:37 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 276541 字節 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 134 字節 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 392 字節 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 272 字節 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 392 字節,約 69 個詞,44 行 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 離線 看看這段《League of Legends》 實況 吧 (建立於 3 天前)。 開啟通知 我敢打賭 打野九成幫上九成輸 !陪玩 凱莎、庫奇、路西恩教學 小鼠條 582 位追隨者 追隨 訂閱 首頁 關於 時間表 影片 聊天 精選剪輯 顯示全部 小鼠條 最近實況過的分類 League of Legends WUCHANG: Fallen Feathers 小鼠條 推薦這些實況主 嘟嚕嚕1112 離線 阿和1 離線 這部影片的音樂部分已設為靜音,因為此音樂似乎含有由第三方擁有或控管的著作權內容。 00:00:45 00:38:35 音量 實況聊天室 贈送 1 份訂閱就能奪下排行榜第 1 名! 贈送 1 份訂閱 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:32:38 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://www.twitch.tv/iamruru, HTML 內容大小=276541 字節 2025-10-15 15:32:38 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://www.twitch.tv/iamruru, 發現問題數=5, 嚴重問題數=3, 耗時=0.031秒 2025-10-15 15:32:38 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(2), suspicious_external_script(1), iframe(2) 2025-10-15 15:32:38 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(2), warning(3) 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 25 個內部鏈接 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2683] - find_internal_links - 鏈接數量 (25) 超過限制 (20),進行截斷 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 20 個有效內部鏈接 2025-10-15 15:32:38 - INFO - main - [url_processor.py:153] - process_url - 找到 20 個內部鏈接,最大深度2層 2025-10-15 15:32:38 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=83):總計 21 個網址,已完成 1 個(主頁面) 2025-10-15 15:32:38 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/iamruru 2025-10-15 15:32:38 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/iamruru, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/iamruru 的第 1/3 次請求 2025-10-15 15:32:38 - 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 0x7d45e88cd390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/88134b68e35d7c43b8e577ca342787c9 2025-10-15 15:32:38 - 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 0x7d45e88ce950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/88134b68e35d7c43b8e577ca342787c9 2025-10-15 15:32:38 - 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 0x7d45e88cf050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/88134b68e35d7c43b8e577ca342787c9 2025-10-15 15:32:38 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:32:38 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:32:38 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:32:38 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:32:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:32:38 - 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-15 15:32:38 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:32:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:32:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:32:39 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:32:39 - 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 0x60182574d4e3 <unknown> #1 0x60182547cc76 <unknown> #2 0x6018254a5d78 <unknown> #3 0x6018254a2029 <unknown> #4 0x6018254e0ccc <unknown> #5 0x6018254e047f <unknown> #6 0x6018254d7de3 <unknown> #7 0x6018254ad2dd <unknown> #8 0x6018254ae34e <unknown> #9 0x60182570d3e4 <unknown> #10 0x6018257113d7 <unknown> #11 0x60182571bb20 <unknown> #12 0x601825712023 <unknown> #13 0x6018256e01aa <unknown> #14 0x6018257366b8 <unknown> #15 0x601825736847 <unknown> #16 0x601825746243 <unknown> #17 0x7b12cfe94ac3 <unknown> 2025-10-15 15:32:39 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:32:39 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:32:39 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:32:39 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/iamruru 2025-10-15 15:32:39 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/iamruru 2025-10-15 15:32:43 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token has expired. 2025-10-15 15:32:43 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/submit]: 400 Bad Request: The CSRF token has expired. Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 108, in validate_csrf token = s.loads(data, max_age=time_limit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/itsdangerous/timed.py", line 204, in loads base64d, timestamp = signer.unsign( ^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/itsdangerous/timed.py", line 142, in unsign raise SignatureExpired( itsdangerous.exc.SignatureExpired: Signature age 4916 > 3600 seconds The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect validate_csrf(self._get_csrf_token()) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 110, in validate_csrf raise ValidationError("The CSRF token has expired.") from e wtforms.validators.ValidationError: The CSRF token has expired. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request rv = self.preprocess_request() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request rv = self.ensure_sync(before_func)() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect self.protect() File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect self._error_response(e.args[0]) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response raise CSRFError(reason) flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token has expired. 2025-10-15 15:32:45 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/iamruru 2025-10-15 15:32:46 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:32:47 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:32:47 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:32:47 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/iamruru 2025-10-15 15:32:49 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:32:49 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:32:49 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:32:56 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token has expired. 2025-10-15 15:32:56 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/submit]: 400 Bad Request: The CSRF token has expired. Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 108, in validate_csrf token = s.loads(data, max_age=time_limit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/itsdangerous/timed.py", line 204, in loads base64d, timestamp = signer.unsign( ^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/itsdangerous/timed.py", line 142, in unsign raise SignatureExpired( itsdangerous.exc.SignatureExpired: Signature age 4929 > 3600 seconds The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect validate_csrf(self._get_csrf_token()) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 110, in validate_csrf raise ValidationError("The CSRF token has expired.") from e wtforms.validators.ValidationError: The CSRF token has expired. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request rv = self.preprocess_request() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request rv = self.ensure_sync(before_func)() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect self.protect() File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect self._error_response(e.args[0]) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response raise CSRFError(reason) flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token has expired. 2025-10-15 15:33:00 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 448 2025-10-15 15:33:01 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 70 2025-10-15 15:33:01 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token has expired. 2025-10-15 15:33:01 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/submit]: 400 Bad Request: The CSRF token has expired. Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 108, in validate_csrf token = s.loads(data, max_age=time_limit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/itsdangerous/timed.py", line 204, in loads base64d, timestamp = signer.unsign( ^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/itsdangerous/timed.py", line 142, in unsign raise SignatureExpired( itsdangerous.exc.SignatureExpired: Signature age 4934 > 3600 seconds The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect validate_csrf(self._get_csrf_token()) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 110, in validate_csrf raise ValidationError("The CSRF token has expired.") from e wtforms.validators.ValidationError: The CSRF token has expired. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request rv = self.preprocess_request() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request rv = self.ensure_sync(before_func)() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect self.protect() File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect self._error_response(e.args[0]) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response raise CSRFError(reason) flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token has expired. 2025-10-15 15:33:03 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 69,內容可能已加載完成 2025-10-15 15:33:03 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:33:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:33:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-10-15 15:33:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 181.6MB, CPU 0.0% 2025-10-15 15:33:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:33:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 81, UID: 7mbn61mlp0, 進度: 21/21 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:33:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 83, UID: h60pmcrk6e, 進度: 1/21 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/iamruru (實際 URL: https://www.twitch.tv/iamruru) 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 280876 字節 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 134 字節 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 392 字節 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 272 字節 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 392 字節,約 69 個詞,44 行 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 離線 看看這段《League of Legends》 實況 吧 (建立於 3 天前)。 開啟通知 我敢打賭 打野九成幫上九成輸 !陪玩 凱莎、庫奇、路西恩教學 小鼠條 582 位追隨者 追隨 訂閱 首頁 關於 時間表 影片 聊天 精選剪輯 顯示全部 小鼠條 最近實況過的分類 League of Legends WUCHANG: Fallen Feathers 小鼠條 推薦這些實況主 嘟嚕嚕1112 離線 阿和1 離線 這部影片的音樂部分已設為靜音,因為此音樂似乎含有由第三方擁有或控管的著作權內容。 00:00:45 00:38:35 音量 實況聊天室 贈送 1 份訂閱就能奪下排行榜第 1 名! 贈送 1 份訂閱 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:33:34 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 2/21 個網址 2025-10-15 15:33:34 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/lolesportstw 2025-10-15 15:33:34 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/lolesportstw, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/lolesportstw 的第 1/3 次請求 2025-10-15 15:33:34 - 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 0x7d45e8a23490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/36066a39f8024443a43de6d543a7f793 2025-10-15 15:33:34 - 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 0x7d45e8741050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/36066a39f8024443a43de6d543a7f793 2025-10-15 15:33:34 - 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 0x7d45e8a39010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/36066a39f8024443a43de6d543a7f793 2025-10-15 15:33:34 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:33:34 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:33:34 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:33:34 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:33:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:33:34 - 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-15 15:33:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:33:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:33:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:33:35 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:33:35 - 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 0x5aad1184b4e3 <unknown> #1 0x5aad1157ac76 <unknown> #2 0x5aad115a3d78 <unknown> #3 0x5aad115a0029 <unknown> #4 0x5aad115deccc <unknown> #5 0x5aad115de47f <unknown> #6 0x5aad115d5de3 <unknown> #7 0x5aad115ab2dd <unknown> #8 0x5aad115ac34e <unknown> #9 0x5aad1180b3e4 <unknown> #10 0x5aad1180f3d7 <unknown> #11 0x5aad11819b20 <unknown> #12 0x5aad11810023 <unknown> #13 0x5aad117de1aa <unknown> #14 0x5aad118346b8 <unknown> #15 0x5aad11834847 <unknown> #16 0x5aad11844243 <unknown> #17 0x7c4748894ac3 <unknown> 2025-10-15 15:33:35 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:33:35 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:33:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:33:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/lolesportstw 2025-10-15 15:33:36 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/lolesportstw 2025-10-15 15:33:43 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/lolesportstw 2025-10-15 15:33:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 80, UID: cxts4603qh, 進度: 21/21 2025-10-15 15:33:44 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:33:46 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:33:46 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:33:46 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/lolesportstw 2025-10-15 15:33:48 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:33:48 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:33:48 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:34:00 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 1441 2025-10-15 15:34:01 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 194 2025-10-15 15:34:03 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 194,內容可能已加載完成 2025-10-15 15:34:03 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:34:09 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: xnxfan5fac 2025-10-15 15:34:09 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://yushibuhou.com/,結果將立即顯示 2025-10-15 15:34:09 - INFO - database - [database.py:436] - process_url - URL https://yushibuhou.com/ 已存在,但按照需求視為新提交進行審核 2025-10-15 15:34:09 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 84, Phone: , Email: royal.stone.1998@gmail.com 2025-10-15 15:34:09 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=84, URL=https://yushibuhou.com/ 2025-10-15 15:34:09 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-15 15:34:09 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #2 開始處理 URL ID: 84 2025-10-15 15:34:09 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://yushibuhou.com/ 2025-10-15 15:34:09 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-15 15:34:09 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:34:09 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:34:09 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/ 的第 1/3 次請求 2025-10-15 15:34:09 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:34:09 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:34:09 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:34:09 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:34:09 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:34:09 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:34:09 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:09 - 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-15 15:34:09 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:34:09 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:10 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:10 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:34:10 - 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 0x57749f5b34e3 <unknown> #1 0x57749f2e2c76 <unknown> #2 0x57749f30bd78 <unknown> #3 0x57749f308029 <unknown> #4 0x57749f346ccc <unknown> #5 0x57749f34647f <unknown> #6 0x57749f33dde3 <unknown> #7 0x57749f3132dd <unknown> #8 0x57749f31434e <unknown> #9 0x57749f5733e4 <unknown> #10 0x57749f5773d7 <unknown> #11 0x57749f581b20 <unknown> #12 0x57749f578023 <unknown> #13 0x57749f5461aa <unknown> #14 0x57749f59c6b8 <unknown> #15 0x57749f59c847 <unknown> #16 0x57749f5ac243 <unknown> #17 0x7b3373894ac3 <unknown> 2025-10-15 15:34:10 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:34:10 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:34:11 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:34:11 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/ 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:34:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:34:15 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/ 2025-10-15 15:34:15 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:34:15 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:34:15 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:34:15 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/ 2025-10-15 15:34:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 84, UID: xnxfan5fac, 進度: 0/1 2025-10-15 15:34:17 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:34:17 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:34:17 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:34:17 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:34:17 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:34:21 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 191 2025-10-15 15:34:23 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 191,內容可能已加載完成 2025-10-15 15:34:23 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:34:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 84, UID: xnxfan5fac, 進度: 0/1 2025-10-15 15:34:33 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/lolesportstw (實際 URL: https://www.twitch.tv/lolesportstw) 2025-10-15 15:34:33 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:34:33 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:34:33 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 448888 字節 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 334 字節 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 3001 字節 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 434 字節 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 3001 字節,約 376 個詞,298 行 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE lolesportstw 追隨 訂閱 [中文] Worlds 2025 - Swiss Stage - Round 1 Day 1 League of Legends 英雄聯盟 中文 leagueoflegends Esports lcp loltwitch Drop啟用 启用掉宝 20,956 觀眾人數:20,956 2:59:25 Live 實況已進行 2:59:25 關於 lolesportstw 31.1萬 名追隨者 lolesportstw 正在直播 League of Legends 實況。 Introducing the LoL Esports Overlay Extension! Enhance your LoL Esports watch experience with live stats! 請放大播放器以使用此實況互動元件。 LoL Esports Overlay LoL Esports Overlay LIVE 音量 音量 實況聊天室 shimadamainer 1 X_I_L_E_D 1 lastfuture 1 shimadamainer 1 X_I_L_E_D 1 lastfuture 1 訂閱就能獲得掉寶! 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 凱希契布曼 (roderick9903) : DK涅槃組世界賽冠軍還被BFX打掉,真的QQ 映風 (nhk095553244) : 17分 兩件大裝 nomore543 : 查一下戶口 羊奶妹 (love6622858) : 上票環節 士口 (jqp994b12) : 小卡 (fs30218) : 感覺KT是不是跟GEN買那場系列賽了啊??? karlskingdom : 要被零封了 高級督察陳國榮 (yurong1216) : 五路全書 LCK之恥 closeuouo : I K U hahaha60712 : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 可達鴨 (peterkeong) : PSG能贏GG hazel199606 : 誰很難抓 清水如澈 (et60905) : 17分鐘 氣氣鵝 (cozzato) : 沒做功課啊 Sosay_G : gg就想搞事把我許哥給送下去 母乳拿鐵 (ggdadader100122) : antoniowu0127 : MKOI > GENG firedragonXXD : 17分 2級鞋 2件套- - 閣樓渣男 (jason_tsukkomi) : 這怎麼玩 隊友有什麼用 又怎麼了 軟軟的鯊魚 (jinnin98325) : 許哥會選勒布朗點死加里歐 你個黑橄欖 (wed669) : BDD要打AD了 悠弦 (w9s5862kc) : BDD這個罪人,把隊友帶到不屬於他們的高度 さくられいん (acacbaba) : 大家好,我是原神哥,我是因为没比赛打才下载这个程序。希望可以跟各位台湾朋友一起观看这热血的世界赛。 味噌豬骨拉麵 (gold5player) : 把KT帶到不屬於他們的地方 扌空妙 (condelong) : 打太多BO3 BO5 不會打BO1了 爆漿水母 (qwertyuiot13579) : ad 2.2k差距 混吃等死過一生 (yyggbig) : 步 piko9487 : PSG穩了 GENG輸左邊 秀吉大大 (hideyoshibigbig) : BDD 哥吉拉屎 (ss37130017ss) : P驗乖乖玩這種就對啦 小冉 (waterblue917) : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 不小心就笑出腹肌 (zhiyuzhan87) : 不會玩凱特琳還選 李知恩的狗寶貝 (callmehungjuin) : 欸欸我點數全壓KT欸 sevenyne : BDD: Kaizea : 除非AD自己給機會 傻傻傻企鵝 (firstcheer_ouo) : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 madlife1551 : kt打ig應該會被送下去 gwenc8 : PSG會不會下場遇到KT.. lyudmila_skaya : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 james761028 : KT還我真牛幣 ch1ste_ : GEN太壞了吧 超大隻熱狗棒 (qazw15156) : 捲5個 燒5個 回覆 @小卡 : 感覺KT是不是跟GEN買那場系列賽了啊??? 溫溫跟熊熊問安安 (0411wenwen) : 經典造謠== 紓影 (adam4442) : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 smallmonkey624 : AD GAP 奶油西多士 (kiwiedward0904) : BDR豪痛苦 映風 (nhk095553244) : KT 拉一坨大的 她說人多以為有我 (elle1226) : GG就是故意要搞DK的 太恨了北極熊 肥肥多摩君 (wildpower1234) : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 回覆 @piko9487 : PSG穩了 GENG輸左邊 BloodTrail jeffery0705 : paladinner5987 : ...整隊直接去38線服役了吧 育智小莊 (mts20159) : BDD:誰是ADC!! 我就知道是你 又是你 你最爛!! appleRtsan : 大家好,我是僵尸,我是因为看大楷才下载这个程序。希望可以和大楷跟各位台湾朋友一起拔头来庆祝世界赛。 show6215 : KT不會今年連賣票都不能賣吧 迦迦迦納 (linkaj05192) : 4保1 那個1還贏2千 怎麼輸? 日向伊爾ヒナタイル (hinatairu) : 而且還有露露 這AD有雙朝都可以點到底 汗味任務 (lightwolf5825) : KT能進世界賽 每個LCK隊伍都有責任 さくられいん (acacbaba) : 大家好,我是原神哥,我是因为没比赛打才下载这个程序。希望可以跟各位台湾朋友一起观看这热血的世界赛。 極夜 (bossunjay) : 左邊 完全沒傷害 只能靠BDD捲一個大的 hahaitsme0102 : cfo>lec>kt>geng cow8dabb : KT國內極限操作 世界賽直接排毒? chisuki1013 : 還我DK 回覆 @李知恩的狗寶貝 : 欸欸我點數全壓KT欸 蹭蹭蹭 (recalsky) : 保重 回覆 @Sosay_G : gg就想搞事把我許哥給送下去 roger1232 roger1232 ryab8864173 : 你有沒有想過是想搞T1 然後看DK能不能把T1送回家 您可以前往設定停用動態表情符號 查看 發言時間限制模式 傳送訊息  0 0 聊天 2025-10-15 15:34:34 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 3/21 個網址 2025-10-15 15:34:34 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/chesterccj 2025-10-15 15:34:34 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/chesterccj, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/chesterccj 的第 1/3 次請求 2025-10-15 15:34:34 - 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 0x7d45e8efb250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/91f94c5bdce17bdb1cc4ca27f08f5853 2025-10-15 15:34:34 - 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 0x7d45e8351110>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/91f94c5bdce17bdb1cc4ca27f08f5853 2025-10-15 15:34:34 - 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 0x7d45e8351c50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/91f94c5bdce17bdb1cc4ca27f08f5853 2025-10-15 15:34:34 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:34:34 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:34:34 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:34:34 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:34:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34: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-15 15:34:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:34:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:35 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:34:35 - 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 0x5e76cdf2a4e3 <unknown> #1 0x5e76cdc59c76 <unknown> #2 0x5e76cdc82d78 <unknown> #3 0x5e76cdc7f029 <unknown> #4 0x5e76cdcbdccc <unknown> #5 0x5e76cdcbd47f <unknown> #6 0x5e76cdcb4de3 <unknown> #7 0x5e76cdc8a2dd <unknown> #8 0x5e76cdc8b34e <unknown> #9 0x5e76cdeea3e4 <unknown> #10 0x5e76cdeee3d7 <unknown> #11 0x5e76cdef8b20 <unknown> #12 0x5e76cdeef023 <unknown> #13 0x5e76cdebd1aa <unknown> #14 0x5e76cdf136b8 <unknown> #15 0x5e76cdf13847 <unknown> #16 0x5e76cdf23243 <unknown> #17 0x77a2f9494ac3 <unknown> 2025-10-15 15:34:35 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:34:35 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:34:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:34:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/chesterccj 2025-10-15 15:34:36 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/chesterccj 2025-10-15 15:34:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:34:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:34:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 186.6MB, CPU 0.0% 2025-10-15 15:34:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:34:41 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/ (實際 URL: https://yushibuhou.com/) 2025-10-15 15:34:41 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:34:41 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:34:41 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:34:41 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:34:42 - INFO - database - [database.py:505] - update_url_status - URL ID 84 状态已更新为 processing 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 313230 字節 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1190 字節 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1808 字節 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1727 字節 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 1181 字節 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 3001 字節,約 479 個詞,253 行 2025-10-15 15:34:42 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 戴上你的力量 Wear Your Power 開始挑選你的療癒水晶,感受能量與美好 立即擁有 本月新品上市 更多商品 手鍊 | Bracelets​ 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊 評分 0 滿分 5 NT$ 1,680 – NT$ 1,730 價格範圍:NT$1,680 到 NT$1,730 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear New Arrivals 探索全系列 日常 也能被療癒光芒包圍 手鍊 | Bracelets 耳環 | Earrings 項鍊 | Necklaces 戒指 | Rings Special Offer Up to 30% OFF Shop Now 御石不后小百科 查看更多文章 Ultrices scelerisque nibh in malesuada Vel aenean id lacus, nec volutpat purus tempor lacus, egestas libero adipiscing venenatis cras egestas enim. Placerat mollis congue mauris pulvinar Suscipit urna, leo aliquam pretium urna duis gravida proin tristique ullamcorper ornare ut mauris varius pellentesque. Gravida sed varius id Vel ornare lobortis nunc, magna neque, sapien orci aliquam duis scelerisque ut lectus cursus elementum sed. Our Featured Products Hurry Up! Deal of the Day! Buy This T-shirt At 20% Discount, Use Code Off20 Shop Now Most Loved Products 客人這樣說: 「手鏈低調又有質感。」 凱文 「戴上手鏈後,每天都覺得心情平靜又有力量!」 小晴 「工作壓力大時,看著手鏈就有安定感,好像有人陪著我。」 宇辰 「粉色的手鏈真的好浪漫,每次配戴都覺得心情愉悅!」 品妤 「我都叫姐妹一起買,真的很好看~~」 小安 「手鏈低調又有質感。」 凱文 「戴上手鏈後,每天都覺得心情平靜又有力量!」 小晴 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 額外的結構化內容: 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊評分 0 滿分 5 NT$1,680 – NT$1,730價格範圍:NT$1,680 到 NT$1,730 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:34:42 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://yushibuhou.com/, HTML 內容大小=313230 字節 2025-10-15 15:34:43 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://yushibuhou.com/, 發現問題數=3, 嚴重問題數=1, 耗時=0.105秒 2025-10-15 15:34:43 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(1), suspicious_external_script(2) 2025-10-15 15:34:43 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(2), warning(1) 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 20 個內部鏈接 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 20 個有效內部鏈接 2025-10-15 15:34:43 - INFO - main - [url_processor.py:153] - process_url - 找到 20 個內部鏈接,最大深度2層 2025-10-15 15:34:43 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=84):總計 21 個網址,已完成 1 個(主頁面) 2025-10-15 15:34:43 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/ 2025-10-15 15:34:43 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/ 的第 1/3 次請求 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/chesterccj 2025-10-15 15:34:43 - 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 0x7d45e83a1e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c487f828ee1afa18f11c0cd57cc997d 2025-10-15 15:34:43 - 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 0x7d45e83a2c10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c487f828ee1afa18f11c0cd57cc997d 2025-10-15 15:34:43 - 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 0x7d45e83a2790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c487f828ee1afa18f11c0cd57cc997d 2025-10-15 15:34:43 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:34:43 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:34:43 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:34:43 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:34:43 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:43 - 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-15 15:34:44 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:34:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:34:45 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:34:45 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:34:45 - 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 0x5d3cdf32a4e3 <unknown> #1 0x5d3cdf059c76 <unknown> #2 0x5d3cdf082d78 <unknown> #3 0x5d3cdf07f029 <unknown> #4 0x5d3cdf0bdccc <unknown> #5 0x5d3cdf0bd47f <unknown> #6 0x5d3cdf0b4de3 <unknown> #7 0x5d3cdf08a2dd <unknown> #8 0x5d3cdf08b34e <unknown> #9 0x5d3cdf2ea3e4 <unknown> #10 0x5d3cdf2ee3d7 <unknown> #11 0x5d3cdf2f8b20 <unknown> #12 0x5d3cdf2ef023 <unknown> #13 0x5d3cdf2bd1aa <unknown> #14 0x5d3cdf3136b8 <unknown> #15 0x5d3cdf313847 <unknown> #16 0x5d3cdf323243 <unknown> #17 0x7283e5a94ac3 <unknown> 2025-10-15 15:34:45 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:34:45 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:34:47 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:34:47 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/ 2025-10-15 15:34:47 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:34:47 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:34:47 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/chesterccj 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/ 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:34:50 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/ 2025-10-15 15:34:52 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:34:52 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:34:52 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:34:56 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:34:56 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:35:00 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 191 2025-10-15 15:35:01 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 472 2025-10-15 15:35:02 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 191,內容可能已加載完成 2025-10-15 15:35:02 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:35:02 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 77 2025-10-15 15:35:04 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 77,內容可能已加載完成 2025-10-15 15:35:04 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:35:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-15 15:35:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:35:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/ (實際 URL: https://yushibuhou.com/) 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 313249 字節 2025-10-15 15:35:20 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1190 字節 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1808 字節 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1727 字節 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 1181 字節 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 3001 字節,約 479 個詞,253 行 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 戴上你的力量 Wear Your Power 開始挑選你的療癒水晶,感受能量與美好 立即擁有 本月新品上市 更多商品 手鍊 | Bracelets​ 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊 評分 0 滿分 5 NT$ 1,680 – NT$ 1,730 價格範圍:NT$1,680 到 NT$1,730 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear New Arrivals 探索全系列 日常 也能被療癒光芒包圍 手鍊 | Bracelets 耳環 | Earrings 項鍊 | Necklaces 戒指 | Rings Special Offer Up to 30% OFF Shop Now 御石不后小百科 查看更多文章 Ultrices scelerisque nibh in malesuada Vel aenean id lacus, nec volutpat purus tempor lacus, egestas libero adipiscing venenatis cras egestas enim. Placerat mollis congue mauris pulvinar Suscipit urna, leo aliquam pretium urna duis gravida proin tristique ullamcorper ornare ut mauris varius pellentesque. Gravida sed varius id Vel ornare lobortis nunc, magna neque, sapien orci aliquam duis scelerisque ut lectus cursus elementum sed. Our Featured Products Hurry Up! Deal of the Day! Buy This T-shirt At 20% Discount, Use Code Off20 Shop Now Most Loved Products 客人這樣說: 「手鏈低調又有質感。」 凱文 「戴上手鏈後,每天都覺得心情平靜又有力量!」 小晴 「工作壓力大時,看著手鏈就有安定感,好像有人陪著我。」 宇辰 「粉色的手鏈真的好浪漫,每次配戴都覺得心情愉悅!」 品妤 「我都叫姐妹一起買,真的很好看~~」 小安 「手鏈低調又有質感。」 凱文 「戴上手鏈後,每天都覺得心情平靜又有力量!」 小晴 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 額外的結構化內容: 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊評分 0 滿分 5 NT$1,680 – NT$1,730價格範圍:NT$1,680 到 NT$1,730 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:35:21 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 2/21 個網址 2025-10-15 15:35:21 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/隱私權政策/ 2025-10-15 15:35:21 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/隱私權政策/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/隱私權政策/ 的第 1/3 次請求 2025-10-15 15:35:21 - 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 0x7d45e8378fd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6227200a7e7de93263501c5b8f4be2b9 2025-10-15 15:35:21 - 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 0x7d45ea8138d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6227200a7e7de93263501c5b8f4be2b9 2025-10-15 15:35:21 - 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 0x7d45e8a24650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6227200a7e7de93263501c5b8f4be2b9 2025-10-15 15:35:21 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:35:21 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:35:21 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:35:21 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:35:21 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35:21 - 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-15 15:35:21 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:35:22 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35:22 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35:22 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:35:22 - 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 0x62844be4b4e3 <unknown> #1 0x62844bb7ac76 <unknown> #2 0x62844bba3d78 <unknown> #3 0x62844bba0029 <unknown> #4 0x62844bbdeccc <unknown> #5 0x62844bbde47f <unknown> #6 0x62844bbd5de3 <unknown> #7 0x62844bbab2dd <unknown> #8 0x62844bbac34e <unknown> #9 0x62844be0b3e4 <unknown> #10 0x62844be0f3d7 <unknown> #11 0x62844be19b20 <unknown> #12 0x62844be10023 <unknown> #13 0x62844bdde1aa <unknown> #14 0x62844be346b8 <unknown> #15 0x62844be34847 <unknown> #16 0x62844be44243 <unknown> #17 0x736b02e94ac3 <unknown> 2025-10-15 15:35:22 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:35:22 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:35:23 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:35:23 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/隱私權政策/ 2025-10-15 15:35:26 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/隱私權政策/ 2025-10-15 15:35:26 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:35:26 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:35:26 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:35:26 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/隱私權政策/ 2025-10-15 15:35:28 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:35:28 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:35:28 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:35:29 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:35:29 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:35:33 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 83 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/chesterccj (實際 URL: https://www.twitch.tv/chesterccj) 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:35:34 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 283689 字節 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 132 字節 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 404 字節 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 235 字節 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 404 字節,約 67 個詞,50 行 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE 舞秋風 追隨 訂閱 掛披風台回來了!! 看台就能獲得最新銅披風【5live】正在播的內容為 【餵養奇點生存】 Minecraft 中文 启用掉宝 观众奖励 128 觀眾人數:128 28:55:32 Live 實況已進行 28:55:32 關於 舞秋風 13.8萬 名追隨者 大家好 我是舞秋風 舞秋風 的目標 還差 1,637 名追隨者! 138363 /140000 追隨者 請放大播放器以使用此實況互動元件。 Pando Pando LIVE 音量 音量 實況聊天室 烟雨极光 1 notsolixo 1 eminaf23ghjpl 1 烟雨极光 1 notsolixo 1 eminaf23ghjpl 1 訂閱就能獲得掉寶! 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:35:35 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 4/21 個網址 2025-10-15 15:35:35 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/riotgames 2025-10-15 15:35:35 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/riotgames, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/riotgames 的第 1/3 次請求 2025-10-15 15:35: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 0x7d45e8af97d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e1d7c7118f60283ef15f525c64482f19 2025-10-15 15:35: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 0x7d45e8d6b350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e1d7c7118f60283ef15f525c64482f19 2025-10-15 15:35: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 0x7d45e8d6b790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e1d7c7118f60283ef15f525c64482f19 2025-10-15 15:35:35 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:35:35 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:35:35 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 83,內容可能已加載完成 2025-10-15 15:35:35 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:35:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35: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-15 15:35:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:35:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35: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-15 15:35: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 0x5d7c912dd4e3 <unknown> #1 0x5d7c9100cc76 <unknown> #2 0x5d7c91035d78 <unknown> #3 0x5d7c91032029 <unknown> #4 0x5d7c91070ccc <unknown> #5 0x5d7c9107047f <unknown> #6 0x5d7c91067de3 <unknown> #7 0x5d7c9103d2dd <unknown> #8 0x5d7c9103e34e <unknown> #9 0x5d7c9129d3e4 <unknown> #10 0x5d7c912a13d7 <unknown> #11 0x5d7c912abb20 <unknown> #12 0x5d7c912a2023 <unknown> #13 0x5d7c912701aa <unknown> #14 0x5d7c912c66b8 <unknown> #15 0x5d7c912c6847 <unknown> #16 0x5d7c912d6243 <unknown> #17 0x73bfa8294ac3 <unknown> 2025-10-15 15:35:36 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:35:36 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:35:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:35:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/riotgames 2025-10-15 15:35:36 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/riotgames 2025-10-15 15:35:45 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/riotgames 2025-10-15 15:35:47 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:35:47 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:35:47 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:35:47 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/riotgames 2025-10-15 15:35:50 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:35:50 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:35:50 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:35:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 83, UID: h60pmcrk6e, 進度: 4/21 2025-10-15 15:35:53 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/隱私權政策/ (實際 URL: https://yushibuhou.com/%E9%9A%B1%E7%A7%81%E6%AC%8A%E6%94%BF%E7%AD%96/) 2025-10-15 15:35:53 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:35:53 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:35:53 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 197255 字節 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 994 字節 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1047 字節 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 966 字節 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 284 字節 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1290 字節,約 111 個詞,70 行 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 隱私權政策 御石不后非常重視你的隱私與個人資料保護,請你在使用本網站及服務前,仔細閱讀以下內容,以保障你的權益。 一、適用範圍 本隱私權政策說明御石不后在你使用網站服務時,如何蒐集、使用及保護你的資料。 本政策不適用於本網站以外的其他網站,也不會在未經你同意的情況下,將你的資料提供給與本品牌無關的第三方。 二、個人資料的收集 當你註冊會員、瀏覽網站或參加活動時,我們可能會蒐集必要的資料,例如姓名、電話、電子郵件等。 我們也可能透過合作夥伴取得必要資料。完成註冊並登入後,即表示我們已取得你的個人資料。 蒐集資料的目的: - 提供網站服務、客服與技術支援 - 履行法定或契約義務 - 保護你及其他使用者的權益 - 活動或行銷資訊通知 - 網站流量及行為分析(不指向特定個人) 三、個人資料的使用 御石不后蒐集的資料僅供品牌內部使用,並承諾保密。 未經你同意,我們不會提供給第三方,除非: - 為完成服務或履行合約所需 - 取得你授權後提供你要求的服務 - 法令、司法機關或主管單位要求 四、第三方服務 為提供更完整的服務,我們可能會使用第三方支付、物流或合作夥伴。部分服務可能會直接請你提供資料,你可自行決定是否提供。 五、未成年使用者 未滿 20 歲的使用者,需經法定代理人同意才能使用本服務。 御石不后不會刻意蒐集兒童個人資料,也不允許未經同意的未成年人註冊。 六、Cookies 與網站功能 本網站會使用 Cookie 技術來改善使用體驗,你可以自行調整瀏覽器對 Cookie 的接受程度。 若拒絕所有 Cookie,部分功能可能無法使用。 七、政策修正 當你使用本服務,即表示你已閱讀並同意本隱私權政策。 我們保留隨時修訂本政策的權利,更新後的條款會公布於網站,請隨時查閱。若不同意,請停止使用本服務。 八、資料查閱與刪除 會員可隨時查看、修改個人資料,並可請求刪除或停止使用這些資料。 通知型訊息(如訂單或服務通知) - 僅傳送重要資訊,不用於廣告 - 若使用 LINE 接收通知型訊息,可透過以下步驟設定 - 點選「主頁」>「設定」 - 點選「隱私設定」 - 點選「提供使用資料」 - 開啟或關閉「LINE通知型訊息」 關閉後,將不再收到來自任何官方帳號的通知訊息。 九、聯絡方式 如有任何隱私權相關問題或需求,可聯絡: royal.stone.1998@gmail.com 額外的結構化內容: • 提供網站服務、客服與技術支援 • 履行法定或契約義務 • 保護你及其他使用者的權益 • 活動或行銷資訊通知 • 網站流量及行為分析(不指向特定個人) • 為完成服務或履行合約所需 • 取得你授權後提供你要求的服務 • 法令、司法機關或主管單位要求 • 僅傳送重要資訊,不用於廣告 • 若使用 LINE 接收通知型訊息,可透過以下步驟設定 • 點選「主頁」>「設定」 • 點選「隱私設定」 • 點選「提供使用資料」 • 開啟或關閉「LINE通知型訊息」 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:35:54 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 3/21 個網址 2025-10-15 15:35:54 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/shop/ 2025-10-15 15:35:54 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/shop/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/shop/ 的第 1/3 次請求 2025-10-15 15:35:54 - 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 0x7d45e8355d10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e558f7da3bab707b5c8ec830ed469146 2025-10-15 15:35:54 - 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 0x7d45e873c4d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e558f7da3bab707b5c8ec830ed469146 2025-10-15 15:35:54 - 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 0x7d45e873d450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e558f7da3bab707b5c8ec830ed469146 2025-10-15 15:35:54 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:35:54 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:35:54 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:35:54 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:35:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35: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-15 15:35:55 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:35:55 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35:56 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:35: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-15 15:35: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 0x5c6ad98584e3 <unknown> #1 0x5c6ad9587c76 <unknown> #2 0x5c6ad95b0d78 <unknown> #3 0x5c6ad95ad029 <unknown> #4 0x5c6ad95ebccc <unknown> #5 0x5c6ad95eb47f <unknown> #6 0x5c6ad95e2de3 <unknown> #7 0x5c6ad95b82dd <unknown> #8 0x5c6ad95b934e <unknown> #9 0x5c6ad98183e4 <unknown> #10 0x5c6ad981c3d7 <unknown> #11 0x5c6ad9826b20 <unknown> #12 0x5c6ad981d023 <unknown> #13 0x5c6ad97eb1aa <unknown> #14 0x5c6ad98416b8 <unknown> #15 0x5c6ad9841847 <unknown> #16 0x5c6ad9851243 <unknown> #17 0x7347d7494ac3 <unknown> 2025-10-15 15:35:56 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:35:56 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:35:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 84, UID: xnxfan5fac, 進度: 3/21 2025-10-15 15:35:57 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:35:57 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/shop/ 2025-10-15 15:36:00 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/shop/ 2025-10-15 15:36:00 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:36:00 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:36:00 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:36:00 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/shop/ 2025-10-15 15:36:01 - INFO - WebScraper - [scraper.py:1711] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容豐富: 1319 2025-10-15 15:36:02 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:36:02 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:36:02 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:36:02 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:36:02 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:36:03 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 135 2025-10-15 15:36:05 - INFO - WebScraper - [scraper.py:1245] - get_content - 元素數量變化: 135 -> 139,可能有動態內容加載 2025-10-15 15:36:06 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 291 2025-10-15 15:36:07 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 139,內容可能已加載完成 2025-10-15 15:36:07 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:36:09 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 291,內容可能已加載完成 2025-10-15 15:36:09 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:36:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:36:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.3MB, CPU 0.0% 2025-10-15 15:36:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 189.1MB, CPU 0.0% 2025-10-15 15:36:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:36:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:36:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:36:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:36:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:36:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/shop/ (實際 URL: https://yushibuhou.com/shop/) 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 373885 字節 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1011 字節 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1938 字節 2025-10-15 15:36:27 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1927 字節 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 2603 字節 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 4553 字節,約 765 個詞,447 行 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 商品分類 手鍊 | Bracelets​ (13) 熱賣商品 近期瀏覽商品 所有商品 顯示第 1 至 9 項結果,共 13 項 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊 評分 0 滿分 5 NT$ 1,680 – NT$ 1,730 價格範圍:NT$1,680 到 NT$1,730 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 宇宙橙|Nebula Glow|銀河系列|摩根石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 斜陽|Falling Sun|獨家設計系列|黃金祖母晶黃膠花蜜蠟車輪珠手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 星辰藍|Celestial Blue|銀河系列|堇青石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 磁吸扣 磁吸扣 Clear 手鍊 | Bracelets​ 流星銀|Luminous Meteor|銀河系列|拉長石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 祖母的花園|Emerald Garden|獨家設計系列|綠祖母晶黑髮晶手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 菩提咖啡|Bodhi Coffee|菩提系列|黑金骨幹太陽石白水晶手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 請選取一個選項 15 CM 16 CM 17 CM 18 CM 19 CM 15 CM 16 CM 17 CM 18 CM 19 CM 請選取一個選項 日本蠶絲線 日本蠶絲線 Clear 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 額外的結構化內容: 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項磁吸扣磁吸扣Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊評分 0 滿分 5 NT$1,680 – NT$1,730價格範圍:NT$1,680 到 NT$1,730 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 宇宙橙|Nebula Glow|銀河系列|摩根石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 斜陽|Falling Sun|獨家設計系列|黃金祖母晶黃膠花蜜蠟車輪珠手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 星辰藍|Celestial Blue|銀河系列|堇青石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項磁吸扣磁吸扣Clear • 手鍊 | Bracelets​ 流星銀|Luminous Meteor|銀河系列|拉長石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 祖母的花園|Emerald Garden|獨家設計系列|綠祖母晶黑髮晶手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 菩提咖啡|Bodhi Coffee|菩提系列|黑金骨幹太陽石白水晶手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 請選取一個選項日本蠶絲線日本蠶絲線Clear • 1 • 2 • → • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:36:28 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 4/21 個網址 2025-10-15 15:36:28 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/my-account/ 2025-10-15 15:36:28 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/my-account/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/my-account/ 的第 1/3 次請求 2025-10-15 15:36: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 0x7d45e8e16050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fe13f6c8cd28ef439096c5c346e1d321 2025-10-15 15:36: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 0x7d45e8a25310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fe13f6c8cd28ef439096c5c346e1d321 2025-10-15 15:36: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 0x7d45e8a243d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fe13f6c8cd28ef439096c5c346e1d321 2025-10-15 15:36:28 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:36:28 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:36:28 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:36:28 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:36:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:36:28 - 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-15 15:36:28 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:36:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:36:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:36: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-15 15:36: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 0x594ebccb94e3 <unknown> #1 0x594ebc9e8c76 <unknown> #2 0x594ebca11d78 <unknown> #3 0x594ebca0e029 <unknown> #4 0x594ebca4cccc <unknown> #5 0x594ebca4c47f <unknown> #6 0x594ebca43de3 <unknown> #7 0x594ebca192dd <unknown> #8 0x594ebca1a34e <unknown> #9 0x594ebcc793e4 <unknown> #10 0x594ebcc7d3d7 <unknown> #11 0x594ebcc87b20 <unknown> #12 0x594ebcc7e023 <unknown> #13 0x594ebcc4c1aa <unknown> #14 0x594ebcca26b8 <unknown> #15 0x594ebcca2847 <unknown> #16 0x594ebccb2243 <unknown> #17 0x77983cc94ac3 <unknown> 2025-10-15 15:36:29 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:36:29 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:36:30 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:36:30 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/my-account/ 2025-10-15 15:36:32 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/my-account/ 2025-10-15 15:36:32 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:36:33 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:36:33 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:36:33 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/my-account/ 2025-10-15 15:36:35 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:36:35 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:36:35 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:36:35 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:36:35 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:36:37 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/riotgames (實際 URL: https://www.twitch.tv/riotgames) 2025-10-15 15:36:37 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:36:37 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:36:37 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:36:37 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 379621 字節 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 477 字節 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2522 字節 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 571 字節 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2522 字節,約 413 個詞,190 行 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE Riot Games 追隨 訂閱 KT vs MKOI | WORLDS 2025 | Swiss League of Legends Esports English DropsEnabled 39,762 觀眾人數:39,762 3:36:14 Live 實況已進行 3:36:14 關於 Riot Games 731.6萬 名追隨者 · Riot Games Welcome to the Riot Games channel, home of LoL Esports and other livestreams related to our games. For LoL Esports broadcasts, schedules, standings and advanced viewing features, head to http://lolesports.com. Introducing the LoL Esports Overlay Extension! Enhance your LoL Esports watch experience with live stats! 請放大播放器以使用此實況互動元件。 LoL Esports Overlay LoL Esports Overlay LIVE 音量 音量 實況聊天室 強尼待補 1917 強尼待補 316 DeeperVoice 159 強尼待補 1917 強尼待補 316 DeeperVoice 159 訂閱就能獲得掉寶! 由 BRBrutus 釘選 During the Swiss Stage, teams face opponents based on their results - teams with the same record play each other (for example, 1–0 vs. 1–0). No team can face the same opponent more than once during this stage. 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D scamstars1 : dam Sienijuusto : EU 2nd seed >>> KR 3rd seed 回覆 @Calhoonzz : chat type glorp if u like cheese The_ARAM_Enjoyer : What do I type if I love cheese? 回覆 @GrimZillaH : throwable Wertget257 : its always throwable lolgbreezyy : IVE NEVER HEARD SUCH A SILENT ARENA CHINA BEST HOSTS OF WORLDS homelandersenpai : wait RUmble losing vs Ksante 回覆 @squiblue : VAMOOS KOII nlst89 : Guadalajara Calhoonzz : @VibelMaster nice Lunaskreb : glorp hydrochloride10mg : what's that noise? oh it's NA crying KEKW idiedfromcringe : glorp cay4747 : glorp Itz_AllWaySonny : thats so much attack speed UpDownLeftRightAB : oh KG5607 : drag fight gonna decide the game TrickTotemValue : @The_ARAM_Enjoyer you play on oce? gugadone : malakoi 回覆 @Calhoonzz : @VibelMaster nice VibelMaster : CatTime2 Sameeee : ͏ nestea_l 要贈送 1 份層級 1 訂閱給 riotgames 的社群!這是這位朋友在本頻道的第一份贈禮訂閱! nestea_l 送了一份層級 1 訂閱給 imtreemaxx ! 回覆 @The_ARAM_Enjoyer : What do I type if I love cheese? homelandersenpai : President JukeStridewalker : caitlyn playing from behind is pretty sad 回覆 @TrickTotemValue : @The_ARAM_Enjoyer you play on oce? The_ARAM_Enjoyer : no Calhoonzz : CatTime2 Wertget257 : glorp WerSagtDennDas_ : glorp 0-5 wtf 回覆 @lolgbreezyy : IVE NEVER HEARD SUCH A SILENT ARENA LUL CHINA BEST HOSTS OF WORLDS LUL LUL LUL LUL LUL LUL LUL DrunkChef2001 : 訊息已由 Mod 刪除。 divineavi : first game? hakkiii1337 : hahaha meowktteli : CoyoteVIIGaming 已使用 Prime 訂閱 jigglelmyfizzletilisizzle : how many NA teams actually have more than 2 na born players? roxyycat : DONT CHOKE 115Vvoldhi : peter Aware 您可以前往設定停用動態表情符號 查看 發言時間限制模式 傳送訊息  0 聊天 2025-10-15 15:36:38 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 5/21 個網址 2025-10-15 15:36:38 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/mrhugo 2025-10-15 15:36:38 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/mrhugo, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/mrhugo 的第 1/3 次請求 2025-10-15 15:36:38 - 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 0x7d45e8a38d90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/41e87d29a42aac2d504891b8ce865dfc 2025-10-15 15:36:38 - 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 0x7d45e8cd7850>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/41e87d29a42aac2d504891b8ce865dfc 2025-10-15 15:36:38 - 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 0x7d45e8cd7650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/41e87d29a42aac2d504891b8ce865dfc 2025-10-15 15:36:38 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:36:38 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:36:38 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:36:38 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:36:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:36:38 - 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-15 15:36:38 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:36:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:36:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:36:39 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:36:39 - 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 0x63b91757d4e3 <unknown> #1 0x63b9172acc76 <unknown> #2 0x63b9172d5d78 <unknown> #3 0x63b9172d2029 <unknown> #4 0x63b917310ccc <unknown> #5 0x63b91731047f <unknown> #6 0x63b917307de3 <unknown> #7 0x63b9172dd2dd <unknown> #8 0x63b9172de34e <unknown> #9 0x63b91753d3e4 <unknown> #10 0x63b9175413d7 <unknown> #11 0x63b91754bb20 <unknown> #12 0x63b917542023 <unknown> #13 0x63b9175101aa <unknown> #14 0x63b9175666b8 <unknown> #15 0x63b917566847 <unknown> #16 0x63b917576243 <unknown> #17 0x7485e0a94ac3 <unknown> 2025-10-15 15:36:39 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:36:39 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:36:39 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 64 2025-10-15 15:36:39 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:36:39 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/mrhugo 2025-10-15 15:36:39 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/mrhugo 2025-10-15 15:36:41 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 64,內容可能已加載完成 2025-10-15 15:36:41 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:36:46 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/mrhugo 2025-10-15 15:36:49 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:36:50 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:36:50 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:36:50 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/mrhugo 2025-10-15 15:36:52 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:36:52 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:36:52 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:36:59 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/my-account/ (實際 URL: https://yushibuhou.com/my-account/) 2025-10-15 15:36:59 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:36:59 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:36:59 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:36:59 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 194863 字節 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 137 字節 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 86 字節 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 86 字節,約 15 個詞,14 行 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 登入 註冊 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:37:00 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 5/21 個網址 2025-10-15 15:37:00 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/ 2025-10-15 15:37:00 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/ 的第 1/3 次請求 2025-10-15 15:37:00 - 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 0x7d45ea817250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2390e51f07c3e2e10b8612767d48dd0d 2025-10-15 15:37:00 - 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 0x7d45e838b610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2390e51f07c3e2e10b8612767d48dd0d 2025-10-15 15:37:00 - 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 0x7d45e838b390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2390e51f07c3e2e10b8612767d48dd0d 2025-10-15 15:37:00 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:37:00 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:37:00 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:37:00 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:37:01 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:01 - 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-15 15:37:01 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:37:01 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:02 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:02 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:37:02 - 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 0x650faf7544e3 <unknown> #1 0x650faf483c76 <unknown> #2 0x650faf4acd78 <unknown> #3 0x650faf4a9029 <unknown> #4 0x650faf4e7ccc <unknown> #5 0x650faf4e747f <unknown> #6 0x650faf4dede3 <unknown> #7 0x650faf4b42dd <unknown> #8 0x650faf4b534e <unknown> #9 0x650faf7143e4 <unknown> #10 0x650faf7183d7 <unknown> #11 0x650faf722b20 <unknown> #12 0x650faf719023 <unknown> #13 0x650faf6e71aa <unknown> #14 0x650faf73d6b8 <unknown> #15 0x650faf73d847 <unknown> #16 0x650faf74d243 <unknown> #17 0x70310ec94ac3 <unknown> 2025-10-15 15:37:02 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:37:02 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:37:03 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:37:03 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/ 2025-10-15 15:37:03 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 846 2025-10-15 15:37:05 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 87 2025-10-15 15:37:06 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/ 2025-10-15 15:37:06 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:37:06 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:37:06 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:37:06 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/ 2025-10-15 15:37:07 - INFO - WebScraper - [scraper.py:1245] - get_content - 元素數量變化: 87 -> 96,可能有動態內容加載 2025-10-15 15:37:08 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:37:08 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:37:08 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:37:08 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:37:08 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:37:09 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 96,內容可能已加載完成 2025-10-15 15:37:09 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:37:12 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 98 2025-10-15 15:37:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:37:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:37:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:37:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:37:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:37:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:37:14 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 98,內容可能已加載完成 2025-10-15 15:37:14 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:37:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:37:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:37:32 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/ (實際 URL: https://yushibuhou.com/%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c/) 2025-10-15 15:37:32 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:37:32 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:37:32 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 210835 字節 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1081 字節 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1139 字節 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1058 字節 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 764 字節 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1915 字節,約 139 個詞,105 行 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 常見問題(FAQ) 會員與帳號 如何註冊會員? 點擊頁面右上角「會員登入」→ 選擇「註冊帳號」,填寫資料即可完成。 忘記密碼怎麼辦? 在登入頁面點「忘記密碼?」輸入註冊 Email,即可收到重設密碼信件。 訂單與付款 如何付款? 我們提供信用卡、Line Pay、Apple Pay 等多種付款方式,結帳時可選擇您方便的方式。 付款失敗怎麼辦? 若付款失敗,請先確認卡片或支付帳號餘額是否足夠,或稍後再試;如仍無法完成,請聯絡客服協助。 運送與退換貨 運送需要多久? 訂單確認後,國內出貨時間約 2–3 個工作天 。 如於活動期間下單,將依訂單量調整,可能略有延後,敬請理解與耐心等待。 可以退換貨嗎? 可依退換貨政策辦理,詳情請參考 [完整退換貨政策] 。 商品材質與保養 水晶怎麼淨化? 建議一個月左右淨化一次或去磁場複雜的地方也需淨化 日曬法:放窗台陽光下照射 月光法:放月光下整晚 薰香法:用秘魯聖木煙熏繞數圈 原礦法:放在原礦或晶簇上 賣場有販售原礦與聖木,歡迎加購! 水晶手鍊要配戴哪一手? 氣脈學派 認為能量「左手進、右手出」,戴左手能幫助吸收正能量與好運,戴右手則有助排出負能量與濁氣。 脈輪學派 則認為水晶能量與左右手無關,無論戴在哪一邊,都能發揮作用。 若您對能量不特別敏感,其實只要依照 日常習慣與方便 來配戴即可。最重要的是,讓自己感到自在安心,水晶就能好好守護您。 為什麼我的手鍊會有線頭跑出來? 部分手鍊款式採用日本蠶絲線串製,因為珠子在日常佩戴中會自然滾動摩擦,偶爾會出現細小線頭外露,這屬於正常現象。 蠶絲線屬於耗材,當您 發現線頭逐漸增多時,也代表著手鍊需要進行換線保養 ,才能讓它繼續安心陪伴您喔。 飾品怎麼保養? 保持乾燥 ,未配戴時收納於夾鏈袋,可延長配飾的壽命。 香水、保養品使用後再佩戴,避免礦物質褪色或損傷。 洗澡、游泳或泡溫泉時請取下,避免化學物質或水氣影響。 避免接觸什麼化學物質? 請避免接觸香水、化妝品、漂白水及酸性清潔劑,以維持水晶與金屬配件光澤。 金屬配件會氧化? 我們的配件使用了多種材質,包含 14K/18K 銅包金、銅鍍金、不鏽鋼、醫療鋼與 s925 純銀。 這些材質在日常配戴中,可能會 因汗水、濕氣或化妝品 而逐漸出現顏色變深或氧化,這是正常的自然現象,不影響水晶本身的能量與功效。 若能搭配簡單保養,例如 避免長時間碰水、收納時放入夾鏈袋 ,飾品就能維持更久的亮澤與美感。 如需要專業清潔水晶或配件更換,請與客服預約服務,會另外酌收基本工本費用。 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 額外的結構化內容: • 訂單確認後,國內出貨時間約 2–3 個工作天。 • 如於活動期間下單,將依訂單量調整,可能略有延後,敬請理解與耐心等待。 • 建議一個月左右淨化一次或去磁場複雜的地方也需淨化 • 日曬法:放窗台陽光下照射 • 月光法:放月光下整晚 • 薰香法:用秘魯聖木煙熏繞數圈 • 原礦法:放在原礦或晶簇上 • 賣場有販售原礦與聖木,歡迎加購! • 氣脈學派認為能量「左手進、右手出」,戴左手能幫助吸收正能量與好運,戴右手則有助排出負能量與濁氣。 • 脈輪學派則認為水晶能量與左右手無關,無論戴在哪一邊,都能發揮作用。 • 若您對能量不特別敏感,其實只要依照日常習慣與方便來配戴即可。最重要的是,讓自己感到自在安心,水晶就能好好守護您。 • 部分手鍊款式採用日本蠶絲線串製,因為珠子在日常佩戴中會自然滾動摩擦,偶爾會出現細小線頭外露,這屬於正常現象。 • 蠶絲線屬於耗材,當您發現線頭逐漸增多時,也代表著手鍊需要進行換線保養,才能讓它繼續安心陪伴您喔。 • 保持乾燥,未配戴時收納於夾鏈袋,可延長配飾的壽命。 • 香水、保養品使用後再佩戴,避免礦物質褪色或損傷。 • 洗澡、游泳或泡溫泉時請取下,避免化學物質或水氣影響。 • 我們的配件使用了多種材質,包含 14K/18K 銅包金、銅鍍金、不鏽鋼、醫療鋼與 s925 純銀。這些材質在日常配戴中,可能會因汗水、濕氣或化妝品而逐漸出現顏色變深或氧化,這是正常的自然現象,不影響水晶本身的能量與功效。 • 若能搭配簡單保養,例如 避免長時間碰水、收納時放入夾鏈袋,飾品就能維持更久的亮澤與美感。 • 如需要專業清潔水晶或配件更換,請與客服預約服務,會另外酌收基本工本費用。 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:37:33 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 6/21 個網址 2025-10-15 15:37:33 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:37:33 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:24 秒 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/ 的第 1/3 次請求 2025-10-15 15:37:33 - 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 0x7d45e83897d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/df204b9bd979fbda6d23ee2ab1dcf617 2025-10-15 15:37:33 - 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 0x7d45e8926550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/df204b9bd979fbda6d23ee2ab1dcf617 2025-10-15 15:37:33 - 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 0x7d45e8750bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/df204b9bd979fbda6d23ee2ab1dcf617 2025-10-15 15:37:33 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:37:33 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:37:33 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:37:33 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:37:33 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:33 - 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-15 15:37:33 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:37:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:34 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:37:34 - 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 0x6207a42314e3 <unknown> #1 0x6207a3f60c76 <unknown> #2 0x6207a3f89d78 <unknown> #3 0x6207a3f86029 <unknown> #4 0x6207a3fc4ccc <unknown> #5 0x6207a3fc447f <unknown> #6 0x6207a3fbbde3 <unknown> #7 0x6207a3f912dd <unknown> #8 0x6207a3f9234e <unknown> #9 0x6207a41f13e4 <unknown> #10 0x6207a41f53d7 <unknown> #11 0x6207a41ffb20 <unknown> #12 0x6207a41f6023 <unknown> #13 0x6207a41c41aa <unknown> #14 0x6207a421a6b8 <unknown> #15 0x6207a421a847 <unknown> #16 0x6207a422a243 <unknown> #17 0x798d6de94ac3 <unknown> 2025-10-15 15:37:34 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:37:34 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:37:35 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:37:35 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:37:38 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:37:38 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:37:38 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:37:38 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:37:38 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/mrhugo (實際 URL: https://www.twitch.tv/mrhugo) 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 307479 字節 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 488 字節 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1081 字節 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 592 字節 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1081 字節,約 167 個詞,74 行 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE MrHugo 追隨 訂閱 🔴DROPS ON🔴CONSIGUE LA NUEVA CAPA DE COBRE DE MINECRAFT | GET THE NEW COPPER CAPE OF MINECRAFT| !drops !zeres Minecraft Español minecraft MINECRAFT drops DropsActivados Recompensasdeespectador 162 觀眾人數:162 34:26:17 Live 實況已進行 34:26:17 關於 MrHugo 68.3萬 名追隨者 Jugador experto de Minecraft, +7.000h de mundo, pasarme Minecraft a medio corazón y soledad! MrHugo 的目標 還差 727 份訂閱! 43 /770 訂閱 加強版目標 10月 幫助我獲得積分來達成 加強版 等級 2 7 / 300 請放大播放器以使用此實況互動元件。 Prime Gaming Benefits Reminder 請放大播放器以使用此實況互動元件。 Dynamic Follow Buttons Prime Gaming Benefits Reminder Dynamic Follow Buttons LIVE 音量 音量 實況聊天室 BiacTYK 100 DaosansRdz 26 BiacTYK 100 DaosansRdz 26 訂閱就能獲得掉寶! 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D StreamElements : Recuerda que si tienes Amazon Prime, puedes vincularlo con Twitch, y tener una suscripción gratis al mes. GRATIS!!! zimzam1742 : !watchtime 回覆 @zimzam1742 : !watchtime StreamElements : zimzam1742 has spent 0 secs watching mrhugo StreamElements : Tengo un servidor de minecraft para todo el mundo! quieres entrar? Pon !ip 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:37:39 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 6/21 個網址 2025-10-15 15:37:39 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/videos/2589138116 2025-10-15 15:37:39 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/videos/2589138116, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/videos/2589138116 的第 1/3 次請求 2025-10-15 15:37:39 - 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 0x7d45e8388990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/28cd21dffe7d1f2ee8feaefff1bf178e 2025-10-15 15:37:39 - 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 0x7d45e83da550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/28cd21dffe7d1f2ee8feaefff1bf178e 2025-10-15 15:37:39 - 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 0x7d45e83da9d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/28cd21dffe7d1f2ee8feaefff1bf178e 2025-10-15 15:37:39 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:37:39 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:37:39 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:37:39 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:37:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:40 - 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-15 15:37:40 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:37:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:40 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:37:40 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:37:40 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:37:40 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:37:40 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:37:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:37:40 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:37:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:37:41 - 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 0x5e93f7d414e3 <unknown> #1 0x5e93f7a70c76 <unknown> #2 0x5e93f7a99d78 <unknown> #3 0x5e93f7a96029 <unknown> #4 0x5e93f7ad4ccc <unknown> #5 0x5e93f7ad447f <unknown> #6 0x5e93f7acbde3 <unknown> #7 0x5e93f7aa12dd <unknown> #8 0x5e93f7aa234e <unknown> #9 0x5e93f7d013e4 <unknown> #10 0x5e93f7d053d7 <unknown> #11 0x5e93f7d0fb20 <unknown> #12 0x5e93f7d06023 <unknown> #13 0x5e93f7cd41aa <unknown> #14 0x5e93f7d2a6b8 <unknown> #15 0x5e93f7d2a847 <unknown> #16 0x5e93f7d3a243 <unknown> #17 0x796b5a094ac3 <unknown> 2025-10-15 15:37:41 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:37:41 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:37:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.3MB, CPU 0.0% 2025-10-15 15:37:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 189.6MB, CPU 0.0% 2025-10-15 15:37:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:37:41 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:37:41 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/videos/2589138116 2025-10-15 15:37:41 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/videos/2589138116 2025-10-15 15:37:44 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 200 2025-10-15 15:37:46 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 200,內容可能已加載完成 2025-10-15 15:37:46 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:37:47 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/videos/2589138116 2025-10-15 15:37:48 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:37:48 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:37:48 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:37:48 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/videos/2589138116 2025-10-15 15:37:50 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:37:50 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:37:50 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:37:53 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-15 15:37:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 84, UID: xnxfan5fac, 進度: 6/21 2025-10-15 15:38:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 84, UID: xnxfan5fac, 進度: 6/21 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/ (實際 URL: https://yushibuhou.com/shop/%e8%8f%a9%e6%8f%90%e7%89%9b%e5%a5%b6%ef%bd%9cbodhi-milk%ef%bd%9c%e8%8f%a9%e6%8f%90%e7%b3%bb%e5%88%97%ef%bd%9c%e7%b4%85%e5%af%b6%e7%9f%b3%e8%97%8d%e7%b4%8b%e5%af%b6%e7%9f%b3%e6%89%8b%e9%8d%8a/) 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 248653 字節 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 637 字節 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1383 字節 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1630 字節 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 576 字節 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1971 字節,約 289 個詞,161 行 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 + Free Shipping 把溫暖戴在手上,讓心靈永遠有一處歸宿。 ◦ 材質:天然紅寶石、天然藍紋石、小菩提(牛奶色) ◦ 金屬:銅鍍金 / 14K 銅包金 貨號: BR-BT-002 分類: 手鍊 | Bracelets​ 標籤: 紅寶石 , 菩提系列 , 藍紋石 描述 額外資訊 評價 (0) 牛奶,會勾起你記憶中哪個片段呢? 放學回家後, 桌上等著你的那杯牛奶, 甜蜜與關心透過杯子傳來…… 小時候睡前, 媽媽倒的那杯溫熱牛奶, 溫暖與愛意透過杯子傳來…… 紅寶石,給你溫暖與勇氣。 藍紋石,帶來平靜與療癒。 小菩提,溫潤守護著你每一天。 今天,你想喝哪一口溫暖呢? 戴上你的力量 Wear Your Power ✦ 商品描述 ✦ 手工製作工期為下單後 2~3 個工作日 活動或節慶期間,出貨時間可能順延 材質 紅寶石珠徑 約6mm、藍紋石珠徑 約6mm、小菩提(牛奶色) 銅鍍金 / 14K 銅包金 ※ 因天然礦石每批原料不同,顏色、紋理及大小略有差異 尺寸示意 商品照為實際手圍 15cm 配戴範例 ※ 下單後會依照您選擇的手圍製作,手鍊顆數可能與照片略有差異,將依實際尺寸調整 ✦ 水晶說明 ✦​ |紅寶石 Ruby| 愛與勇氣之石 鮮紅色的能量,象徵熱情與生命力, 能喚醒內心的自信與堅毅, 帶來面對挑戰的勇氣與力量。 紅寶石常被視為守護愛情與熱情的寶石, 能驅散恐懼與不安, 引領心靈走向積極與熱烈。 如同心口的一團火焰, 溫暖守護著每一次心動與希望。 |藍紋石 Sodalite | 平靜與療癒之石 象徵安定、溫柔與內心的平衡。 能舒緩焦慮,釋放緊張與壓力。 藍紋石常被視為溝通與理解的寶石, 幫助情感表達與人際和諧, 讓心靈回歸寧靜與柔軟。 如同一杯清涼的泉水, 滋養心田,帶來療癒與安心。 ※ 水晶的能量來自古老文化,感受因人而異,御石不后陪你細心傾聽。 重量 0.02 公克 手圍尺寸 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 日本蠶絲線 商品評價 目前沒有評價。 搶先評價 “菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊” 取消回覆 相關商品 手鍊 | Bracelets​ 祖母的花園|Emerald Garden|獨家設計系列|綠祖母晶黑髮晶手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 手鍊 | Bracelets​ 流星銀|Luminous Meteor|銀河系列|拉長石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊 評分 0 滿分 5 NT$ 1,680 – NT$ 1,730 價格範圍:NT$1,680 到 NT$1,730 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 加入會員享購物金 額外的結構化內容: 手圍尺寸15 CM | 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 手鍊材質 | 請選取一個選項日本蠶絲線日本蠶絲線清除 重量 | 0.02 公克 手圍尺寸 | 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 | 日本蠶絲線 • • • • • 描述 • 額外資訊 • 評價 (0) • 手鍊 | Bracelets​ 祖母的花園|Emerald Garden|獨家設計系列|綠祖母晶黑髮晶手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 • 手鍊 | Bracelets​ 流星銀|Luminous Meteor|銀河系列|拉長石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 • 手鍊 | Bracelets​ 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊評分 0 滿分 5 NT$1,680 – NT$1,730價格範圍:NT$1,680 到 NT$1,730 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:38:02 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 7/21 個網址 2025-10-15 15:38:02 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/ 2025-10-15 15:38:02 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/ 的第 1/3 次請求 2025-10-15 15:38: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 0x7d45e8bf72d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1907f66d21496df50b18314221b63b75 2025-10-15 15:38: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 0x7d45e8bf7390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1907f66d21496df50b18314221b63b75 2025-10-15 15:38: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 0x7d45e8bf68d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1907f66d21496df50b18314221b63b75 2025-10-15 15:38:02 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:38:02 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:38:02 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:38:02 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 470 2025-10-15 15:38:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38: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-15 15:38:03 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:38:03 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38:03 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 65 2025-10-15 15:38:04 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38: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-15 15:38: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 0x5b648e9fa4e3 <unknown> #1 0x5b648e729c76 <unknown> #2 0x5b648e752d78 <unknown> #3 0x5b648e74f029 <unknown> #4 0x5b648e78dccc <unknown> #5 0x5b648e78d47f <unknown> #6 0x5b648e784de3 <unknown> #7 0x5b648e75a2dd <unknown> #8 0x5b648e75b34e <unknown> #9 0x5b648e9ba3e4 <unknown> #10 0x5b648e9be3d7 <unknown> #11 0x5b648e9c8b20 <unknown> #12 0x5b648e9bf023 <unknown> #13 0x5b648e98d1aa <unknown> #14 0x5b648e9e36b8 <unknown> #15 0x5b648e9e3847 <unknown> #16 0x5b648e9f3243 <unknown> #17 0x7a4ecfc94ac3 <unknown> 2025-10-15 15:38:04 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:38:04 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:38:05 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:38:05 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/ 2025-10-15 15:38:06 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 65,內容可能已加載完成 2025-10-15 15:38:06 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:38:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 83, UID: h60pmcrk6e, 進度: 6/21 2025-10-15 15:38:07 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/ 2025-10-15 15:38:07 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:38:07 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:38:07 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:38:07 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/ 2025-10-15 15:38:09 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:38:09 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:38:09 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:38:09 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:38:09 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:38:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:38:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:38:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:38:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:38:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:38:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:38:13 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 44 2025-10-15 15:38:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:38:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:38:15 - 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-15 15:38:15 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 44,內容可能已加載完成 2025-10-15 15:38:15 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/ (實際 URL: https://yushibuhou.com/%e8%b3%bc%e7%89%a9%e8%bb%8a/) 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 276131 字節 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 173 字節 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 67 字節 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 67 字節,約 11 個詞,10 行 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 您的購物車裡還沒有任何商品。 回到商店 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:38:34 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 8/21 個網址 2025-10-15 15:38:34 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/ 2025-10-15 15:38:34 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:24 秒 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/ 的第 1/3 次請求 2025-10-15 15:38:34 - 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 0x7d45e8d06150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9f682ac64f0d859acfded4e90b56713d 2025-10-15 15:38:34 - 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 0x7d45e8d04690>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9f682ac64f0d859acfded4e90b56713d 2025-10-15 15:38:34 - 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 0x7d45e8d06ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9f682ac64f0d859acfded4e90b56713d 2025-10-15 15:38:34 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:38:34 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:38:34 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:38:34 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:38:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38:34 - 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-15 15:38:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:38:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38:35 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:38:35 - 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 0x5cf64e87d4e3 <unknown> #1 0x5cf64e5acc76 <unknown> #2 0x5cf64e5d5d78 <unknown> #3 0x5cf64e5d2029 <unknown> #4 0x5cf64e610ccc <unknown> #5 0x5cf64e61047f <unknown> #6 0x5cf64e607de3 <unknown> #7 0x5cf64e5dd2dd <unknown> #8 0x5cf64e5de34e <unknown> #9 0x5cf64e83d3e4 <unknown> #10 0x5cf64e8413d7 <unknown> #11 0x5cf64e84bb20 <unknown> #12 0x5cf64e842023 <unknown> #13 0x5cf64e8101aa <unknown> #14 0x5cf64e8666b8 <unknown> #15 0x5cf64e866847 <unknown> #16 0x5cf64e876243 <unknown> #17 0x7382dd894ac3 <unknown> 2025-10-15 15:38:35 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:38:35 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/videos/2589138116 (實際 URL: https://www.twitch.tv/videos/2589138116) 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/ 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:38:36 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 338077 字節 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 193 字節 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 451 字節 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 260 字節 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 179 字節 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 642 字節,約 96 個詞,54 行 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 3 天前 我敢打賭 打野九成幫上九成輸 !陪玩 分享 League of Legends · 觀看次數:46 小鼠條 追隨 訂閱 上次實況:16 小時前 582 位追隨者 篩選依據 預設 精選剪輯 顯示全部 近期實況直播 檢視全部 最近的精華與上傳 檢視全部 AD精華 播放全部 秀不起來555 · 3 部影片 雷西精華 播放全部 勾起來 · 1 部影片 這部影片的音樂部分已設為靜音,因為此音樂似乎含有由第三方擁有或控管的著作權內容。 00:00:48 00:38:35 音量 00:00:48 00:38:35 音量 影片留言 0:04 跳至影片 as56688 : 難打 iamrurCry2 iamrurCry2 iamrurCry2 0:33 跳至影片 StreamElements : 小鼠條 is now live! Streaming League of Legends: 我敢打賭 打野九成幫上九成輸 !陪玩 0:43 跳至影片 음기한1 (shlkku77) : 我在啃食你的鼠蹊部 額外的結構化內容: • 0:04跳至影片as56688:難打 iamrurCry2 iamrurCry2 iamrurCry2 • 0:33跳至影片StreamElements:小鼠條 is now live! Streaming League of Legends: 我敢打賭 打野九成幫上九成輸 !陪玩 • 0:43跳至影片음기한1 (shlkku77):我在啃食你的鼠蹊部 2025-10-15 15:38:37 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 7/21 個網址 2025-10-15 15:38:37 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/directory 2025-10-15 15:38:37 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/directory, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/directory 的第 1/3 次請求 2025-10-15 15:38: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 0x7d45eb1e6910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2c5e5ba921980991c1408826d0500c20 2025-10-15 15:38: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 0x7d45e89832d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2c5e5ba921980991c1408826d0500c20 2025-10-15 15:38: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 0x7d45e8983f50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2c5e5ba921980991c1408826d0500c20 2025-10-15 15:38:37 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:38:37 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:38:37 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:38:37 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:38:37 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38: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-15 15:38:37 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:38:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38:38 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:38: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-15 15:38: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 0x607481a734e3 <unknown> #1 0x6074817a2c76 <unknown> #2 0x6074817cbd78 <unknown> #3 0x6074817c8029 <unknown> #4 0x607481806ccc <unknown> #5 0x60748180647f <unknown> #6 0x6074817fdde3 <unknown> #7 0x6074817d32dd <unknown> #8 0x6074817d434e <unknown> #9 0x607481a333e4 <unknown> #10 0x607481a373d7 <unknown> #11 0x607481a41b20 <unknown> #12 0x607481a38023 <unknown> #13 0x607481a061aa <unknown> #14 0x607481a5c6b8 <unknown> #15 0x607481a5c847 <unknown> #16 0x607481a6c243 <unknown> #17 0x78668fc94ac3 <unknown> 2025-10-15 15:38:38 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:38:38 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:38:39 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:38:39 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/directory 2025-10-15 15:38:39 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/directory 2025-10-15 15:38:40 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/ 2025-10-15 15:38:40 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:38:40 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:38:40 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:38:40 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/ 2025-10-15 15:38:42 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:38:42 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:38:42 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:38:42 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:38:42 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:38:43 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/directory 2025-10-15 15:38:43 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:38:43 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:38:43 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:38:43 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/directory 2025-10-15 15:38:45 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:38:45 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:38:45 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:38:47 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 209 2025-10-15 15:38:49 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 209,內容可能已加載完成 2025-10-15 15:38:49 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:38:55 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-15 15:38:56 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 1342 2025-10-15 15:38:57 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 193 2025-10-15 15:38:59 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 193,內容可能已加載完成 2025-10-15 15:38:59 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/ (實際 URL: https://yushibuhou.com/shop/%e5%87%ba%e8%b5%b0%ef%bd%9cgetaway%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%87%91%e5%a4%aa%e9%99%bd%e7%9f%b3%e8%97%8d%e7%b6%a0%e6%99%b6%e9%9d%92%e9%87%91%e7%9f%b3/) 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 250618 字節 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 761 字節 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1510 字節 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1758 字節 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 576 字節 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2098 字節,約 304 個詞,176 行 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊 NT$ 1,680 – NT$ 1,730 價格範圍:NT$1,680 到 NT$1,730 + Free Shipping 為靈魂準備一場假期,讓自由與勇氣隨心呼吸。 ◦ 材質:天然金太陽石、天然藍綠晶、天然青金石 ◦ 金屬:銅鍍金 貨號: BR-DS-007 分類: 手鍊 | Bracelets​ 標籤: 獨家設計系列 , 藍綠晶 , 金太陽石 , 青金石 描述 額外資訊 評價 (0) 你有多久沒有出走? 這次,我們為靈魂準備了一場假期 離開城市的喧囂,放下日常的繁雜, 隨性地走向落日 、森林 與大海 讓心靈慢慢呼吸,感受自由的活著。 金太陽石, 像餘暉般溫暖, 點亮你的勇氣。 藍綠晶, 帶來森林的清新氣息,療癒心緒。 青金石, 深邃如海,提醒你與廣闊世界相連。 讓手鍊陪著你一起, 走吧!去遇見更真實的自己。 戴上你的力量 Wear Your Power ✦ 商品描述 ✦ 手工製作工期為下單後 2~3 個工作日 活動或節慶期間,出貨時間可能順延 材質 金太陽石珠徑 約8mm 、藍綠晶 珠徑 約8mm、青金石珠徑 約7mm 銅鍍金 ※ 因天然礦石每批原料不同,顏色、紋理及大小略有差異 尺寸示意 商品照為實際手圍 15cm 配戴範例 ※ 下單後會依照您選擇的手圍製作,手鍊顆數可能與照片略有差異,將依實際尺寸調整 ✦ 水晶說明 ✦​ |金太陽石 Golden Sunstone| 溫暖與自信之石 閃耀著金色光暈,如夕陽般柔亮, 象徵生命力與積極能量。 能喚醒內在的勇氣與熱情, 帶來自信、樂觀與行動力。 常被認為能驅散陰霾與消極, 讓心靈重新燃起光芒, 如餘暉般溫暖地照亮前方。 |藍綠晶 Green Kyanite| 自由與療癒之石 湛藍與綠色交織的色澤, 如森林與湖泊的寧靜氣息, 象徵平衡與釋放。 能舒緩焦慮與壓力, 帶來清晰思緒與平和心境。 常被視為勇敢表達自我的力量石, 讓心靈如微風般自由流動。 |青金石 Lapis Lazuli| 智慧與真誠之石 深邃的藍色如夜空閃耀星光, 象徵真理、洞察與精神力量。 能啟發直覺與思考, 帶來內在的平靜與自我覺察。 常被視為溝通與理解的橋樑, 幫助釐清情緒與方向, 讓你與世界連結得更深、更真。 ※ 水晶的能量來自古老文化,感受因人而異,御石不后陪你細心傾聽 重量 0.02 公克 手圍尺寸 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 日本蠶絲線 商品評價 目前沒有評價。 搶先評價 “出走|Getaway|獨家設計系列|金太陽石藍綠晶青金石手鍊” 取消回覆 相關商品 手鍊 | Bracelets​ 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 手鍊 | Bracelets​ 蝴蝶夢|Dream Butterfly|獨家設計系列|紫鋰輝粉水晶手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 手鍊 | Bracelets​ 流星銀|Luminous Meteor|銀河系列|拉長石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 加入會員享購物金 額外的結構化內容: 手圍尺寸15 CM | 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 手鍊材質 | 請選取一個選項日本蠶絲線日本蠶絲線清除 重量 | 0.02 公克 手圍尺寸 | 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 | 日本蠶絲線 • • • • • 描述 • 額外資訊 • 評價 (0) • 手鍊 | Bracelets​ 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 • 手鍊 | Bracelets​ 蝴蝶夢|Dream Butterfly|獨家設計系列|紫鋰輝粉水晶手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 • 手鍊 | Bracelets​ 流星銀|Luminous Meteor|銀河系列|拉長石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:39:04 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 9/21 個網址 2025-10-15 15:39:04 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/本月新品/ 2025-10-15 15:39:04 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/本月新品/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/本月新品/ 的第 1/3 次請求 2025-10-15 15:39:04 - 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 0x7d45e8c0e250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/27252b1e09a23172081ebccd285008ac 2025-10-15 15:39:04 - 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 0x7d45e8d81b90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/27252b1e09a23172081ebccd285008ac 2025-10-15 15:39:04 - 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 0x7d45e8d80590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/27252b1e09a23172081ebccd285008ac 2025-10-15 15:39:04 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:39:04 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:39:04 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:39:04 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:39:04 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:04 - 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-15 15:39:04 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:39:05 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:05 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:05 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:39:05 - 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 0x55e5806684e3 <unknown> #1 0x55e580397c76 <unknown> #2 0x55e5803c0d78 <unknown> #3 0x55e5803bd029 <unknown> #4 0x55e5803fbccc <unknown> #5 0x55e5803fb47f <unknown> #6 0x55e5803f2de3 <unknown> #7 0x55e5803c82dd <unknown> #8 0x55e5803c934e <unknown> #9 0x55e5806283e4 <unknown> #10 0x55e58062c3d7 <unknown> #11 0x55e580636b20 <unknown> #12 0x55e58062d023 <unknown> #13 0x55e5805fb1aa <unknown> #14 0x55e5806516b8 <unknown> #15 0x55e580651847 <unknown> #16 0x55e580661243 <unknown> #17 0x733d39294ac3 <unknown> 2025-10-15 15:39:05 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:39:05 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:39:06 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:39:06 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/本月新品/ 2025-10-15 15:39:08 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/本月新品/ 2025-10-15 15:39:08 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:39:08 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:39:08 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:39:08 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/本月新品/ 2025-10-15 15:39:10 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:39:10 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:39:10 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:39:10 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:39:10 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:39:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:39:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:39:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 189.6MB, CPU 0.0% 2025-10-15 15:39:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:39:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:39:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:39:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:39:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:39:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:39:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:39:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:39:14 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 47 2025-10-15 15:39:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:39:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:39:16 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 47,內容可能已加載完成 2025-10-15 15:39:16 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:39:29 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/directory (實際 URL: https://www.twitch.tv/directory) 2025-10-15 15:39:29 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:39:29 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:39:29 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:39:29 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 308997 字節 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 265 字節 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1186 字節 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1186 字節 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1186 字節,約 215 個詞,170 行 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 廣告 瀏覽 遊戲 IRL 生活實況 音樂與 DJ Creative 電競 分類 Live 頻道 Search 排序依據 您的專屬推薦內容 純聊天 觀眾人數:15萬 IRL 生活實況 League of Legends 觀眾人數:47.6萬 RPG 策略 MOBA 動作 Minecraft 觀眾人數:1萬 模擬 冒險遊戲 街機 VALORANT 觀眾人數:3.4萬 FPS 射擊 動作 全新 BATTLEFIELD 6 觀眾人數:3.9萬 FPS 射擊 動作 Apex Legends 觀眾人數:7,727 FPS 射擊 動作 Street Fighter 6 觀眾人數:3.3萬 格鬥 街機 動作 Grand Theft Auto V 觀眾人數:1.7萬 FPS 射擊 駕駛/賽車遊戲 Overwatch 2 觀眾人數:2萬 FPS 射擊 動作 Counter-Strike 觀眾人數:4.5萬 FPS 射擊 動作 Dead by Daylight 觀眾人數:1.8萬 策略 動作 恐怖 生存 ASMR 觀眾人數:8,464 IRL 生活實況 Wuthering Waves 觀眾人數:1,656 RPG 冒險遊戲 動作 全新 Baby Steps 觀眾人數:2,494 冒險遊戲 獨立遊戲 動作 全新 Megabonk 觀眾人數:7,833 獨立遊戲 動作 生存 Rust 觀眾人數:1,823 FPS 射擊 RPG 全新 SILENT HILL ƒ 觀眾人數:6,161 益智 冒險遊戲 動作 gogh: Focus with Your Avatar 觀眾人數:53 模擬 獨立遊戲 動作 全新 Cloverpit 觀眾人數:2,037 模擬 策略 獨立遊戲 Escape from Tarkov 觀眾人數:3,395 FPS 射擊 RPG 模擬 World of Tanks 觀眾人數:4,895 FPS 射擊 模擬 策略 Monster Hunter Wilds 觀眾人數:1,201 RPG 動作 冒險遊戲 Teamfight Tactics 觀眾人數:4,152 策略 卡牌與桌遊 全新 EA Sports FC 26 觀眾人數:5,499 模擬 運動 World of Warships 觀眾人數:660 FPS 射擊 RTS 策略 PUBG: BATTLEGROUNDS 觀眾人數:3,394 FPS 射擊 動作 Delta Force 觀眾人數:2,163 FPS 射擊 MMO 動作 Eternal Return 觀眾人數:311 策略 MOBA 動作 生存 FINAL FANTASY XIV ONLINE 觀眾人數:1,407 RPG MMO 動作 全新 Little Nightmares III 觀眾人數:7,042 平台遊戲 益智 冒險遊戲 2025-10-15 15:39:30 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 8/21 個網址 2025-10-15 15:39:30 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/shyowowo 2025-10-15 15:39:30 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/shyowowo, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/shyowowo 的第 1/3 次請求 2025-10-15 15:39:30 - 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 0x7d45e8d56e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/278ff03ff5ef9f02856ff5dd81dca509 2025-10-15 15:39:30 - 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 0x7d45e8ce1450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/278ff03ff5ef9f02856ff5dd81dca509 2025-10-15 15:39:30 - 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 0x7d45e8ce2350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/278ff03ff5ef9f02856ff5dd81dca509 2025-10-15 15:39:30 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:39:30 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:39:30 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:39:30 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:39:30 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:30 - 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-15 15:39:30 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:39:30 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:31 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:31 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:39:31 - 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 0x62c8ec33d4e3 <unknown> #1 0x62c8ec06cc76 <unknown> #2 0x62c8ec095d78 <unknown> #3 0x62c8ec092029 <unknown> #4 0x62c8ec0d0ccc <unknown> #5 0x62c8ec0d047f <unknown> #6 0x62c8ec0c7de3 <unknown> #7 0x62c8ec09d2dd <unknown> #8 0x62c8ec09e34e <unknown> #9 0x62c8ec2fd3e4 <unknown> #10 0x62c8ec3013d7 <unknown> #11 0x62c8ec30bb20 <unknown> #12 0x62c8ec302023 <unknown> #13 0x62c8ec2d01aa <unknown> #14 0x62c8ec3266b8 <unknown> #15 0x62c8ec326847 <unknown> #16 0x62c8ec336243 <unknown> #17 0x7d04f3694ac3 <unknown> 2025-10-15 15:39:31 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:39:31 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:39:32 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:39:32 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/shyowowo 2025-10-15 15:39:32 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/shyowowo 2025-10-15 15:39:34 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/本月新品/ (實際 URL: https://yushibuhou.com/%E6%9C%AC%E6%9C%88%E6%96%B0%E5%93%81/) 2025-10-15 15:39:34 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:39:34 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:39:34 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:39:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 189100 字節 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 191 字節 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 85 字節 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 85 字節,約 14 個詞,13 行 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 本月新品 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:39:35 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 10/21 個網址 2025-10-15 15:39:35 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/條款與細則/ 2025-10-15 15:39:35 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/條款與細則/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/條款與細則/ 的第 1/3 次請求 2025-10-15 15:39: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 0x7d45e8cf3190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1180a1f8fe8c292f02a1048ed6b7b17d 2025-10-15 15:39: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 0x7d45e8cf0710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1180a1f8fe8c292f02a1048ed6b7b17d 2025-10-15 15:39: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 0x7d45e8cf1590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1180a1f8fe8c292f02a1048ed6b7b17d 2025-10-15 15:39:35 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:39:35 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:39:35 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:39:35 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:39:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39: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-15 15:39:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:39:36 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:36 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:39:37 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:39:37 - 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 0x6417db4344e3 <unknown> #1 0x6417db163c76 <unknown> #2 0x6417db18cd78 <unknown> #3 0x6417db189029 <unknown> #4 0x6417db1c7ccc <unknown> #5 0x6417db1c747f <unknown> #6 0x6417db1bede3 <unknown> #7 0x6417db1942dd <unknown> #8 0x6417db19534e <unknown> #9 0x6417db3f43e4 <unknown> #10 0x6417db3f83d7 <unknown> #11 0x6417db402b20 <unknown> #12 0x6417db3f9023 <unknown> #13 0x6417db3c71aa <unknown> #14 0x6417db41d6b8 <unknown> #15 0x6417db41d847 <unknown> #16 0x6417db42d243 <unknown> #17 0x7192bc094ac3 <unknown> 2025-10-15 15:39:37 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:39:37 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:39:38 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:39:38 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/條款與細則/ 2025-10-15 15:39:39 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/shyowowo 2025-10-15 15:39:40 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/條款與細則/ 2025-10-15 15:39:40 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:39:40 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:39:40 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:39:40 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/條款與細則/ 2025-10-15 15:39:40 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:39:41 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:39:41 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:39:41 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/shyowowo 2025-10-15 15:39:42 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:39:42 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:39:42 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:39:42 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:39:42 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:39:43 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:39:43 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:39:43 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:39:46 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 82 2025-10-15 15:39:48 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 82,內容可能已加載完成 2025-10-15 15:39:48 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:39:54 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 241 2025-10-15 15:39:55 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 51 2025-10-15 15:39:57 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 51,內容可能已加載完成 2025-10-15 15:39:57 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/條款與細則/ (實際 URL: https://yushibuhou.com/%E6%A2%9D%E6%AC%BE%E8%88%87%E7%B4%B0%E5%89%87/) 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 197639 字節 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1145 字節 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1178 字節 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1097 字節 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 1057 字節 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2247 字節,約 110 個詞,90 行 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 條款與細則 一、認知與接受條款 「御石不后」(以下簡稱「本品牌」)依據本服務條款提供相關服務(以下簡稱「本服務」)。當使用者完成註冊、或開始使用本服務時,即表示已閱讀、瞭解並同意接受本條款之所有內容,並完全接受本服務現有與未來可能新增或調整之項目。 本品牌有權隨時修改或變更本服務條款,修改後的條款將公布於網站頁面,恕不另行個別通知。建議使用者隨時注意該等修改或變更。若使用者於修改或變更後繼續使用本服務,即視為已同意接受;若不同意,應立即停止使用。 若使用者未滿二十歲,應由法定代理人(家長或監護人)閱讀、理解並同意本條款後,方可使用本服務。 二、會員註冊與義務 使用本服務時,使用者應依提示提供正確、最新、完整的個人資料,不得冒用他人身分或重複註冊帳號。 使用者有責任隨時更新並維持資料正確性。若因資料不實或違反規定,本品牌得暫停或終止帳號使用權。 三、隱私與資料保護 本品牌非常重視使用者的隱私,相關規範請參考《隱私權政策》頁面。 使用者同意本品牌於合理範圍內,蒐集、處理及使用必要之個人資料,以提供服務、行銷活動或通知相關資訊。 四、帳號與安全 使用者應妥善保管帳號及密碼,任何經正確登入後之行為,均視為使用者本人所為。 若發現帳號遭盜用,使用者應立即通知本品牌,本品牌將協助處理,但因非可歸責於本品牌之因素所致之損害,本品牌不負責任。 五、使用者行為規範 使用者不得利用本服務從事下列行為: 違反法令或侵害他人權益之行為。 傳送或散布違反公共秩序、善良風俗或不實之資訊。 散播病毒或干擾系統運作。 未經授權進行商業行為。 其他本品牌認為不適當之行為。 六、服務調整與中斷 本品牌得因維護、更新、或不可抗力因素暫停或中斷本服務,並不需為此負賠償責任。 本品牌得依實際需要,調整或終止部分服務內容,使用者不得因此要求賠償。 七、交易與退換貨 使用者透過本網站下單,應依據頁面所示商品資訊進行。 訂單成立與否,本品牌保留最終決定權。若因商品缺貨、錯誤標示或不可歸責因素,本品牌有權取消訂單並通知使用者。 商品退換貨規範依據《退換貨政策》執行。 八、智慧財產權 本網站所有內容,包括文字、圖片、設計、程式等,均受著作權或智慧財產權法令保護,非經授權不得擅自使用。 使用者若違反,應自行承擔相關法律責任。 九、責任限制 本服務之提供,依「現狀」方式進行,本品牌不保證其完整性、正確性或不發生中斷。 因不可抗力或非可歸責於本品牌之因素造成使用者損害時,本品牌不負賠償責任。 十、準據法與管轄法院 本條款之解釋與適用,均以中華民國法律為準據法。如有爭議,雙方同意以台灣台北地方法院為第一審管轄法院。 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 額外的結構化內容: • 「御石不后」(以下簡稱「本品牌」)依據本服務條款提供相關服務(以下簡稱「本服務」)。當使用者完成註冊、或開始使用本服務時,即表示已閱讀、瞭解並同意接受本條款之所有內容,並完全接受本服務現有與未來可能新增或調整之項目。 • 本品牌有權隨時修改或變更本服務條款,修改後的條款將公布於網站頁面,恕不另行個別通知。建議使用者隨時注意該等修改或變更。若使用者於修改或變更後繼續使用本服務,即視為已同意接受;若不同意,應立即停止使用。 • 若使用者未滿二十歲,應由法定代理人(家長或監護人)閱讀、理解並同意本條款後,方可使用本服務。 • 使用本服務時,使用者應依提示提供正確、最新、完整的個人資料,不得冒用他人身分或重複註冊帳號。 • 使用者有責任隨時更新並維持資料正確性。若因資料不實或違反規定,本品牌得暫停或終止帳號使用權。 • 本品牌非常重視使用者的隱私,相關規範請參考《隱私權政策》頁面。 • 使用者同意本品牌於合理範圍內,蒐集、處理及使用必要之個人資料,以提供服務、行銷活動或通知相關資訊。 • 使用者應妥善保管帳號及密碼,任何經正確登入後之行為,均視為使用者本人所為。 • 若發現帳號遭盜用,使用者應立即通知本品牌,本品牌將協助處理,但因非可歸責於本品牌之因素所致之損害,本品牌不負責任。 • 使用者不得利用本服務從事下列行為: • 違反法令或侵害他人權益之行為。 • 傳送或散布違反公共秩序、善良風俗或不實之資訊。 • 散播病毒或干擾系統運作。 • 未經授權進行商業行為。 • 其他本品牌認為不適當之行為。 • 本品牌得因維護、更新、或不可抗力因素暫停或中斷本服務,並不需為此負賠償責任。 • 本品牌得依實際需要,調整或終止部分服務內容,使用者不得因此要求賠償。 • 使用者透過本網站下單,應依據頁面所示商品資訊進行。 • 訂單成立與否,本品牌保留最終決定權。若因商品缺貨、錯誤標示或不可歸責因素,本品牌有權取消訂單並通知使用者。 • 商品退換貨規範依據《退換貨政策》執行。 • 本網站所有內容,包括文字、圖片、設計、程式等,均受著作權或智慧財產權法令保護,非經授權不得擅自使用。 • 使用者若違反,應自行承擔相關法律責任。 • 本服務之提供,依「現狀」方式進行,本品牌不保證其完整性、正確性或不發生中斷。 • 因不可抗力或非可歸責於本品牌之因素造成使用者損害時,本品牌不負賠償責任。 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:40:07 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 11/21 個網址 2025-10-15 15:40:07 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/尊榮會員計劃/ 2025-10-15 15:40:07 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/尊榮會員計劃/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/尊榮會員計劃/ 的第 1/3 次請求 2025-10-15 15:40:07 - 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 0x7d45e880b950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e52c21889404518245dfa2d3d731a19d 2025-10-15 15:40:07 - 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 0x7d45e8a22250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e52c21889404518245dfa2d3d731a19d 2025-10-15 15:40:07 - 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 0x7d45e8a215d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e52c21889404518245dfa2d3d731a19d 2025-10-15 15:40:07 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:40:07 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:40:07 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:40:07 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:40:07 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:07 - 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-15 15:40:07 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:40:07 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:08 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:08 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:40:08 - 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 0x60ce9cd4a4e3 <unknown> #1 0x60ce9ca79c76 <unknown> #2 0x60ce9caa2d78 <unknown> #3 0x60ce9ca9f029 <unknown> #4 0x60ce9caddccc <unknown> #5 0x60ce9cadd47f <unknown> #6 0x60ce9cad4de3 <unknown> #7 0x60ce9caaa2dd <unknown> #8 0x60ce9caab34e <unknown> #9 0x60ce9cd0a3e4 <unknown> #10 0x60ce9cd0e3d7 <unknown> #11 0x60ce9cd18b20 <unknown> #12 0x60ce9cd0f023 <unknown> #13 0x60ce9ccdd1aa <unknown> #14 0x60ce9cd336b8 <unknown> #15 0x60ce9cd33847 <unknown> #16 0x60ce9cd43243 <unknown> #17 0x79321f094ac3 <unknown> 2025-10-15 15:40:08 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:40:08 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:40:08 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:40:08 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/尊榮會員計劃/ 2025-10-15 15:40:11 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/尊榮會員計劃/ 2025-10-15 15:40:11 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:40:11 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:40:11 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:40:11 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/尊榮會員計劃/ 2025-10-15 15:40:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:40:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:40:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:40:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:40:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:40:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:40:13 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:40:13 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:40:13 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:40:13 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:40:13 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:40:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:40:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:40:17 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 47 2025-10-15 15:40:19 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 47,內容可能已加載完成 2025-10-15 15:40:19 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:40:27 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/shyowowo (實際 URL: https://www.twitch.tv/shyowowo) 2025-10-15 15:40:27 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:40:27 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:40:27 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:40:27 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 237083 字節 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 249 字節 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 201 字節 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 201 字節,約 44 個詞,30 行 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 離線 阿和1 已離線。 開啟通知 阿和1 64 位追隨者 追隨 訂閱 首頁 關於 時間表 影片 聊天 離線 追隨 shyowowo 即可在開台時收到通知 開啟通知 實況聊天室 贈送 1 份訂閱就能奪下排行榜第 1 名! 贈送 1 份訂閱 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:40:28 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 9/21 個網址 2025-10-15 15:40:28 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 2025-10-15 15:40:28 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 的第 1/3 次請求 2025-10-15 15:40: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 0x7d45e8dd1810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/00d84a081cf0bb5c282c581de4ace264 2025-10-15 15:40: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 0x7d45e8d0d710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/00d84a081cf0bb5c282c581de4ace264 2025-10-15 15:40: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 0x7d45e8d0e710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/00d84a081cf0bb5c282c581de4ace264 2025-10-15 15:40:28 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:40:28 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:40:28 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:40:28 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:40:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:28 - 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-15 15:40:28 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:40:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40: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-15 15:40: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 0x63446fdce4e3 <unknown> #1 0x63446fafdc76 <unknown> #2 0x63446fb26d78 <unknown> #3 0x63446fb23029 <unknown> #4 0x63446fb61ccc <unknown> #5 0x63446fb6147f <unknown> #6 0x63446fb58de3 <unknown> #7 0x63446fb2e2dd <unknown> #8 0x63446fb2f34e <unknown> #9 0x63446fd8e3e4 <unknown> #10 0x63446fd923d7 <unknown> #11 0x63446fd9cb20 <unknown> #12 0x63446fd93023 <unknown> #13 0x63446fd611aa <unknown> #14 0x63446fdb76b8 <unknown> #15 0x63446fdb7847 <unknown> #16 0x63446fdc7243 <unknown> #17 0x71e0fcc94ac3 <unknown> 2025-10-15 15:40:29 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:40:29 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:40:29 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:40:29 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 2025-10-15 15:40:29 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 2025-10-15 15:40:34 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 2025-10-15 15:40:37 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:40:37 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:40:37 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:40:37 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 2025-10-15 15:40:38 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/尊榮會員計劃/ (實際 URL: https://yushibuhou.com/%E5%B0%8A%E6%A6%AE%E6%9C%83%E5%93%A1%E8%A8%88%E5%8A%83/) 2025-10-15 15:40:38 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:40:38 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:40:38 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:40:38 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 188874 字節 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 193 字節 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 87 字節 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 87 字節,約 14 個詞,13 行 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 盡情期待!! 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:40:39 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 12/21 個網址 2025-10-15 15:40:39 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:40:39 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:24 秒 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/ 的第 1/3 次請求 2025-10-15 15:40:39 - 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 0x7d45e83b8ed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f816232cc423fd44ed6c9c699ff23c7e 2025-10-15 15:40:39 - 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 0x7d45e83b8750>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f816232cc423fd44ed6c9c699ff23c7e 2025-10-15 15:40:39 - 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 0x7d45e83bb1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f816232cc423fd44ed6c9c699ff23c7e 2025-10-15 15:40:39 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:40:39 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:40:39 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:40:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:39 - 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-15 15:40:39 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:40:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:40:39 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:40:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:40:40 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:40:40 - 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 0x6269f585f4e3 <unknown> #1 0x6269f558ec76 <unknown> #2 0x6269f55b7d78 <unknown> #3 0x6269f55b4029 <unknown> #4 0x6269f55f2ccc <unknown> #5 0x6269f55f247f <unknown> #6 0x6269f55e9de3 <unknown> #7 0x6269f55bf2dd <unknown> #8 0x6269f55c034e <unknown> #9 0x6269f581f3e4 <unknown> #10 0x6269f58233d7 <unknown> #11 0x6269f582db20 <unknown> #12 0x6269f5824023 <unknown> #13 0x6269f57f21aa <unknown> #14 0x6269f58486b8 <unknown> #15 0x6269f5848847 <unknown> #16 0x6269f5858243 <unknown> #17 0x790e27494ac3 <unknown> 2025-10-15 15:40:40 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:40:40 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:40:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:40:41 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:40:41 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:40:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0% 2025-10-15 15:40:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 189.6MB, CPU 0.0% 2025-10-15 15:40:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:40:43 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:40:43 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:40:43 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:40:43 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:40:43 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/ 2025-10-15 15:40:45 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:40:45 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:40:45 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:40:45 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:40:45 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:40:49 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 195 2025-10-15 15:40:51 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 195,內容可能已加載完成 2025-10-15 15:40:51 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:40:52 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 876 2025-10-15 15:40:53 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 113 2025-10-15 15:40:55 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 112,內容可能已加載完成 2025-10-15 15:40:55 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:40:57 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/ (實際 URL: https://yushibuhou.com/shop/%e9%bd%a3%e5%bd%b1%e8%88%9e%ef%bd%9cshadow-play%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e9%bb%91%e9%87%91%e8%b6%85%e4%b8%83%e9%8a%80%e6%9b%9c%e7%9f%b3%e6%89%8b%e9%8d%8a/) 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 249127 字節 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 660 字節 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1422 字節 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1672 字節 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 582 字節 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2016 字節,約 291 個詞,162 行 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 + Free Shipping 在光影交錯的舞台上,讓每一步勇氣都閃耀成自己的光。 ◦ 材質:天然黑金超七、天然銀曜石 ◦ 金屬:銅鍍金 / 14K 銅包金 貨號: BR-DS-008 分類: 手鍊 | Bracelets​ 標籤: 獨家設計系列 , 銀曜石 , 黑金超七 描述 額外資訊 評價 (0) 你還記得初次見面的那天嗎? 抬起頭,與那雙目光不期而遇。 來不及防備,心卻先一步動搖。 轉眼間,湖面漾起一圈又一圈的漣漪…… 那愛意,就像大雨落下,怎麼讓人不牽掛? 草莓晶,閃爍著粉嫩的甜意, 像臉頰上悄悄浮現的紅暈。 紫鋰雲母,映照著優雅的神秘, 像那雙目光裡無聲的吸引。 讓「初見」為你收藏 心跳加速的片刻, 也許是開始,也許是唯一, 永遠是記憶裡最柔軟的溫度。 戴上你的力量 Wear Your Power ✦ 商品描述 ✦ 手工製作工期為下單後 2~3 個工作日 活動或節慶期間,出貨時間可能順延 材質 草莓晶珠徑 約7mm 、紫鋰雲母 珠徑 約8mm 銅鍍金 ※ 因天然礦石每批原料不同,顏色、紋理及大小略有差異 尺寸示意 商品照為實際手圍 15cm 配戴範例 ※ 下單後會依照您選擇的手圍製作,手鍊顆數可能與照片略有差異,將依實際尺寸調整 ✦ 水晶說明 ✦​ |草莓晶 Strawberry Quartz| 甜美與心動之石 粉嫩的晶體, 象徵甜意與溫柔, 能喚起內心柔軟的情感與喜悅。 常被認為能提升愛與浪漫能量, 帶來親密、關懷與心靈的甜蜜感受。 如同臉頰悄悄浮現的紅暈, 收藏每一次心跳加速的瞬間。 |紫鋰雲母 Lepidolite| 優雅與神秘之石 紫色的晶體,象徵平靜與智慧, 能舒緩緊張與焦慮,帶來內心的穩定。 常被認為能提升直覺與洞察力, 幫助理解人與事、增進心靈平衡。 如同無聲的吸引, 映照每一次悸動的目光, 守護心靈,帶來柔和的力量。 ※ 水晶的能量來自古老文化,感受因人而異,御石不后陪你細心傾聽。 重量 0.02 公克 手圍尺寸 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 日本蠶絲線 商品評價 目前沒有評價。 搶先評價 “齣影舞|Shadow Play|獨家設計系列|黑金超七銀曜石手鍊” 取消回覆 相關商品 手鍊 | Bracelets​ 斜陽|Falling Sun|獨家設計系列|黃金祖母晶黃膠花蜜蠟車輪珠手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 手鍊 | Bracelets​ 祖母的花園|Emerald Garden|獨家設計系列|綠祖母晶黑髮晶手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 加入會員享購物金 額外的結構化內容: 手圍尺寸15 CM | 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 手鍊材質 | 請選取一個選項日本蠶絲線日本蠶絲線清除 重量 | 0.02 公克 手圍尺寸 | 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 | 日本蠶絲線 • • • • • 描述 • 額外資訊 • 評價 (0) • 手鍊 | Bracelets​ 斜陽|Falling Sun|獨家設計系列|黃金祖母晶黃膠花蜜蠟車輪珠手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 • 手鍊 | Bracelets​ 菩提牛奶|Bodhi Milk|菩提系列|紅寶石藍紋石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 • 手鍊 | Bracelets​ 祖母的花園|Emerald Garden|獨家設計系列|綠祖母晶黑髮晶手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:41:07 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 13/21 個網址 2025-10-15 15:41:07 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/ 2025-10-15 15:41:07 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/ 的第 1/3 次請求 2025-10-15 15:41:07 - 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 0x7d45e8cd6c90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2f683dfc5b56ac32b3a474933762d3d6 2025-10-15 15:41:07 - 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 0x7d45e8cee510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2f683dfc5b56ac32b3a474933762d3d6 2025-10-15 15:41:07 - 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 0x7d45e8cec410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2f683dfc5b56ac32b3a474933762d3d6 2025-10-15 15:41:07 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:41:07 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:41:07 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:41:07 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:41:07 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:07 - 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-15 15:41:07 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:41:08 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:08 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:08 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:41:08 - 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 0x5d475d58d4e3 <unknown> #1 0x5d475d2bcc76 <unknown> #2 0x5d475d2e5d78 <unknown> #3 0x5d475d2e2029 <unknown> #4 0x5d475d320ccc <unknown> #5 0x5d475d32047f <unknown> #6 0x5d475d317de3 <unknown> #7 0x5d475d2ed2dd <unknown> #8 0x5d475d2ee34e <unknown> #9 0x5d475d54d3e4 <unknown> #10 0x5d475d5513d7 <unknown> #11 0x5d475d55bb20 <unknown> #12 0x5d475d552023 <unknown> #13 0x5d475d5201aa <unknown> #14 0x5d475d5766b8 <unknown> #15 0x5d475d576847 <unknown> #16 0x5d475d586243 <unknown> #17 0x7efedfc94ac3 <unknown> 2025-10-15 15:41:08 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:41:08 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:41:09 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:41:09 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/ 2025-10-15 15:41:11 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/ 2025-10-15 15:41:11 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:41:11 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:41:11 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:41:11 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/ 2025-10-15 15:41:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:41:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:41:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:41:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:41:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:41:13 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:41:13 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:41:13 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:41:13 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:41:13 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:41:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:41:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:41:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:41:17 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 56 2025-10-15 15:41:19 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 56,內容可能已加載完成 2025-10-15 15:41:19 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/iamruru/videos?filter=archives&category=21779 (實際 URL: https://www.twitch.tv/iamruru/videos?category=21779&filter=archives) 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:41:25 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 289394 字節 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 177 字節 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 820 字節 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 700 字節 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 820 字節,約 143 個詞,88 行 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 離線 看看這段《League of Legends》 實況 吧 (建立於 3 天前)。 開啟通知 我敢打賭 打野九成幫上九成輸 !陪玩 凱莎、庫奇、路西恩教學 小鼠條 582 位追隨者 追隨 訂閱 首頁 關於 時間表 影片 聊天 篩選依據 過去的實況 League of Legends 排序依據 日期 我敢打賭 打野九成幫上九成輸 !陪玩 小鼠條 (iamruru) League of Legends 38:35 觀看次數:46 3 天前 國服彈性ing !陪玩 小鼠條 (iamruru) League of Legends 6:23:15 觀看次數:260 4 天前 三千台幣的帳號 三千韓元的服務^^ !陪玩 小鼠條 (iamruru) League of Legends 3:36:19 觀看次數:174 6 天前 中秋節快樂 明天記得起床上班 !陪玩 章節 2 5:08:28 觀看次數:171 9 天前 全世界最愛打LOL的人 !陪玩 章節 2 5:40:21 觀看次數:229 10 天前 玩魂類遊戲ㄉ第四天 !陪玩 小鼠條 (iamruru) WUCHANG: Fallen Feathers 9:12:06 觀看次數:325 10 天前 彈性 !陪玩 小鼠條 (iamruru) League of Legends 14:16:13 觀看次數:717 11 天前 打個兩把 晚點繼續征戰明末 !陪玩 章節 2 5:12:24 觀看次數:236 12 天前 這部影片的音樂部分已設為靜音,因為此音樂似乎含有由第三方擁有或控管的著作權內容。 00:00:46 00:38:35 音量 實況聊天室 贈送 1 份訂閱就能奪下排行榜第 1 名! 贈送 1 份訂閱 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:41:26 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 10/21 個網址 2025-10-15 15:41:26 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/caedrel 2025-10-15 15:41:26 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/caedrel, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/caedrel 的第 1/3 次請求 2025-10-15 15:41:26 - 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 0x7d45e8baf150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6f454eb0158a5424885c9ce302c5f8cf 2025-10-15 15:41:26 - 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 0x7d45e8cef790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6f454eb0158a5424885c9ce302c5f8cf 2025-10-15 15:41:26 - 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 0x7d45e83046d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6f454eb0158a5424885c9ce302c5f8cf 2025-10-15 15:41:26 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:41:26 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:41:26 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:41:26 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:41:26 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:26 - 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-15 15:41:26 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:41:26 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:27 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:27 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:41:27 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x646d2c2764e3 <unknown> #1 0x646d2bfa5c76 <unknown> #2 0x646d2bfced78 <unknown> #3 0x646d2bfcb029 <unknown> #4 0x646d2c009ccc <unknown> #5 0x646d2c00947f <unknown> #6 0x646d2c000de3 <unknown> #7 0x646d2bfd62dd <unknown> #8 0x646d2bfd734e <unknown> #9 0x646d2c2363e4 <unknown> #10 0x646d2c23a3d7 <unknown> #11 0x646d2c244b20 <unknown> #12 0x646d2c23b023 <unknown> #13 0x646d2c2091aa <unknown> #14 0x646d2c25f6b8 <unknown> #15 0x646d2c25f847 <unknown> #16 0x646d2c26f243 <unknown> #17 0x7eafeb494ac3 <unknown> 2025-10-15 15:41:27 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:41:27 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:41:27 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:41:27 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/caedrel 2025-10-15 15:41:27 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/caedrel 2025-10-15 15:41:34 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/caedrel 2025-10-15 15:41:35 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:41:36 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:41:37 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:41:37 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/caedrel 2025-10-15 15:41:38 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/ (實際 URL: https://yushibuhou.com/%e5%93%81%e7%89%8c%e6%95%85%e4%ba%8b/) 2025-10-15 15:41:38 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:41:38 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:41:38 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:41:38 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 193001 字節 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 295 字節 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 383 字節 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 302 字節 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 383 字節,約 33 個詞,28 行 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 戴上你的力量 Wear Your Power 御石不后 於2024年成立,開啟美好的旅程。 準備好了嗎? 帶你一起進入我們的故事…… 御石不后之旅 我們從忙碌的城市出發,走進水晶的奇幻世界。 每一顆天然石,都像小小的我們,獨一無二,藏著故事,也藏著能量。 品牌命名的靈光乍現 創辦人在電梯裡,看到公告欄上的里長文宣, 靈感一閃,想到「逾時不候」的諧音,簡單好記。 就像提醒自己,也提醒每一位顧客:不要猶豫,選擇屬於你的力量,就在此刻。 你的能量,你的節奏 每個人都有自己的節奏與能量。 人生不過是一連串的瞬間,而我想陪你走過每一刻。 戴上飾品的那一刻,心跳慢下來,思緒輕盈飛翔, 你的力量,也悄悄被點亮。 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:41:39 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 14/21 個網址 2025-10-15 15:41:39 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/退換貨政策/ 2025-10-15 15:41:39 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/退換貨政策/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/退換貨政策/ 的第 1/3 次請求 2025-10-15 15:41:39 - 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 0x7d45e8e15a50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/af44ac22761e48ee4d075c7d77515a9a 2025-10-15 15:41:39 - 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 0x7d45e89803d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/af44ac22761e48ee4d075c7d77515a9a 2025-10-15 15:41:39 - 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 0x7d45e8981210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/af44ac22761e48ee4d075c7d77515a9a 2025-10-15 15:41:39 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:41:39 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:41:39 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:41:39 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:41:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:40 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:41:40 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:41:40 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:41:40 - 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-15 15:41:40 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:41:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:41 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:41:41 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:41:41 - 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 0x63232b89b4e3 <unknown> #1 0x63232b5cac76 <unknown> #2 0x63232b5f3d78 <unknown> #3 0x63232b5f0029 <unknown> #4 0x63232b62eccc <unknown> #5 0x63232b62e47f <unknown> #6 0x63232b625de3 <unknown> #7 0x63232b5fb2dd <unknown> #8 0x63232b5fc34e <unknown> #9 0x63232b85b3e4 <unknown> #10 0x63232b85f3d7 <unknown> #11 0x63232b869b20 <unknown> #12 0x63232b860023 <unknown> #13 0x63232b82e1aa <unknown> #14 0x63232b8846b8 <unknown> #15 0x63232b884847 <unknown> #16 0x63232b894243 <unknown> #17 0x7b2888294ac3 <unknown> 2025-10-15 15:41:41 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:41:41 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:41:42 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:41:42 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/退換貨政策/ 2025-10-15 15:41:45 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/退換貨政策/ 2025-10-15 15:41:45 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:41:45 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:41:45 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:41:45 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/退換貨政策/ 2025-10-15 15:41:47 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:41:47 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:41:47 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:41:47 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:41:47 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:41:51 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 95 2025-10-15 15:41:53 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 95,內容可能已加載完成 2025-10-15 15:41:53 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:41:56 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 3555 2025-10-15 15:41:58 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 541 2025-10-15 15:42:00 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 541,內容可能已加載完成 2025-10-15 15:42:00 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:42:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:42:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0% 2025-10-15 15:42:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 189.8MB, CPU 0.0% 2025-10-15 15:42:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/退換貨政策/ (實際 URL: https://yushibuhou.com/%E9%80%80%E6%8F%9B%E8%B2%A8%E6%94%BF%E7%AD%96/) 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 197329 字節 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1051 字節 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1113 字節 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1032 字節 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 892 字節 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1955 字節,約 160 個詞,79 行 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 退換貨政策 在御石不后,我們珍惜每一份與您的連結,並希望您擁有安心而美好的購物體驗。以下為退換貨須知,請您留意: ① 七日鑑賞期 - 一般商品:享有七日鑑賞期,七日內可申請退貨;超過七日視為交易完成,恕不受理。 - 客製化商品:由於屬於 個人訂製設計,不適用七日鑑賞期,恕不接受退換貨,購買前請務必確認設計內容。 - 耳環類商品:屬於 貼身飾品,基於個人衛生與安全考量,一旦拆封配戴後恕無法退換貨,敬請理解。但若商品本身有瑕疵或寄錯,請於收到後七日內與我們聯繫,將會為您更換或協助處理。 ② 退貨流程與注意事項 請務必 先聯繫客服 提出退貨申請,經確認後再寄回。若自行寄回,恕不受理並將原件退回,來回運費需由寄件人承擔。 辦理退貨時,商品需保持 全新、未使用狀態,並保留完整包裝、配件及贈品。 本商店 不提供直接換貨服務,如需更換,請先辦理退貨,再重新下單。 為保障雙方權益,建議您在寄回商品時 全程錄影裝箱過程。 ③ 非瑕疵範圍(以下狀況屬正常現象,非瑕疵) - 天然水晶的色差:不同光線或顯示器,顏色可能略有差異。 - 天然紋理:冰裂、棉絮、礦缺、細小紋路,皆屬水晶獨特特色。 - 蠶絲線頭:水晶手鏈使用蠶絲線,珠子滾動時線頭外露屬正常。如果越來越多是要準備換線的訊號。 - 金屬配件:銅包金等材質的配件可能有細微刮痕、小焊點或凹凸感。 - 尺寸誤差:手工測量可能有 ±0.5~1cm 誤差。 ④ 以下情況無法受理退換貨 - 超過七日鑑賞期(以簽收日起算)。 - 商品及配件(含包裝、贈品)不完整。 - 商品有明顯使用痕跡、污損、人為毀損或清洗痕跡。 - 客製化商品、修改過的商品(如改鏈長、耳環改夾式)。 - 個人因素退貨次數過多,本店有權暫停或拒絕服務。 ⑤ 退款方式 信用卡付款:退刷至原卡,處理時間約 7–14 天。 第三方支付(LINE Pay 等):退回原付款帳號。 銀行轉帳:非中國信託帳戶需扣除 NT$15 手續費,退款時間約 5–7 天。 各銀行入帳時間略有不同,請依照您的發卡銀行為準。 ⑥ 聯繫客服 如需退貨或有任何疑問,歡迎透過以下方式與我們聯繫: - LINE 官方帳號:@527oqirb - Instagram / Facebook 私訊 - Email:royal.stone.1998@gmail.com 感謝您的理解與支持,御石不后將持續用心,為您帶來每一份療癒與美好的體驗。 御石不后保留退換貨服務之最終審核權,並以誠信與公平為原則,保障顧客與品牌雙方的權益。 額外的結構化內容: • 一般商品:享有七日鑑賞期,七日內可申請退貨;超過七日視為交易完成,恕不受理。 • 客製化商品:由於屬於 個人訂製設計,不適用七日鑑賞期,恕不接受退換貨,購買前請務必確認設計內容。 • 耳環類商品:屬於 貼身飾品,基於個人衛生與安全考量,一旦拆封配戴後恕無法退換貨,敬請理解。但若商品本身有瑕疵或寄錯,請於收到後七日內與我們聯繫,將會為您更換或協助處理。 • 請務必 先聯繫客服 提出退貨申請,經確認後再寄回。若自行寄回,恕不受理並將原件退回,來回運費需由寄件人承擔。 • 辦理退貨時,商品需保持 全新、未使用狀態,並保留完整包裝、配件及贈品。 • 本商店 不提供直接換貨服務,如需更換,請先辦理退貨,再重新下單。 • 為保障雙方權益,建議您在寄回商品時 全程錄影裝箱過程。 • 天然水晶的色差:不同光線或顯示器,顏色可能略有差異。 • 天然紋理:冰裂、棉絮、礦缺、細小紋路,皆屬水晶獨特特色。 • 蠶絲線頭:水晶手鏈使用蠶絲線,珠子滾動時線頭外露屬正常。如果越來越多是要準備換線的訊號。 • 金屬配件:銅包金等材質的配件可能有細微刮痕、小焊點或凹凸感。 • 尺寸誤差:手工測量可能有 ±0.5~1cm 誤差。 • 超過七日鑑賞期(以簽收日起算)。 • 商品及配件(含包裝、贈品)不完整。 • 商品有明顯使用痕跡、污損、人為毀損或清洗痕跡。 • 客製化商品、修改過的商品(如改鏈長、耳環改夾式)。 • 個人因素退貨次數過多,本店有權暫停或拒絕服務。 • 信用卡付款:退刷至原卡,處理時間約 7–14 天。 • 第三方支付(LINE Pay 等):退回原付款帳號。 • 銀行轉帳:非中國信託帳戶需扣除 NT$15 手續費,退款時間約 5–7 天。 • 各銀行入帳時間略有不同,請依照您的發卡銀行為準。 • LINE 官方帳號:@527oqirb • Instagram / Facebook 私訊 • Email:royal.stone.1998@gmail.com • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:42:12 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 15/21 個網址 2025-10-15 15:42:12 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/品牌故事/ 2025-10-15 15:42:12 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/品牌故事/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/品牌故事/ 的第 1/3 次請求 2025-10-15 15:42:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:42:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:42:12 - 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 0x7d45e8982650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/88a8bd214f49920f58dc45f86ca334d8 2025-10-15 15:42:12 - 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 0x7d45e8a9f890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/88a8bd214f49920f58dc45f86ca334d8 2025-10-15 15:42:12 - 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 0x7d45e8a9c950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/88a8bd214f49920f58dc45f86ca334d8 2025-10-15 15:42:12 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:42:12 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:42:12 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:42:12 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:42:13 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:42:13 - 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-15 15:42:13 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:42:13 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:42:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:42:14 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:14 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:42:15 - 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 0x5861a88af4e3 <unknown> #1 0x5861a85dec76 <unknown> #2 0x5861a8607d78 <unknown> #3 0x5861a8604029 <unknown> #4 0x5861a8642ccc <unknown> #5 0x5861a864247f <unknown> #6 0x5861a8639de3 <unknown> #7 0x5861a860f2dd <unknown> #8 0x5861a861034e <unknown> #9 0x5861a886f3e4 <unknown> #10 0x5861a88733d7 <unknown> #11 0x5861a887db20 <unknown> #12 0x5861a8874023 <unknown> #13 0x5861a88421aa <unknown> #14 0x5861a88986b8 <unknown> #15 0x5861a8898847 <unknown> #16 0x5861a88a8243 <unknown> #17 0x71d3c1e94ac3 <unknown> 2025-10-15 15:42:15 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:42:15 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:42:15 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:42:15 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/品牌故事/ 2025-10-15 15:42:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:42:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:42:18 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/品牌故事/ 2025-10-15 15:42:18 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:42:18 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:42:18 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:42:18 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/品牌故事/ 2025-10-15 15:42:20 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:42:20 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:42:20 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:42:20 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:42:20 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:42:24 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 56 2025-10-15 15:42:26 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 56,內容可能已加載完成 2025-10-15 15:42:26 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:42:30 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/caedrel (實際 URL: https://www.twitch.tv/caedrel) 2025-10-15 15:42:30 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:42:30 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:42:30 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:42:31 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:42:31 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:42:31 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:42:31 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 660088 字節 2025-10-15 15:42:31 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 287 字節 2025-10-15 15:42:31 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 6586 字節 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 258 字節 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 6586 字節,約 1239 個詞,526 行 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE Caedrel 追隨 訂閱 🔴KT VS KOI WORLDS 2025 SWISS STAGE DAY1 #WORLDS2025 🔴!dpm !displate !youtube League of Legends English LPL LCK LEC DropsEnabled 142,724 觀眾人數:142,724 4:11:00 Live 實況已進行 4:11:00 關於 Caedrel 138.3萬 名追隨者 · Yume Talent he cancelled it LIVE 音量 音量 實況聊天室 xDolch 250 dulcecapibara 103 pattypat1202 100 xDolch 250 dulcecapibara 103 pattypat1202 100 訂閱就能獲得掉寶! 由 ShayneIee 釘選 KT vs MKOI @9am || BLG vs 100T @10am || FLY vs T1 @11am || HLE vs AL @12pm || G2 vs TES @1pm || GEN vs PSG @2pm (All Times CEST - All Games Bo1) 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 DOTANALAKE : MY REGION sushitraash_ : BIG MYFRAUD Tschubby : early game andys TAH dxsam77 : gg Mumei85 : MKOI DOES IT AGAIN LO MKOI DOES IT AGAIN LO MKOI DOES IT AGAIN LO MKOI DOES IT AGAIN LO MKOI DOES IT AGAIN LO MKOI DOES IT AGAIN LO oreintal : HAHAHAHA XLRDtv : No Bruh__________Moment : gg Yonataso : gg ZachZeno00 : atakhan so what hah leoamessi : yeah yeah "if", if my grandma... you know the rest Nich_TV : @Caedrel KT are winning worlds btw fort_sen : EU LOL hipsterish : SAME SHIT EVERY SINGLE FUKING TIME MAN U JUST CANT ANYMORE Ke12all : SO BADD LOL MaarinR : classic eu throw NOTMYREGION deathfightmaster69 : MYREGION FreAQseta : well... now she doesnt IAmAGeeAm : gg 41li3x : HUHH im_sitri : EU KT KEKW TungstemEdge : welcome back EU dydrmxd : gg fking chokers gg fking chokers gg fking chokers gg fking chokers gg fking chokers gg fking chokers 回覆 @oliver_queen_21 : EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH EU THE TRASHEST REGION HAHAHAH PakkiH : Are u okey ? drixuu : Koi throwing like always tzuzuvn : EU justsh1rovn : LOL klarionlol : gg bogartz26 : Mkekw 感觉你不是很友善 (chaosinidema) : W korea RainZhFa : We need to see KTFRAUD snowmugs : Classic Mkoi what a throw eduramsae : why are they overforcing so much marinaraa1 : EUMEGALUL OGLOCdr3w : yes, EU is bad dasklfjem : this the team that beat geng btw taydius : nice ult sally Xinlong10 : WEST IS SO FKING TRASH pirawatj : pe ta Dungbeatle_DB : Caedral called it.... Master of throwing leads.. GNATcs : EU LO REMOVE ALL 3 SLOTS LOL cmwam8 : EU AIRPORT SPEEDRUN LMAO PoAlua : +1k to -1k LOL fargo100 : Mkoi classic ezkaton2 : EU TRASH LOL frankenfood : 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH 0-2 EU HAH pekorone : NOTMYREGION itsProtonZ : THE PLAY IS GOOD IF THEY HAD MF INSTEAD OF YUNARA Daragh69420 : MYREGION milkypeepo : HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 HAH EU 0-2 kyube_x3 : EU throwing LO EU throwing LO EU throwing LO EU throwing LO EU throwing LO EU throwing LO EU throwing LO EU throwing LO EU throwing LO EU throwing LO cincosoquinhosnomicgyro : bdd is insane fhsdzxc : EL LOLYA THREW LOL LOL LOL flawlessdb : fizzysoldier : eu makes kt look like t1 gg juunjunn : KT DONE PLAYING WITH THEIR FOOD LOL mortylittleguy : NightWalker70 : EU LOST THIS LOL fearx_hatewatcher : don’t look hot gold lead Fish_Incorporated : W throw Guulllee : ruunans is such a shit item PsychoBala : IF KT BEATS KOI YOU WILL LISTEN TO STAR WALKIN!! drakar9 : THE WEST 0-6 Aware Fnagel : MYREGION trippu_blue696969 : not over yet deckmons : how do u lose a fucking 2.4k gold lead jpchestnutty : Why you throwing bella mariocrrano : o7 Clairfoyance : HOW... 0000takoyaki0000 : 0-3 REGION LO 0-3 REGION LO 0-3 REGION LO 0-3 REGION LO 0-3 REGION LO 0-3 REGION LO 0-3 REGION LO0-3 REGION LO 0-3 REGION LO 0-3 REGION LO Sqeevy : LO lucksy__ : @Caedrel they also just win IF they dont lose LO thenathantan : gg ChungieJoe : mental boom it's unwinnable Amos30627 : gg threshboy321 : EU THROW slacker_999 : EZ BDD ImYusif : EU HAH thechinesemaster : IS THIS THE SCRIM GAME @caedrel ? mildlydepresseddog : EU bad region TheCatsMeoow : LAURE WAS RIGHT Siknata : forsen briar would clear kt NateUpLate : F R A U D S id0ntlikeyourvoice : OOOO frenzuwu : 322 febiven : Caitlyn counters EUJ galaxers : WTF happened i left for 2 mins and it was 6-0 to MKOI packness__ : gg oqosnenow : they just have too much ego and emotions CuteKoalaBear : mkoi itsnorinn : sallyR NICE ULT nyeknyok1 : Sure MingLee32 : EarlyUber 璐西琺 (lamallsh) : Your Region Your Region Your Region Your Region Your Region Your Region Your Region Your Region Your Region Your Region Your Region Your Region Your Region klasskrass : DON'T THEY KNOW THOSE GUYS HAVE FLASH AND JARVEN CAN'T JUMP IN LIKE THAT bendikss1 已訂閱 層級 1。這位使用者已經訂閱了 2 個月 ! bendikss1 : weeeee Seven044 : @Caedrel SUPA WAS 3K UP WHAT IS THIS darkhorror93 : IE or not xin solos him and they have 0 dmg tonyhart7 : EU Omegalul 譬如朝露 (nmsllll1) : EU SUCKS 篤粉 (doofusloofus) : MYREGION Kambatabg : They did Cawnfield : gg supermagicball : LOL lulu232318920 : morzelloconlapitta : FRANCHISE SYSTEM GG LO mokoto05 : Gg Heracles_12 : tenghung19 : PAPAYA HAH PAPAYA HAH PAPAYA HAH PAPAYA HAH PAPAYA HAH PAPAYA HAH PAPAYA HAH PAPAYA HAH PAPAYA HAH alexander2227 : LO alejandro0131 : MY REGION ICANT burnin_ashes_ : omg u were right about mkoi throwing leads Yugaminee : NOTMYREGION Mooncloth : how does deokdam have a gold lead lmao Dr_Rivet : EU LMAO NatureValleyBan : LOL mattwitchthew : WAS anhlacondi : LR is better than this Hor1zonX : EU xdd SoNatty247 : YOU THOUGHT HAH drewlester007 : lmao,m what a throw Jessefire144444 : HAH d0_g0 : EU U DA TRASHEST LO EU U DA TRASHEST LO EU U DA TRASHEST LO EU U DA TRASHEST LO EU U DA TRASHEST LO Ham_Sup_Loh : EUHAH Sp1derElite : om thumonpls : IM EXCITED yetiandaboy 已訂閱 層級 1。這位使用者已經訂閱了 4 個月 ! Murakii_ : oh boy oh boy oh boy ohb boy bohb oy ohb boyb 땃치 (vhavha1001) : MKOI ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ ㅋㅋ squamchdawg : LOLOL EU yaboiiii6999 : EU 0-3 MandM_Jr : gg ͏ KyubiDZNS : FNC wouldve won with the lead johnnybangg : generational throw hahahahha CAEclipse : EU 0-2 tw0bra1ncells : shoulda coulda woulda keithkappa123 : EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH EU IS FREE HAH s1lverfox_23 : classic LEC itzmekragel : HOW DID WE GO FROM 0 - 5 TO 8 - 7 AINTNOWAY vinhrua1 : Cope lycon_d2 : Cope Kappsule : HOW DOES ELYOYA HAVE A JOB???? dxsam77 : D: galabaal : DK WOULD HAVE WON THIS WORLDS!!!!!!! Gyu_CS : LOL tavareslegal : LEC cat_nerd : doesnt make any difference with ie Botosah : EU HAH The_Kblader : both team are garbage 您可以前往設定停用動態表情符號 查看 發言時間限制模式 傳送訊息  0 0 聊天 2025-10-15 15:42:32 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 11/21 個網址 2025-10-15 15:42:32 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/s0mcs 2025-10-15 15:42:32 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/s0mcs, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/s0mcs 的第 1/3 次請求 2025-10-15 15:42:32 - 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 0x7d45e8a9ed90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/895df8680e4596475ab9f7e221f8a2aa 2025-10-15 15:42:32 - 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 0x7d45e3af8ed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/895df8680e4596475ab9f7e221f8a2aa 2025-10-15 15:42:32 - 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 0x7d45e3afa610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/895df8680e4596475ab9f7e221f8a2aa 2025-10-15 15:42:32 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:42:32 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:42:32 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:42:32 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:42:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:32 - 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-15 15:42:32 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:42:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:33 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:33 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:42:33 - 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 0x5a79256b74e3 <unknown> #1 0x5a79253e6c76 <unknown> #2 0x5a792540fd78 <unknown> #3 0x5a792540c029 <unknown> #4 0x5a792544accc <unknown> #5 0x5a792544a47f <unknown> #6 0x5a7925441de3 <unknown> #7 0x5a79254172dd <unknown> #8 0x5a792541834e <unknown> #9 0x5a79256773e4 <unknown> #10 0x5a792567b3d7 <unknown> #11 0x5a7925685b20 <unknown> #12 0x5a792567c023 <unknown> #13 0x5a792564a1aa <unknown> #14 0x5a79256a06b8 <unknown> #15 0x5a79256a0847 <unknown> #16 0x5a79256b0243 <unknown> #17 0x709d7fa94ac3 <unknown> 2025-10-15 15:42:33 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:42:33 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:42:33 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:42:33 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/s0mcs 2025-10-15 15:42:33 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/s0mcs 2025-10-15 15:42:40 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/s0mcs 2025-10-15 15:42:41 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:42:42 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:42:42 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:42:42 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/s0mcs 2025-10-15 15:42:44 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:42:44 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:42:44 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/品牌故事/ (實際 URL: https://yushibuhou.com/%E5%93%81%E7%89%8C%E6%95%85%E4%BA%8B/) 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 193001 字節 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 295 字節 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 383 字節 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 302 字節 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 383 字節,約 33 個詞,28 行 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 戴上你的力量 Wear Your Power 御石不后 於2024年成立,開啟美好的旅程。 準備好了嗎? 帶你一起進入我們的故事…… 御石不后之旅 我們從忙碌的城市出發,走進水晶的奇幻世界。 每一顆天然石,都像小小的我們,獨一無二,藏著故事,也藏著能量。 品牌命名的靈光乍現 創辦人在電梯裡,看到公告欄上的里長文宣, 靈感一閃,想到「逾時不候」的諧音,簡單好記。 就像提醒自己,也提醒每一位顧客:不要猶豫,選擇屬於你的力量,就在此刻。 你的能量,你的節奏 每個人都有自己的節奏與能量。 人生不過是一連串的瞬間,而我想陪你走過每一刻。 戴上飾品的那一刻,心跳慢下來,思緒輕盈飛翔, 你的力量,也悄悄被點亮。 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:42:45 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 16/21 個網址 2025-10-15 15:42:45 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/ 2025-10-15 15:42:45 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/ 的第 1/3 次請求 2025-10-15 15:42:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d45e8968cd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/61cac4238d3f51cf3c53e0ee7100c956 2025-10-15 15:42:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d45e896be90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/61cac4238d3f51cf3c53e0ee7100c956 2025-10-15 15:42:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d45e838ac90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/61cac4238d3f51cf3c53e0ee7100c956 2025-10-15 15:42:45 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:42:45 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:42:45 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:42:45 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:42:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:46 - 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-15 15:42:46 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:42:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:42: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-15 15:42:47 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited normally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x5cfec0ffe4e3 <unknown> #1 0x5cfec0d2dc76 <unknown> #2 0x5cfec0d56d78 <unknown> #3 0x5cfec0d53029 <unknown> #4 0x5cfec0d91ccc <unknown> #5 0x5cfec0d9147f <unknown> #6 0x5cfec0d88de3 <unknown> #7 0x5cfec0d5e2dd <unknown> #8 0x5cfec0d5f34e <unknown> #9 0x5cfec0fbe3e4 <unknown> #10 0x5cfec0fc23d7 <unknown> #11 0x5cfec0fccb20 <unknown> #12 0x5cfec0fc3023 <unknown> #13 0x5cfec0f911aa <unknown> #14 0x5cfec0fe76b8 <unknown> #15 0x5cfec0fe7847 <unknown> #16 0x5cfec0ff7243 <unknown> #17 0x790652294ac3 <unknown> 2025-10-15 15:42:47 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:42:47 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:42:48 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:42:48 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/ 2025-10-15 15:42:50 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/ 2025-10-15 15:42:50 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:42:50 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:42:50 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:42:50 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/ 2025-10-15 15:42:52 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:42:52 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:42:52 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:42:52 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:42:52 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:42:55 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 614 2025-10-15 15:42:56 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 47 2025-10-15 15:42:56 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 84 2025-10-15 15:42:58 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 47,內容可能已加載完成 2025-10-15 15:42:58 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:42:58 - INFO - WebScraper - [scraper.py:1245] - get_content - 元素數量變化: 84 -> 90,可能有動態內容加載 2025-10-15 15:43:00 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 90,內容可能已加載完成 2025-10-15 15:43:00 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:43:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:43:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:43:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:43:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:43:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:43:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:43:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:43:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/ (實際 URL: https://yushibuhou.com/%e5%be%a1%e7%9f%b3%e4%b8%8d%e5%90%8e%e5%b0%8f%e7%99%be%e7%a7%91/) 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 190619 字節 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 194 字節 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 88 字節 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 88 字節,約 14 個詞,13 行 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 御石不后小百科 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 慶官網新開幕,全館滿千送百 2025-10-15 15:43:17 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 17/21 個網址 2025-10-15 15:43:17 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/ 2025-10-15 15:43:17 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:24 秒 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/ 的第 1/3 次請求 2025-10-15 15:43:17 - 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 0x7d45e8ac9a10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6551109c1e4743a7e6f2b27f7e849f88 2025-10-15 15:43:17 - 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 0x7d45e88a0dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6551109c1e4743a7e6f2b27f7e849f88 2025-10-15 15:43:17 - 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 0x7d45e88a3ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6551109c1e4743a7e6f2b27f7e849f88 2025-10-15 15:43:17 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:43:17 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:43:17 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:43:17 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:43:17 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43:17 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-15 15:43:18 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:43:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43: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-15 15:43: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 0x61952714c4e3 <unknown> #1 0x619526e7bc76 <unknown> #2 0x619526ea4d78 <unknown> #3 0x619526ea1029 <unknown> #4 0x619526edfccc <unknown> #5 0x619526edf47f <unknown> #6 0x619526ed6de3 <unknown> #7 0x619526eac2dd <unknown> #8 0x619526ead34e <unknown> #9 0x61952710c3e4 <unknown> #10 0x6195271103d7 <unknown> #11 0x61952711ab20 <unknown> #12 0x619527111023 <unknown> #13 0x6195270df1aa <unknown> #14 0x6195271356b8 <unknown> #15 0x619527135847 <unknown> #16 0x619527145243 <unknown> #17 0x7c4f4d894ac3 <unknown> 2025-10-15 15:43:19 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:43:19 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:43:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:43:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/ 2025-10-15 15:43:23 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/ 2025-10-15 15:43:23 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:43:23 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:43:24 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:43:24 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/ 2025-10-15 15:43:26 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:43:26 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:43:26 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:43:26 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:43:26 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:43:30 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 195 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/s0mcs (實際 URL: https://www.twitch.tv/s0mcs) 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 331141 字節 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 177 字節 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1224 字節 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 250 字節 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1224 字節,約 230 個詞,123 行 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE s0mcs 追隨 訂閱 W STREAMER s0m | 🎒 WORLD CHAMPION OF THE WORLD DOMINATES RANKED 🎒 | !video !socials !instagram VALORANT VALORANT English 6,262 觀眾人數:6,262 6:18:31 Live 實況已進行 6:18:31 關於 s0mcs 122.8萬 名追隨者 Professional VALORANT player for NRG LIVE 音量 音量 實況聊天室 s0ms_kitten 200 TenZ 100 rayshadputra 66 s0ms_kitten 200 TenZ 100 rayshadputra 66 訂閱就能獲得掉寶! W OR L GAME W aivsa 及另外 50 人獲得了 67萬 點 查看詳細資料 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D cole__1738 : just do it! ja1nam : its good vishmeow : pay me ja1nam and i'll do it ayonani : LOL 回覆 @1Akise : @vaiwwwy it should've been out 3days ago vaiwwwy : this week was recap i think so in 4 days new one will come out tink 回覆 @vishmeow : pay me ja1nam and i'll do it ja1nam : yea go fuck urself female_banana : what is bro doing mrfunhaver : you could just use a GoXLR then and solve all the issues tbh 回覆 @ja1nam : yea go fuck urself vishmeow : ok 1Akise : @vaiwwwy oh alr syklonne : tarik ahh marshall vaiwwwy : yah 1Akise jp705 : ns vishmeow : everyone is mean getusoutofherejuice : flash bang ja1nam : nom xainxDAVE : ns ghostyisoffline : !snapchat Nightbot : sam.oh 4813 deadlychicken210 : do they need to buff jett petiteasianbbl : LOL 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:43:31 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 12/21 個網址 2025-10-15 15:43:31 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/bearde0628 2025-10-15 15:43:31 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/bearde0628, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/bearde0628 的第 1/3 次請求 2025-10-15 15:43:31 - 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 0x7d45e8d17350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc0785d483faec809dfc352d4d718f58 2025-10-15 15:43:31 - 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 0x7d45e818f150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc0785d483faec809dfc352d4d718f58 2025-10-15 15:43:31 - 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 0x7d45e89c5e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc0785d483faec809dfc352d4d718f58 2025-10-15 15:43:31 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:43:31 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:43:31 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:43:31 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:43:31 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43:31 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-15 15:43:31 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:43:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43:32 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 195,內容可能已加載完成 2025-10-15 15:43:32 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:43:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43:32 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:43:32 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x5ba8f6c554e3 <unknown> #1 0x5ba8f6984c76 <unknown> #2 0x5ba8f69add78 <unknown> #3 0x5ba8f69aa029 <unknown> #4 0x5ba8f69e8ccc <unknown> #5 0x5ba8f69e847f <unknown> #6 0x5ba8f69dfde3 <unknown> #7 0x5ba8f69b52dd <unknown> #8 0x5ba8f69b634e <unknown> #9 0x5ba8f6c153e4 <unknown> #10 0x5ba8f6c193d7 <unknown> #11 0x5ba8f6c23b20 <unknown> #12 0x5ba8f6c1a023 <unknown> #13 0x5ba8f6be81aa <unknown> #14 0x5ba8f6c3e6b8 <unknown> #15 0x5ba8f6c3e847 <unknown> #16 0x5ba8f6c4e243 <unknown> #17 0x74f886c94ac3 <unknown> 2025-10-15 15:43:32 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:43:32 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:43:33 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:43:33 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/bearde0628 2025-10-15 15:43:33 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/bearde0628 2025-10-15 15:43:38 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-15 15:43:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.5MB, CPU 0.0% 2025-10-15 15:43:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.0MB, CPU 0.0% 2025-10-15 15:43:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 0, 記憶體 196.6MB, CPU 0.0% 2025-10-15 15:43:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.0MB, CPU 0.0% 2025-10-15 15:43:41 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/bearde0628 2025-10-15 15:43:42 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:43:43 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:43:43 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:43:43 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/bearde0628 2025-10-15 15:43:45 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:43:45 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:43:45 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/ (實際 URL: https://yushibuhou.com/shop/%e5%88%9d%e8%a6%8b%ef%bd%9csecret-glance%ef%bd%9c%e7%8d%a8%e5%ae%b6%e8%a8%ad%e8%a8%88%e7%b3%bb%e5%88%97%ef%bd%9c%e8%8d%89%e8%8e%93%e6%99%b6%e7%b4%ab%e7%a5%96%e6%af%8d%e6%89%8b%e9%8d%8a/) 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:43:47 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 248423 字節 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 660 字節 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1407 字節 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1658 字節 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 580 字節 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 1999 字節,約 288 個詞,162 行 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 + Free Shipping 在初見的瞬間,心跳悄悄被甜意與神秘收藏。 ◦ 材質:天然草莓晶、天然紫鋰雲母 ◦ 金屬:銅鍍金 貨號: BR-DS-006 分類: 手鍊 | Bracelets​ 標籤: 獨家設計系列 , 紫鋰雲母 , 草莓晶 描述 額外資訊 評價 (0) 你還記得初次見面的那天嗎? 抬起頭,與那雙目光不期而遇。 來不及防備,心卻先一步動搖。 轉眼間,湖面漾起一圈又一圈的漣漪…… 那愛意,就像大雨落下,怎麼讓人不牽掛? 草莓晶,閃爍著粉嫩的甜意, 像臉頰上悄悄浮現的紅暈。 紫鋰雲母,映照著優雅的神秘, 像那雙目光裡無聲的吸引。 讓「初見」為你收藏 心跳加速的片刻, 也許是開始,也許是唯一, 永遠是記憶裡最柔軟的溫度。 戴上你的力量 Wear Your Power ✦ 商品描述 ✦ 手工製作工期為下單後 2~3 個工作日 活動或節慶期間,出貨時間可能順延 材質 草莓晶珠徑 約7mm 、紫鋰雲母 珠徑 約8mm 銅鍍金 ※ 因天然礦石每批原料不同,顏色、紋理及大小略有差異 尺寸示意 商品照為實際手圍 15cm 配戴範例 ※ 下單後會依照您選擇的手圍製作,手鍊顆數可能與照片略有差異,將依實際尺寸調整 ✦ 水晶說明 ✦​ |草莓晶 Strawberry Quartz| 甜美與心動之石 粉嫩的晶體, 象徵甜意與溫柔, 能喚起內心柔軟的情感與喜悅。 常被認為能提升愛與浪漫能量, 帶來親密、關懷與心靈的甜蜜感受。 如同臉頰悄悄浮現的紅暈, 收藏每一次心跳加速的瞬間。 |紫鋰雲母 Lepidolite| 優雅與神秘之石 紫色的晶體,象徵平靜與智慧, 能舒緩緊張與焦慮,帶來內心的穩定。 常被認為能提升直覺與洞察力, 幫助理解人與事、增進心靈平衡。 如同無聲的吸引, 映照每一次悸動的目光, 守護心靈,帶來柔和的力量。 ※ 水晶的能量來自古老文化,感受因人而異,御石不后陪你細心傾聽。 重量 0.02 公克 手圍尺寸 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 日本蠶絲線 商品評價 目前沒有評價。 搶先評價 “初見|Secret Glance|獨家設計系列|草莓晶紫鋰雲母手鍊” 取消回覆 相關商品 手鍊 | Bracelets​ 斜陽|Falling Sun|獨家設計系列|黃金祖母晶黃膠花蜜蠟車輪珠手鍊 評分 0 滿分 5 NT$ 1,480 – NT$ 1,540 價格範圍:NT$1,480 到 NT$1,540 手鍊 | Bracelets​ 菩提咖啡|Bodhi Coffee|菩提系列|黑金骨幹太陽石白水晶手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 手鍊 | Bracelets​ 星辰藍|Celestial Blue|銀河系列|堇青石手鍊 評分 0 滿分 5 NT$ 1,580 – NT$ 1,630 價格範圍:NT$1,580 到 NT$1,630 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 加入會員享購物金 額外的結構化內容: 手圍尺寸15 CM | 請選取一個選項15 CM16 CM17 CM18 CM19 CM15 CM16 CM17 CM18 CM19 CM 手鍊材質 | 請選取一個選項日本蠶絲線日本蠶絲線清除 重量 | 0.02 公克 手圍尺寸 | 15 CM, 16 CM, 17 CM, 18 CM, 19 CM 手鍊材質 | 日本蠶絲線 • • • • • 描述 • 額外資訊 • 評價 (0) • 手鍊 | Bracelets​ 斜陽|Falling Sun|獨家設計系列|黃金祖母晶黃膠花蜜蠟車輪珠手鍊評分 0 滿分 5 NT$1,480 – NT$1,540價格範圍:NT$1,480 到 NT$1,540 • 手鍊 | Bracelets​ 菩提咖啡|Bodhi Coffee|菩提系列|黑金骨幹太陽石白水晶手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 • 手鍊 | Bracelets​ 星辰藍|Celestial Blue|銀河系列|堇青石手鍊評分 0 滿分 5 NT$1,580 – NT$1,630價格範圍:NT$1,580 到 NT$1,630 • 品牌故事 • 尊榮會員計劃 • 常見問題(FAQ) • 退換貨政策 • 條款與細則 • 隱私權政策 2025-10-15 15:43:48 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 18/21 個網址 2025-10-15 15:43:48 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/所有商品/ 2025-10-15 15:43:48 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/所有商品/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/所有商品/ 的第 1/3 次請求 2025-10-15 15:43:48 - 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 0x7d45e8ba6350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/003b9f2812b463360c67a65e8ae10769 2025-10-15 15:43:48 - 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 0x7d45e8ba6c10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/003b9f2812b463360c67a65e8ae10769 2025-10-15 15:43:48 - 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 0x7d45e8ba6050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/003b9f2812b463360c67a65e8ae10769 2025-10-15 15:43:48 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:43:48 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:43:48 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:43:48 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:43:48 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43: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-15 15:43:48 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:43:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:43: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-15 15:43: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 0x64a5220de4e3 <unknown> #1 0x64a521e0dc76 <unknown> #2 0x64a521e36d78 <unknown> #3 0x64a521e33029 <unknown> #4 0x64a521e71ccc <unknown> #5 0x64a521e7147f <unknown> #6 0x64a521e68de3 <unknown> #7 0x64a521e3e2dd <unknown> #8 0x64a521e3f34e <unknown> #9 0x64a52209e3e4 <unknown> #10 0x64a5220a23d7 <unknown> #11 0x64a5220acb20 <unknown> #12 0x64a5220a3023 <unknown> #13 0x64a5220711aa <unknown> #14 0x64a5220c76b8 <unknown> #15 0x64a5220c7847 <unknown> #16 0x64a5220d7243 <unknown> #17 0x7f55fa494ac3 <unknown> 2025-10-15 15:43:49 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:43:49 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:43:50 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:43:50 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/所有商品/ 2025-10-15 15:43:52 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/所有商品/ 2025-10-15 15:43:52 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:43:52 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:43:55 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 430 2025-10-15 15:43:57 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 66 2025-10-15 15:43:59 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 66,內容可能已加載完成 2025-10-15 15:43:59 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:44:01 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: #content 2025-10-15 15:44:01 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/所有商品/ 2025-10-15 15:44:04 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:44:04 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:44:04 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:44:04 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:44:04 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:44:08 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 50 2025-10-15 15:44:10 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 50,內容可能已加載完成 2025-10-15 15:44:10 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:44:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:44:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:44:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:44:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:44:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:44:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:44:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:44:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://yushibuhou.com/所有商品/ (實際 URL: https://yushibuhou.com/%E6%89%80%E6%9C%89%E5%95%86%E5%93%81/) 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999456: 關閉 WebDriver 實例 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 177680 字節 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 227 字節 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 111 字節 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 111 字節,約 15 個詞,14 行 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 NT$ 0 NT$ 0 Main Menu 這個頁面不存在。 指向這裡的連結發生錯誤,請使用搜尋功能查詢其他結果。 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 加入會員享購物金 2025-10-15 15:44:28 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=84):已完成 19/21 個網址 2025-10-15 15:44:28 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://yushibuhou.com/常見問題/ 2025-10-15 15:44:28 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://yushibuhou.com/常見問題/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://yushibuhou.com/常見問題/ 的第 1/3 次請求 2025-10-15 15:44: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 0x7d45eb1ebb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4f2813fdf94a05f854b03df9501a4b0c 2025-10-15 15:44: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 0x7d45ea809850>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4f2813fdf94a05f854b03df9501a4b0c 2025-10-15 15:44: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 0x7d45e8d55e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4f2813fdf94a05f854b03df9501a4b0c 2025-10-15 15:44:28 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:44:28 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:44:28 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:44:28 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:44:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:44: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-15 15:44:29 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://www.twitch.tv/bearde0628 (實際 URL: https://www.twitch.tv/bearde0628) 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 137739252999136: 關閉 WebDriver 實例 2025-10-15 15:44:29 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 274187 字節 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 336 字節 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 478 字節 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 379 字節 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 478 字節,約 81 個詞,40 行 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: LIVE 是熊弟呀 追隨 訂閱 1015 打個瓦 然後 // !投心室 I'm Only Sleeping 中文 启用掉宝 9 觀眾人數:9 11:59:19 Live 實況已進行 11:59:19 關於 是熊弟呀 250 名追隨者 25Y,現職社工 社會工具人,喜歡打遊戲的player。 是熊弟呀 的目標 還差 7 份訂閱! 3 /10 訂閱 Introducing the Streamlabs Extension! Click the streamer's icon on the video to uncover actions they've enabled - like song requests, scratchers and more. 請放大播放器以使用此實況互動元件。 Streamlabs Streamlabs LIVE 音量 音量 實況聊天室 訂閱就能獲得掉寶! 隨時在聊天訊息內按下 Escape 或 Shift + Tab 即可退出。 歡迎來到聊天室! :D 您可以前往設定停用動態表情符號 查看 傳送訊息  0 0 聊天 2025-10-15 15:44:29 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=83):已完成 13/21 個網址 2025-10-15 15:44:29 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://www.twitch.tv/do1u1u1112 2025-10-15 15:44:29 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://www.twitch.tv/do1u1u1112, use_selenium=True, proxy=False, force_new_driver=False 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://www.twitch.tv/do1u1u1112 的第 1/3 次請求 2025-10-15 15:44:29 - 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 0x7d45e83a1f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/aec548ec41dfaa9e58010d4e8e721b22 2025-10-15 15:44:29 - 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 0x7d45e83a0210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/aec548ec41dfaa9e58010d4e8e721b22 2025-10-15 15:44:29 - 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 0x7d45e83a18d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/aec548ec41dfaa9e58010d4e8e721b22 2025-10-15 15:44:29 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-15 15:44:29 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-15 15:44:29 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-15 15:44:29 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-15 15:44:29 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:44:30 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:44:30 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:44:30 - 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-15 15:44:30 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-15 15:44:30 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:44:30 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:44:30 - 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 0x61dea99424e3 <unknown> #1 0x61dea9671c76 <unknown> #2 0x61dea969ad78 <unknown> #3 0x61dea9697029 <unknown> #4 0x61dea96d5ccc <unknown> #5 0x61dea96d547f <unknown> #6 0x61dea96ccde3 <unknown> #7 0x61dea96a22dd <unknown> #8 0x61dea96a334e <unknown> #9 0x61dea99023e4 <unknown> #10 0x61dea99063d7 <unknown> #11 0x61dea9910b20 <unknown> #12 0x61dea9907023 <unknown> #13 0x61dea98d51aa <unknown> #14 0x61dea992b6b8 <unknown> #15 0x61dea992b847 <unknown> #16 0x61dea993b243 <unknown> #17 0x7f2324894ac3 <unknown> 2025-10-15 15:44:30 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:44:30 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:44:31 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:44:31 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://yushibuhou.com/常見問題/ 2025-10-15 15:44:31 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-15 15:44:31 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-15 15:44:31 - 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 0x5c5494fa14e3 <unknown> #1 0x5c5494cd0c76 <unknown> #2 0x5c5494cf9d78 <unknown> #3 0x5c5494cf6029 <unknown> #4 0x5c5494d34ccc <unknown> #5 0x5c5494d3447f <unknown> #6 0x5c5494d2bde3 <unknown> #7 0x5c5494d012dd <unknown> #8 0x5c5494d0234e <unknown> #9 0x5c5494f613e4 <unknown> #10 0x5c5494f653d7 <unknown> #11 0x5c5494f6fb20 <unknown> #12 0x5c5494f66023 <unknown> #13 0x5c5494f341aa <unknown> #14 0x5c5494f8a6b8 <unknown> #15 0x5c5494f8a847 <unknown> #16 0x5c5494f9a243 <unknown> #17 0x76078ea94ac3 <unknown> 2025-10-15 15:44:31 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-15 15:44:31 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-15 15:44:32 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-15 15:44:32 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://www.twitch.tv/do1u1u1112 2025-10-15 15:44:32 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://www.twitch.tv/do1u1u1112 2025-10-15 15:44:33 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://yushibuhou.com/常見問題/ 2025-10-15 15:44:33 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:44:33 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:44:33 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:44:33 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://yushibuhou.com/常見問題/ 2025-10-15 15:44:35 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: jquery 2025-10-15 15:44:35 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-15 15:44:35 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-15 15:44:35 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-15 15:44:35 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-15 15:44:38 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://www.twitch.tv/do1u1u1112 2025-10-15 15:44:38 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-15 15:44:38 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-15 15:44:38 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-15 15:44:38 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://www.twitch.tv/do1u1u1112 2025-10-15 15:44:39 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 98 2025-10-15 15:44:40 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react 2025-10-15 15:44:40 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-15 15:44:40 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-15 15:44:41 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 98,內容可能已加載完成 2025-10-15 15:44:41 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:44:52 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 515 2025-10-15 15:44:53 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 72 2025-10-15 15:44:55 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 72,內容可能已加載完成 2025-10-15 15:44:55 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-15 15:45:01 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:45:01 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:45:01 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:45:01 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:45:01 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:45:01 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:45:01 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:45:01 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:45:01 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:45:01 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251015_15.log,路徑: Log/20251015_15.log 2025-10-15 15:45:01 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-10-15 15:45:01 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-10-15 15:45:04 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:45:04 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:45:04 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:45:04 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:45:04 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:45:04 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:45:04 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:45:04 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:45:04 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.80GB 2025-10-15 15:45:04 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:45:04 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:45:04 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:45:04 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB 2025-10-15 15:45:04 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:45:04 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:45:04 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:45:04 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:45:04 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:45:04 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:45:04 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:45:04 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:45:04 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:58] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:45:04 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:45:04 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-10-15 15:45:04 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-10-15 15:45:04 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-10-15 15:45:04 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:45:04 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:45:04 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:45:04 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:45:04 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:58] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:45:04 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:45:04 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:45:04 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:45:04 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB 2025-10-15 15:45:04 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:45:04 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-10-15 15:45:04 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-10-15 15:45:04 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.79GB 2025-10-15 15:45:04 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-10-15 15:45:04 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:45:04 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:45:04 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:45:04 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:45:04 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:58] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:45:04 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:45:04 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-10-15 15:45:04 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-10-15 15:45:04 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-10-15 15:45:04 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-10-15 15:45:04 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-10-15 15:45:04 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:58] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-10-15 15:45:04 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-10-15 15:45:04 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-10-15 15:45:04 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-10-15 15:45:04 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:45:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:45:56 - INFO - database - [database.py:1311] - clear_all_data - 已清空所有數據:URL 16 條,審核請求 0 條,日誌 40 條 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:46:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:46:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:46:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:46:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-10-15 15:46:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 120.9MB, CPU 0.0% 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:47:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:48:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:48:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:48:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:48:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:48:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:49:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:49:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:49:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:49:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:49:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:50:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-15 15:50:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:51:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:51:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:51:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:51:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:51:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:51:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:52:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:52:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:52:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:52:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:52:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:52:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:52:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:52:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:52:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:52:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:52:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:52:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-10-15 15:53:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:53:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:54:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:54:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:54:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:54:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.4MB, CPU 0.0% 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-15 15:55:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 15:55:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:55:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:55:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:55:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.4MB, CPU 0.0% 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:56:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:57:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:57:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:57:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:57:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.4MB, CPU 0.0% 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:57:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:58:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:58:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 15:58:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 15:58:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 15:58:34 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.4MB, CPU 0.0% 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-15 15:59:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-15 16:00:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-10-15 16:00:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 121.5MB, CPU 0.0% 2025-10-15 16:00:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-10-15 16:00:04 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.4MB, CPU 0.0% 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 16:00:06 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251015_15.log,新:20251015_16.log 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 16:00:06 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251015_15.log,新:20251015_16.log 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 16:00:06 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251015_15.log,新:20251015_16.log 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-15 16:00:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-15 16:00:06 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251015_15.log,新:20251015_16.log