日誌查看 - 20251014_17.log
文件大小: 715.17 KB 最後修改: 2025-10-14 18:01:21
2025-10-14 17:01:09 - 初始化新小時日誌檔案 2025-10-14 17:01:09 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_17.log 2025-10-14 17:01:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 17:01:11 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_17.log 2025-10-14 17:01:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 17:01:15 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_17.log 2025-10-14 17:01:15 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_17.log 2025-10-14 17:01:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 17:01:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-14 17:01:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:01:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:01:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:01:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:01:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:01:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:01:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:01:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:02:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:02:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:02:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:02:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:02:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:02:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:02:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:02:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:02:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:02:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:02:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:02:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:02:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:02:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:02:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:02:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:03:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:03:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:03:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:03:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:03:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:03:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:03:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:03:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:04:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:04:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:04:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:04:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:04:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:04:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:04:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:04:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:05:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:05:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:05:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:05:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:05:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:05:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:05:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:05:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:05:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:05:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:05:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:05:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:05:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:05:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:05:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:05:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:06:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:06:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:06:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:06:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:06:13 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token has expired. 2025-10-14 17:06:13 - 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 7413 > 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-14 17:06:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:06:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:06:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:06:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:06:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:06:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:06:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:06:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:06:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:06:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:06:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:06:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-14 17:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:06:49 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: uvxv0d7l2k 2025-10-14 17:06:49 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://order.fulleats.com.tw/,結果將立即顯示 2025-10-14 17:06:49 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 77, Phone: 0906351679, Email: openprice2023@gmail.com 2025-10-14 17:06:49 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=77, URL=https://order.fulleats.com.tw/ 2025-10-14 17:06:49 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-14 17:06:49 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #2 開始處理 URL ID: 77 2025-10-14 17:06:49 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://order.fulleats.com.tw/ 2025-10-14 17:06:49 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-14 17:06:49 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:06:49 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:06:49 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/ 的第 1/3 次請求 2025-10-14 17:06:49 - 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 0x7e1353587010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/37ecfe7883f82d37c37ec3318145c842 2025-10-14 17:06:49 - 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 0x7e1352912250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/37ecfe7883f82d37c37ec3318145c842 2025-10-14 17:06:49 - 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 0x7e1352af97d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/37ecfe7883f82d37c37ec3318145c842 2025-10-14 17:06:49 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:06:49 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:06:49 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:06:49 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:06:49 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:06:49 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:06:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:06:49 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:06:49 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:06:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:06:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:06:50 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:06:50 - 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 0x5738deb444e3 <unknown> #1 0x5738de873c76 <unknown> #2 0x5738de89cd78 <unknown> #3 0x5738de899029 <unknown> #4 0x5738de8d7ccc <unknown> #5 0x5738de8d747f <unknown> #6 0x5738de8cede3 <unknown> #7 0x5738de8a42dd <unknown> #8 0x5738de8a534e <unknown> #9 0x5738deb043e4 <unknown> #10 0x5738deb083d7 <unknown> #11 0x5738deb12b20 <unknown> #12 0x5738deb09023 <unknown> #13 0x5738dead71aa <unknown> #14 0x5738deb2d6b8 <unknown> #15 0x5738deb2d847 <unknown> #16 0x5738deb3d243 <unknown> #17 0x748efec94ac3 <unknown> 2025-10-14 17:06:50 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:06:50 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:06:50 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:06:50 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/ 2025-10-14 17:06:50 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/ 2025-10-14 17:06:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:06:58 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:06:58 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:06:58 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:06:58 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:06:58 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:07:00 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:07:00 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:07:00 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:07:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:07:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:07:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:07:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:07:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:07:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:07:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:07:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:07:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:07:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:07:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:07:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:07:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:07:50 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 973 2025-10-14 17:07:51 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 204 2025-10-14 17:07:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:07:53 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 204,內容可能已加載完成 2025-10-14 17:07:53 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:07:53 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:08:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:08:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 0/1 2025-10-14 17:08:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:08:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:08:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:08:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:08:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:08:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:08:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:08:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/ (實際 URL: https://order.fulleats.com.tw/) 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:08:18 - INFO - database - [database.py:505] - update_url_status - URL ID 77 状态已更新为 processing 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 186312 字節 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1200 字節 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1089 字節 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2095 字節,約 361 個詞,279 行 2025-10-14 17:08:18 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:08:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:08:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:08:19 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://order.fulleats.com.tw/, HTML 內容大小=186312 字節 2025-10-14 17:08:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:08:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:08:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:08:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:08:19 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://order.fulleats.com.tw/, 發現問題數=10, 嚴重問題數=3, 耗時=0.035秒 2025-10-14 17:08:19 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(3), suspicious_external_script(1), form(4), password_field(2) 2025-10-14 17:08:19 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(7), warning(3) 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 23 個內部鏈接 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:2371] - should_skip_url - 跳過低價值URL: https://order.fulleats.com.tw/index.php/privacy/ (匹配模式: /privacy) 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:2683] - find_internal_links - 鏈接數量 (23) 超過限制 (20),進行截斷 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 20 個有效內部鏈接 2025-10-14 17:08:19 - INFO - main - [url_processor.py:153] - process_url - 找到 20 個內部鏈接,最大深度2層 2025-10-14 17:08:19 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=77):總計 21 個網址,已完成 1 個(主頁面) 2025-10-14 17:08:19 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/ 2025-10-14 17:08:19 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/ 的第 1/3 次請求 2025-10-14 17:08:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352916510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/50efff3ffdb9b9aae982347b797b59f9 2025-10-14 17:08:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13533197d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/50efff3ffdb9b9aae982347b797b59f9 2025-10-14 17:08:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135331a590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/50efff3ffdb9b9aae982347b797b59f9 2025-10-14 17:08:19 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:08:19 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:08:19 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:08:19 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:08:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:08:19 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:08:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:08:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:08:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:08:20 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:08:20 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x5579ba0de4e3 <unknown> #1 0x5579b9e0dc76 <unknown> #2 0x5579b9e36d78 <unknown> #3 0x5579b9e33029 <unknown> #4 0x5579b9e71ccc <unknown> #5 0x5579b9e7147f <unknown> #6 0x5579b9e68de3 <unknown> #7 0x5579b9e3e2dd <unknown> #8 0x5579b9e3f34e <unknown> #9 0x5579ba09e3e4 <unknown> #10 0x5579ba0a23d7 <unknown> #11 0x5579ba0acb20 <unknown> #12 0x5579ba0a3023 <unknown> #13 0x5579ba0711aa <unknown> #14 0x5579ba0c76b8 <unknown> #15 0x5579ba0c7847 <unknown> #16 0x5579ba0d7243 <unknown> #17 0x708a64a94ac3 <unknown> 2025-10-14 17:08:20 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:08:20 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:08:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:08:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/ 2025-10-14 17:08:20 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/ 2025-10-14 17:08:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:08:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:08:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:08:22 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:08:22 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:08:22 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:08:23 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:08:23 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:08:25 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:08:25 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:08:25 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:08:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:08:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:08:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:09:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:09:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:09:15 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 935 2025-10-14 17:09:16 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 204 2025-10-14 17:09:18 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 204,內容可能已加載完成 2025-10-14 17:09:18 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:09:18 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:09:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:09:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:09:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:09:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:09:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:09:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:09:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:09:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:09:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:09:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/ (實際 URL: https://order.fulleats.com.tw/) 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 186312 字節 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1200 字節 2025-10-14 17:09:43 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1089 字節 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2095 字節,約 361 個詞,279 行 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:09:44 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 2/21 個網址 2025-10-14 17:09:44 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:09:44 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=2282, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=2282 的第 1/3 次請求 2025-10-14 17:09:44 - 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 0x7e1353571190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ccab23b9bf945cc876ca2277572df377 2025-10-14 17:09:44 - 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 0x7e1353570610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ccab23b9bf945cc876ca2277572df377 2025-10-14 17:09:44 - 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 0x7e1353573a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ccab23b9bf945cc876ca2277572df377 2025-10-14 17:09:44 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:09:44 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:09:44 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:09:44 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:09: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 0x56f9471ce4e3 <unknown> #1 0x56f946efdc76 <unknown> #2 0x56f946f26d78 <unknown> #3 0x56f946f23029 <unknown> #4 0x56f946f61ccc <unknown> #5 0x56f946f6147f <unknown> #6 0x56f946f58de3 <unknown> #7 0x56f946f2e2dd <unknown> #8 0x56f946f2f34e <unknown> #9 0x56f94718e3e4 <unknown> #10 0x56f9471923d7 <unknown> #11 0x56f94719cb20 <unknown> #12 0x56f947193023 <unknown> #13 0x56f9471611aa <unknown> #14 0x56f9471b76b8 <unknown> #15 0x56f9471b7847 <unknown> #16 0x56f9471c7243 <unknown> #17 0x79e954894ac3 <unknown> 2025-10-14 17:09:45 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:09:45 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:09:45 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:09:45 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:09:45 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:09:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:09:48 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:09:48 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:09:48 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:09:48 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:09:48 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:09:50 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:09:50 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:09:50 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:09:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:09:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:09:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:09:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:09:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:09:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:09:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:09:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:09:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:10:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:10:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:10:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:10:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:10:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:10:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:10:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:10:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:10:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:10:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:10:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:10:40 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 967 2025-10-14 17:10:41 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:10:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:10:43 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:10:43 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:10:43 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:10:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:11:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:11:08 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=2282 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=2282) 2025-10-14 17:11:08 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:11:08 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:11:08 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 192223 字節 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1298 字節 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1121 字節 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 885 字節 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2195 字節,約 384 個詞,297 行 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 60 1 鳳梨釋迦氣泡飲330ml 1 × NT$ 60 小計: NT$ 60 查看購物車 結帳 搜尋 登入 購物車 NT$ 60 1 鳳梨釋迦氣泡飲330ml 1 × NT$ 60 小計: NT$ 60 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 1 在購物車內 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “鳳梨釋迦氣泡飲330ml” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 1 在購物車內 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:11:09 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 3/21 個網址 2025-10-14 17:11:09 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:11:09 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1760, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1760 的第 1/3 次請求 2025-10-14 17:11:09 - 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 0x7e1352917f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fa29a34579d892a3a9909aba97f7aa0c 2025-10-14 17:11:09 - 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 0x7e135353ef50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fa29a34579d892a3a9909aba97f7aa0c 2025-10-14 17:11:09 - 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 0x7e1359186f90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fa29a34579d892a3a9909aba97f7aa0c 2025-10-14 17:11:09 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:11:09 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:11:09 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:11:09 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:11:09 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:11: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-14 17:11:09 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:11:09 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:11:10 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:11:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:11:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:11: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-14 17:11: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 0x5952d911b4e3 <unknown> #1 0x5952d8e4ac76 <unknown> #2 0x5952d8e73d78 <unknown> #3 0x5952d8e70029 <unknown> #4 0x5952d8eaeccc <unknown> #5 0x5952d8eae47f <unknown> #6 0x5952d8ea5de3 <unknown> #7 0x5952d8e7b2dd <unknown> #8 0x5952d8e7c34e <unknown> #9 0x5952d90db3e4 <unknown> #10 0x5952d90df3d7 <unknown> #11 0x5952d90e9b20 <unknown> #12 0x5952d90e0023 <unknown> #13 0x5952d90ae1aa <unknown> #14 0x5952d91046b8 <unknown> #15 0x5952d9104847 <unknown> #16 0x5952d9114243 <unknown> #17 0x715db2894ac3 <unknown> 2025-10-14 17:11:10 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:11:10 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:11:10 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:11:10 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:11:10 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:11:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:11:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:11:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:11:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:11:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:11:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:11:13 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:11:13 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:11:13 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:11:13 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:11:13 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:11:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:11:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:11:15 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:11:15 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:11:15 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:11:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:11:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:11:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:11:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:11:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:11:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:11:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:11:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:11:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:11:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:11:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:11:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:11:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:11:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:11:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:11:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:11:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:11:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:11:49 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL. Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request self.raise_routing_exception(req) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception raise request.routing_exception # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request result = self.url_adapter.match(return_rule=True) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL. 2025-10-14 17:12:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:12:06 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 967 2025-10-14 17:12:07 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:12:09 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:12:09 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:12:09 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:12:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:12:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:12:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:12:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:12:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:12:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:12:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:12:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:12:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:12:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:12:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 3/21 2025-10-14 17:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1760 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1760) 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 192027 字節 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1308 字節 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1121 字節 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2203 字節,約 382 個詞,297 行 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(芥末椒鹽)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(芥末椒鹽)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “紅藜飛魚餅(芥末椒鹽)80g” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:12:34 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 4/21 個網址 2025-10-14 17:12:34 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:12:34 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/about-us/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/about-us/ 的第 1/3 次請求 2025-10-14 17:12: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 0x7e135883e310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c132beb69a5697dab304810a7379e765 2025-10-14 17:12: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 0x7e13535f0550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c132beb69a5697dab304810a7379e765 2025-10-14 17:12: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 0x7e13535f2610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c132beb69a5697dab304810a7379e765 2025-10-14 17:12:34 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:12:34 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:12:34 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:12:34 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:12:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:12:35 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:12:35 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:12:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:12:35 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:12: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-14 17:12: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 0x5945a2b7c4e3 <unknown> #1 0x5945a28abc76 <unknown> #2 0x5945a28d4d78 <unknown> #3 0x5945a28d1029 <unknown> #4 0x5945a290fccc <unknown> #5 0x5945a290f47f <unknown> #6 0x5945a2906de3 <unknown> #7 0x5945a28dc2dd <unknown> #8 0x5945a28dd34e <unknown> #9 0x5945a2b3c3e4 <unknown> #10 0x5945a2b403d7 <unknown> #11 0x5945a2b4ab20 <unknown> #12 0x5945a2b41023 <unknown> #13 0x5945a2b0f1aa <unknown> #14 0x5945a2b656b8 <unknown> #15 0x5945a2b65847 <unknown> #16 0x5945a2b75243 <unknown> #17 0x7e44c2494ac3 <unknown> 2025-10-14 17:12:35 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:12:35 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:12:36 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:12:36 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:12:36 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:12:38 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:12:38 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:12:38 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:12:38 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:12:38 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:12:40 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:12:40 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:12:40 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:12:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:12:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:13:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:13:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:13:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:13:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:13:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:13:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:13:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:13:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:13:20 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 387 2025-10-14 17:13:21 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 69 2025-10-14 17:13:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:13:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:13:23 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 69,內容可能已加載完成 2025-10-14 17:13:23 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:13:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:13:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:13:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 4/21 2025-10-14 17:13:53 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/about-us/ (實際 URL: https://order.fulleats.com.tw/index.php/about-us/) 2025-10-14 17:13:53 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:13:53 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:13:53 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:13:53 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 114246 字節 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 343 字節 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 432 字節 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 284 字節 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 432 字節,約 45 個詞,34 行 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 關於無盡 大家好!這裡是『無盡賣場』,而無盡指的是無盡的可能。我們創造、記錄、突破,就像生活,每一步的選擇都會帶來不同的結果。帶來的不僅只是商品的銷售,更多是價值上的趣事。 『商品』不僅只是商品 商品均依據網路數據、特色、品牌故事等條件挑選。若有建議也請不吝嗇的提出,讓大家買的愉快舒服,是我們該做的。 『服務』使我們參與其中 參與你的生活世界,踏入一小小角落去瞭解並助力,透過紙和筆去繪出夢想,用相機記錄當下的每一刻,若有平面設計與動靜態拍攝,歡迎來訊告訴我們。 FB官方粉絲專頁: 無盡好食好物-交流分享站 多元服務與商品未來會持續增加中 ^^ 通知 2025-10-14 17:13:54 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 5/21 個網址 2025-10-14 17:13:54 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:13:54 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1745, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1745 的第 1/3 次請求 2025-10-14 17:13: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 0x7e1353718090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3f9cb561b7041bb4f2b74c441203470c 2025-10-14 17:13: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 0x7e135371aad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3f9cb561b7041bb4f2b74c441203470c 2025-10-14 17:13: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 0x7e135371a810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3f9cb561b7041bb4f2b74c441203470c 2025-10-14 17:13:54 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:13:54 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:13:54 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:13:54 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:13:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:13:54 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:13:54 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:13:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:13:54 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:13:55 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:13:55 - 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 0x5e0da941f4e3 <unknown> #1 0x5e0da914ec76 <unknown> #2 0x5e0da9177d78 <unknown> #3 0x5e0da9174029 <unknown> #4 0x5e0da91b2ccc <unknown> #5 0x5e0da91b247f <unknown> #6 0x5e0da91a9de3 <unknown> #7 0x5e0da917f2dd <unknown> #8 0x5e0da918034e <unknown> #9 0x5e0da93df3e4 <unknown> #10 0x5e0da93e33d7 <unknown> #11 0x5e0da93edb20 <unknown> #12 0x5e0da93e4023 <unknown> #13 0x5e0da93b21aa <unknown> #14 0x5e0da94086b8 <unknown> #15 0x5e0da9408847 <unknown> #16 0x5e0da9418243 <unknown> #17 0x71a21a294ac3 <unknown> 2025-10-14 17:13:55 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:13:55 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:13:55 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:13:55 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:13:55 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:13:58 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:13:58 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:13:58 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:13:58 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:13:58 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:14:00 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:14:00 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:14:00 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:14:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:14:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:14:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:14:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:14:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:14:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:14:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:14:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:14:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:14:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:14:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:14:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:14:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:14:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:14:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:14:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:14:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:14:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:14:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:14:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:14:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:14:50 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 975 2025-10-14 17:14:51 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:14:53 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:14:53 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:14:53 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:14:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:15:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:15:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 5/21 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1745 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1745) 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 191983 字節 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1332 字節 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1129 字節 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2227 字節,約 385 個詞,297 行 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 240 1 黃金芒果乾(罐裝-無加糖)150g (全素) 1 × NT$ 240 小計: NT$ 240 查看購物車 結帳 搜尋 登入 購物車 NT$ 240 1 黃金芒果乾(罐裝-無加糖)150g (全素) 1 × NT$ 240 小計: NT$ 240 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “黃金芒果乾(罐裝-無加糖)150g (全素)” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:15:19 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 6/21 個網址 2025-10-14 17:15:19 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:15:19 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/server/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/server/ 的第 1/3 次請求 2025-10-14 17:15:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352915650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ad758428a04dfb30c317281c64c01dc5 2025-10-14 17:15:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13534b6dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ad758428a04dfb30c317281c64c01dc5 2025-10-14 17:15:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135322c990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ad758428a04dfb30c317281c64c01dc5 2025-10-14 17:15:19 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:15:19 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:15:19 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:15:19 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:15:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:15:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:15:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:15:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:15:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:15:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:15:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:15:19 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:15:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:15:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:15:20 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:15:20 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:15:20 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x5a73acfd24e3 <unknown> #1 0x5a73acd01c76 <unknown> #2 0x5a73acd2ad78 <unknown> #3 0x5a73acd27029 <unknown> #4 0x5a73acd65ccc <unknown> #5 0x5a73acd6547f <unknown> #6 0x5a73acd5cde3 <unknown> #7 0x5a73acd322dd <unknown> #8 0x5a73acd3334e <unknown> #9 0x5a73acf923e4 <unknown> #10 0x5a73acf963d7 <unknown> #11 0x5a73acfa0b20 <unknown> #12 0x5a73acf97023 <unknown> #13 0x5a73acf651aa <unknown> #14 0x5a73acfbb6b8 <unknown> #15 0x5a73acfbb847 <unknown> #16 0x5a73acfcb243 <unknown> #17 0x732c34894ac3 <unknown> 2025-10-14 17:15:20 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:15:20 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:15:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:15:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:15:20 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:15:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:15:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:15:23 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:15:23 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:15:23 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:15:23 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:15:23 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:15:25 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:15:25 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:15:25 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:15:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:15:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:15:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:16:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:16:05 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 236 2025-10-14 17:16:06 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 73 2025-10-14 17:16:08 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 73,內容可能已加載完成 2025-10-14 17:16:08 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:16:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:16:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:16:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:16:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:16:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:16:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:16:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:16:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:16:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:16:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:16:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:16:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:16:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:16:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:16:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:16:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:16:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:16:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:16:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 6/21 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/server/ (實際 URL: https://order.fulleats.com.tw/index.php/server/) 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 114509 字節 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 355 字節 2025-10-14 17:16:38 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 283 字節 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 134 字節 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 501 字節,約 93 個詞,21 行 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 線上客服 | 官方FB粉絲專頁 | 無盡好食好物-交流分享站 | | 客服信箱 | openprice2023@gmail.com | | 客服時間 | 上午 09:00 ~ 12:00 下午 13:30 ~ 19:00 晚上 20:00 ~ 21:00 (如有休息時間會額外公告) | | 官方FB粉絲專頁 | 無盡好食好物-交流分享站 | | 客服信箱 | openprice2023@gmail.com | | 客服時間 | 上午 09:00 ~ 12:00 下午 13:30 ~ 19:00 晚上 20:00 ~ 21:00 (如有休息時間會額外公告) | 通知 額外的結構化內容: 官方FB粉絲專頁 | 無盡好食好物-交流分享站 客服信箱 | openprice2023@gmail.com 客服時間 | 上午 09:00 ~ 12:00下午 13:30 ~ 19:00晚上 20:00 ~ 21:00(如有休息時間會額外公告) • 登入 • 註冊 2025-10-14 17:16:39 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 7/21 個網址 2025-10-14 17:16:39 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:16:39 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1769, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1769 的第 1/3 次請求 2025-10-14 17:16: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 0x7e135322ffd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f26a12f73d6cbd430795be3c61f4bfb3 2025-10-14 17:16: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 0x7e13533d7bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f26a12f73d6cbd430795be3c61f4bfb3 2025-10-14 17:16: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 0x7e13533d5dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f26a12f73d6cbd430795be3c61f4bfb3 2025-10-14 17:16:39 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:16:39 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:16:39 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:16:39 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:16:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:16: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-14 17:16:39 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:16:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:16:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:16: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-14 17:16: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 0x57713c7eb4e3 <unknown> #1 0x57713c51ac76 <unknown> #2 0x57713c543d78 <unknown> #3 0x57713c540029 <unknown> #4 0x57713c57eccc <unknown> #5 0x57713c57e47f <unknown> #6 0x57713c575de3 <unknown> #7 0x57713c54b2dd <unknown> #8 0x57713c54c34e <unknown> #9 0x57713c7ab3e4 <unknown> #10 0x57713c7af3d7 <unknown> #11 0x57713c7b9b20 <unknown> #12 0x57713c7b0023 <unknown> #13 0x57713c77e1aa <unknown> #14 0x57713c7d46b8 <unknown> #15 0x57713c7d4847 <unknown> #16 0x57713c7e4243 <unknown> #17 0x79eb56094ac3 <unknown> 2025-10-14 17:16:40 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:16:40 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:16:40 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:16:40 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:16:40 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:16:43 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:16:43 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:16:43 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:16:43 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:16:43 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:16:45 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:16:45 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:16:45 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:16:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:16:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:17:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:17:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:17:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:17:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:17:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:17:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:17:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:17:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:17:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:17:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:17:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:17:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:17:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:17:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:17:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:17:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:17:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:17:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:17:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:17:35 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 967 2025-10-14 17:17:36 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:17:38 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:17:38 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:17:38 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:17:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:17:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:18:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 7/21 2025-10-14 17:18:03 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1769 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1769) 2025-10-14 17:18:03 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:18:03 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:18:03 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 191995 字節 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1304 字節 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1121 字節 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 885 字節 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2201 字節,約 384 個詞,297 行 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(原味)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(原味)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 1 在購物車內 查看購物車 所有商品 “紅藜飛魚餅(原味)80g” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 1 在購物車內 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:18:04 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 8/21 個網址 2025-10-14 17:18:04 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/type-2 2025-10-14 17:18:04 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/type-2, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/type-2 的第 1/3 次請求 2025-10-14 17:18: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 0x7e13538c4110>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/072e1f38e5c58418a1a528a9685a221d 2025-10-14 17:18: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 0x7e13538da450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/072e1f38e5c58418a1a528a9685a221d 2025-10-14 17:18: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 0x7e13538db610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/072e1f38e5c58418a1a528a9685a221d 2025-10-14 17:18:04 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:18:04 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:18:04 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:18:04 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:18:04 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:18: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-14 17:18:04 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:18:04 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:18:05 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:18: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-14 17:18: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 0x618678b4b4e3 <unknown> #1 0x61867887ac76 <unknown> #2 0x6186788a3d78 <unknown> #3 0x6186788a0029 <unknown> #4 0x6186788deccc <unknown> #5 0x6186788de47f <unknown> #6 0x6186788d5de3 <unknown> #7 0x6186788ab2dd <unknown> #8 0x6186788ac34e <unknown> #9 0x618678b0b3e4 <unknown> #10 0x618678b0f3d7 <unknown> #11 0x618678b19b20 <unknown> #12 0x618678b10023 <unknown> #13 0x618678ade1aa <unknown> #14 0x618678b346b8 <unknown> #15 0x618678b34847 <unknown> #16 0x618678b44243 <unknown> #17 0x72856e294ac3 <unknown> 2025-10-14 17:18:05 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:18:05 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:18:05 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:18:05 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/type-2 2025-10-14 17:18:05 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/type-2 2025-10-14 17:18:06 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/type-2 2025-10-14 17:18:06 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:18:06 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:18:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:18:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:18:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:18:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:18:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:18:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:18:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:18:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:18:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:18:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:18:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:18:46 - INFO - WebScraper - [scraper.py:1202] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-14 17:18:46 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/type-2 2025-10-14 17:18:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:18:48 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 17:18:48 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 17:18:48 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 17:18:48 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 17:18:52 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 4 2025-10-14 17:18:54 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 4,內容可能已加載完成 2025-10-14 17:18:54 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:18:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:19:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:19:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:19:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:19:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:19:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:19:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:19:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:19:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 8/21 2025-10-14 17:19:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:19:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/type-2 (實際 URL: https://order.fulleats.com.tw/type-2) 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 880 字節 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 121 字節 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 121 字節 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 121 字節,約 18 個詞,3 行 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: Not Found The requested URL was not found on this server. Apache/2.4.52 (Ubuntu) Server at order.fulleats.com.tw Port 443 2025-10-14 17:19:24 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 9/21 個網址 2025-10-14 17:19:24 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:19:24 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1599, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1599 的第 1/3 次請求 2025-10-14 17:19:24 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135353f490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3917027848dadafd340ec8ae1681d535 2025-10-14 17:19:24 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135353d890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3917027848dadafd340ec8ae1681d535 2025-10-14 17:19:24 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352915690>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3917027848dadafd340ec8ae1681d535 2025-10-14 17:19:24 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:19:24 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:19:24 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:19:24 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:19:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:19:25 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:19:25 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:19:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:19:25 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:19:25 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:19:25 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x64d58a7044e3 <unknown> #1 0x64d58a433c76 <unknown> #2 0x64d58a45cd78 <unknown> #3 0x64d58a459029 <unknown> #4 0x64d58a497ccc <unknown> #5 0x64d58a49747f <unknown> #6 0x64d58a48ede3 <unknown> #7 0x64d58a4642dd <unknown> #8 0x64d58a46534e <unknown> #9 0x64d58a6c43e4 <unknown> #10 0x64d58a6c83d7 <unknown> #11 0x64d58a6d2b20 <unknown> #12 0x64d58a6c9023 <unknown> #13 0x64d58a6971aa <unknown> #14 0x64d58a6ed6b8 <unknown> #15 0x64d58a6ed847 <unknown> #16 0x64d58a6fd243 <unknown> #17 0x7992c3094ac3 <unknown> 2025-10-14 17:19:25 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:19:25 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:19:26 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:19:26 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:19:26 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:19:28 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:19:28 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:19:28 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:19:28 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:19:28 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:19:30 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:19:30 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:19:30 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:19:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:19:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:19:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:20:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:20:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:20:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:20:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:20:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:20:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:20:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:20:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:20:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:20:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:20:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:20:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:20:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:20:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:20:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:20:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:20:21 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 969 2025-10-14 17:20:22 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:20:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:20:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:20:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:20:24 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:20:24 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:20:24 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:20:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:20:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 9/21 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1599 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1599) 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 190415 字節 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1310 字節 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1123 字節 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 885 字節 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2207 字節,約 387 個詞,297 行 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 250 1 土雞蛋捲300g (蛋奶素) 1 × NT$ 250 小計: NT$ 250 查看購物車 結帳 搜尋 登入 購物車 NT$ 250 1 土雞蛋捲300g (蛋奶素) 1 × NT$ 250 小計: NT$ 250 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 1 在購物車內 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “土雞蛋捲300g (蛋奶素)” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 1 在購物車內 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:20:49 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 10/21 個網址 2025-10-14 17:20:49 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:20:49 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/blognews/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/blognews/ 的第 1/3 次請求 2025-10-14 17:20:49 - 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 0x7e135353eb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fb00afe128df1e880ea221bf15cbed2b 2025-10-14 17:20:49 - 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 0x7e135292dc50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fb00afe128df1e880ea221bf15cbed2b 2025-10-14 17:20:49 - 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 0x7e13532bfb90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fb00afe128df1e880ea221bf15cbed2b 2025-10-14 17:20:49 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:20:49 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:20:49 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:20:49 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:20:50 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:20:50 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:20:50 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:20:50 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:20:50 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:20:50 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:20:50 - 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 0x60fb264894e3 <unknown> #1 0x60fb261b8c76 <unknown> #2 0x60fb261e1d78 <unknown> #3 0x60fb261de029 <unknown> #4 0x60fb2621cccc <unknown> #5 0x60fb2621c47f <unknown> #6 0x60fb26213de3 <unknown> #7 0x60fb261e92dd <unknown> #8 0x60fb261ea34e <unknown> #9 0x60fb264493e4 <unknown> #10 0x60fb2644d3d7 <unknown> #11 0x60fb26457b20 <unknown> #12 0x60fb2644e023 <unknown> #13 0x60fb2641c1aa <unknown> #14 0x60fb264726b8 <unknown> #15 0x60fb26472847 <unknown> #16 0x60fb26482243 <unknown> #17 0x72fed3a94ac3 <unknown> 2025-10-14 17:20:50 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:20:50 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:20:51 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:20:51 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:20:51 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:20:53 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:20:53 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:20:53 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:20:53 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:20:53 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:20:55 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:20:55 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:20:55 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:20:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:21:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:21:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:21:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:21:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:21:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:21:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:21:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:21:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:21:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:21:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:21:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:21:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:21:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:21:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:21:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:21:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:21:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:21:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:21:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:21:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:21:46 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 21 2025-10-14 17:21:47 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 68 2025-10-14 17:21:49 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 68,內容可能已加載完成 2025-10-14 17:21:49 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:21:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:22:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:22:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 10/21 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/blognews/ (實際 URL: https://order.fulleats.com.tw/index.php/blognews/) 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 114526 字節 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 179 字節 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 162 字節 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 162 字節,約 36 個詞,26 行 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 最新消息 通知 2025-10-14 17:22:19 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 11/21 個網址 2025-10-14 17:22:19 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:22:19 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/cart-2-2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/cart-2-2/ 的第 1/3 次請求 2025-10-14 17:22:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13538db210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d0b3c9737e323032822cbf8db110498e 2025-10-14 17:22:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13538dbe10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d0b3c9737e323032822cbf8db110498e 2025-10-14 17:22:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13538d8fd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d0b3c9737e323032822cbf8db110498e 2025-10-14 17:22:19 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:22:19 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:22:19 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:22:19 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:22:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:22:19 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:22:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:22:20 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:22:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:22:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:22:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:22:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:22:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:22:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:22:20 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:22:20 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:22:20 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x628374e9b4e3 <unknown> #1 0x628374bcac76 <unknown> #2 0x628374bf3d78 <unknown> #3 0x628374bf0029 <unknown> #4 0x628374c2eccc <unknown> #5 0x628374c2e47f <unknown> #6 0x628374c25de3 <unknown> #7 0x628374bfb2dd <unknown> #8 0x628374bfc34e <unknown> #9 0x628374e5b3e4 <unknown> #10 0x628374e5f3d7 <unknown> #11 0x628374e69b20 <unknown> #12 0x628374e60023 <unknown> #13 0x628374e2e1aa <unknown> #14 0x628374e846b8 <unknown> #15 0x628374e84847 <unknown> #16 0x628374e94243 <unknown> #17 0x70c7ae294ac3 <unknown> 2025-10-14 17:22:20 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:22:20 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:22:21 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:22:21 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:22:21 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:22:23 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:22:23 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:22:23 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:22:23 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:22:23 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:22:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:22:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:22:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:22:25 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:22:25 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:22:25 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:22:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:22:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:22:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:23:06 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 432 2025-10-14 17:23:07 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 75 2025-10-14 17:23:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:23:09 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 75,內容可能已加載完成 2025-10-14 17:23:09 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:23:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:23:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:23:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:23:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:23:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:23:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:23:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:23:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:23:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:23:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:23:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:23:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:23:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:23:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:23:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:23:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:23:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:23:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 11/21 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/cart-2-2/ (實際 URL: https://order.fulleats.com.tw/index.php/cart-2-2/) 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 133734 字節 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 368 字節 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 480 字節 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 331 字節 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 480 字節,約 47 個詞,36 行 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 購物車 🔔 如有購買需宅配的商品,運送方式為「宅配」,並以宅配運費計算,無法提供超商取貨,以確保易碎商品的完整性。 🔔 若選擇超商配送,系統已自動折扣 NT$15。 您的購物車裡還沒有任何商品。 回到商店 優惠券使用說明 .優惠券係指「本官網全面優惠」、「首購禮」、「追蹤禮」等,僅可擇一使用。 .首購禮:指新顧客第一次購物的優惠禮物,單筆消費滿1,500元可現折150元,使用次數為1次,但「無法與點數」一起使用。 .追蹤禮:追蹤本官方FB粉絲專頁的顧客,需截圖畫面並傳訊息給粉專的服務人員,確認無發放與使用後,服務人員會給顧客優惠券代碼,即可購物時輸入折抵使用,單筆消費滿1000元可折抵100元,使用次數為1次,但「無法與點數」一起使用。 通知 2025-10-14 17:23:39 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 12/21 個網址 2025-10-14 17:23:39 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:23:39 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/prae/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/prae/ 的第 1/3 次請求 2025-10-14 17:23: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 0x7e13533d9950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8acb55219d860f24832abe61800348cf 2025-10-14 17:23: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 0x7e135366f950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8acb55219d860f24832abe61800348cf 2025-10-14 17:23: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 0x7e135366d7d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8acb55219d860f24832abe61800348cf 2025-10-14 17:23:39 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:23:39 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:23:39 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:23:39 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:23:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:23: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-14 17:23:40 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:23:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:23:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:23: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-14 17:23: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 0x5baa393f74e3 <unknown> #1 0x5baa39126c76 <unknown> #2 0x5baa3914fd78 <unknown> #3 0x5baa3914c029 <unknown> #4 0x5baa3918accc <unknown> #5 0x5baa3918a47f <unknown> #6 0x5baa39181de3 <unknown> #7 0x5baa391572dd <unknown> #8 0x5baa3915834e <unknown> #9 0x5baa393b73e4 <unknown> #10 0x5baa393bb3d7 <unknown> #11 0x5baa393c5b20 <unknown> #12 0x5baa393bc023 <unknown> #13 0x5baa3938a1aa <unknown> #14 0x5baa393e06b8 <unknown> #15 0x5baa393e0847 <unknown> #16 0x5baa393f0243 <unknown> #17 0x7d5551694ac3 <unknown> 2025-10-14 17:23:40 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:23:40 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:23:41 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:23:41 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:23:41 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:23:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:23:43 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:23:43 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:23:43 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:23:43 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:23:43 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:23:45 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:23:45 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:23:45 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:23:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:24:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:24:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:24:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:24:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:24:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:24:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:24:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:24:25 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 949 2025-10-14 17:24:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:26 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 77 2025-10-14 17:24:29 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 77,內容可能已加載完成 2025-10-14 17:24:29 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:24:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 12/21 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/prae/ (實際 URL: https://order.fulleats.com.tw/index.php/prae/) 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 115910 字節 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 905 字節 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 995 字節 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 850 字節 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 995 字節,約 67 個詞,49 行 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 商品退換貨須知 付款方式 ● 信用卡即時線上一次刷卡付款方便又好用的付款方式,當您選擇線上刷卡方式進行交易時,作業流程透過SSL加密機制,保障您的個人隱私資料。 ● ATM付款適用沒有信用卡或者不方便前往超商取貨付款的消費者。使用ATM付款方式只需將訂單款項透過實體/網路ATM或者網路銀行直接匯入系統指定帳號即可完成付款。 ● 貨到付款適用沒有信用卡或者不方便前往超商取貨付款的客戶。使用貨到付款方式只需於配達貨物時,將訂單款項以新台幣現金的方式繳款即可完成付款。 運送方式 1.帳款確認後將立即處理您的訂單,您將於工作日內(實際依每個商品頁面資訊為主,不含週六日及國定例假日)收到訂購之商品。 2.您的商品會經由倉管評估材積、需求後 以 黑貓宅急便/宅配通/嘉里大榮等物流業者 寄送商品。 3.配送範圍限台灣本島各縣市(不含郵政信箱)。 4.如本店無法接受您的訂單,將於收到您的訂單後三個工作日內通知您。但法令另有規定者除外。 5.為保障交易資料安全,訂單成立後,所有訂單資訊是無法修改的,包含商品規格/付款方式/收件資訊等。 退換貨說明 凡購買 無盡 商品,消費者均享有產品鑑賞期(請依商品頁面規範為主)內退貨權益,如收到商品後請於24小時內與我們聯繫( FB官方粉絲專頁 ),但凡申請退貨時敬請保持原包裝商品完整,收到退貨申請後隔日起算約7個工作天內(不含例假日),將會有物流司機前去跟您收取退貨,因此請保持商品完整性,也請您耐心等候並後續留意物流電話通知,我們會全力保障您的退貨權宜。 【退貨處理方式】 1.生鮮不接受退貨,其他商品超過鑑賞期均不可退貨。 2.未超過鑑賞期(鑑賞期非試用期及猶豫期) 3.收到商品與訂單商品不符。 4.發現商品有瑕疵或損壞等問題。 5.商品保持包裝完整性。 6.當退貨時,金額未達活動或組合優惠標準,留下商品將會以單品原價計算。 7.退貨時,訂單未達滿額資格,贈品將於退回時一併寄回。 8.退貨原因非賣方構成,運費由消費者自行付擔。 通知 2025-10-14 17:24:59 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 13/21 個網址 2025-10-14 17:24:59 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:24:59 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/mbservices/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/mbservices/ 的第 1/3 次請求 2025-10-14 17:24:59 - 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 0x7e13537e6f50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc91385226951e191b18cf2ff2d8c727 2025-10-14 17:24:59 - 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 0x7e13537e6f90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc91385226951e191b18cf2ff2d8c727 2025-10-14 17:24:59 - 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 0x7e13537e5ed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc91385226951e191b18cf2ff2d8c727 2025-10-14 17:24:59 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:24:59 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:24:59 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:24:59 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:24:59 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:24:59 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:24:59 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:24:59 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:25:00 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:25:00 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:25:00 - 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 0x59ee98f3c4e3 <unknown> #1 0x59ee98c6bc76 <unknown> #2 0x59ee98c94d78 <unknown> #3 0x59ee98c91029 <unknown> #4 0x59ee98ccfccc <unknown> #5 0x59ee98ccf47f <unknown> #6 0x59ee98cc6de3 <unknown> #7 0x59ee98c9c2dd <unknown> #8 0x59ee98c9d34e <unknown> #9 0x59ee98efc3e4 <unknown> #10 0x59ee98f003d7 <unknown> #11 0x59ee98f0ab20 <unknown> #12 0x59ee98f01023 <unknown> #13 0x59ee98ecf1aa <unknown> #14 0x59ee98f256b8 <unknown> #15 0x59ee98f25847 <unknown> #16 0x59ee98f35243 <unknown> #17 0x720281c94ac3 <unknown> 2025-10-14 17:25:00 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:25:00 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:25:00 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:25:00 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:25:00 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:25:02 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:25:03 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:25:03 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:25:03 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:25:03 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:25:05 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:25:05 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:25:05 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:25:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:25:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:25:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:25:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:25:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:25:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:25:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:25:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:25:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:25:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:25:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:25:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:25:45 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 748 2025-10-14 17:25:46 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 75 2025-10-14 17:25:48 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 75,內容可能已加載完成 2025-10-14 17:25:48 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:25:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:26:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:26:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:26:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:26:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 13/21 2025-10-14 17:26:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:26:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:26:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:26:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:26:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:26:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:26:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:26:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:26:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:26:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:26:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:26:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/mbservices/ (實際 URL: https://order.fulleats.com.tw/index.php/mbservices/) 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 121358 字節 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 707 字節 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 799 字節 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 651 字節 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 799 字節,約 56 個詞,42 行 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 會員服務 會員點數規則說明 .單筆消費滿200元(以商品本身折扣後金額結算,不包含運費),於訂單完成後可獲得點數1點,1點 = 1元,可在下次購物時結帳折抵金額使用。 .點數使用期以年度計算「期限為次年年底」,例如:2025/1/5消費所累積點數,將於2026/12/31止過期。 .若遇到商品瑕疵、損壞與商品與訂單不對等問題,包含未超過鑑賞期(鑑賞期非試用期及猶豫期),造成金額異動以及退換貨的狀況,無盡有權依照最終金額扣除/補發點數,或要求歸還點數。 .無盡保有以上事項的修改、變更或暫停之權利,如有未盡事宜,依本官網公告為主。相關隱私權政策請詳閱無盡 隱私權及網站使用條 。 點數 舉 例說明 1. 例:消費金額為1,500元,本官網期間優惠9折,計算方式1,500*0.9=1,350元(不含運費),訂單完成後可獲得6點,下次購物時結帳可折抵6元。 2. 例:2025/5/20所獲取點數6點,點數截止日為2026/12/31止過期。 優惠券使用說明 .優惠券係指「本官網全面優惠」、「首購禮」、「追蹤禮」等,僅可擇一使用。 .首購禮:指新顧客第一次購物的優惠禮物,單筆消費滿1,500元可現折150元,使用次數為1次,但「無法與點數」一起使用。 .追蹤禮:追蹤本官方FB粉絲專頁的顧客,需截圖畫面並傳訊息給粉專的服務人員,確認無發放與使用後,服務人員會給顧客優惠券代碼,即可購物時輸入折抵使用,單筆消費滿1000元可折抵100元,使用次數為1次,但「無法與點數」一起使用。 通知 2025-10-14 17:26:18 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 14/21 個網址 2025-10-14 17:26:18 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:26:18 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/0016/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/0016/ 的第 1/3 次請求 2025-10-14 17:26:18 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537e4650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3d6e70db78c20e9c970bbc5f53ea1d50 2025-10-14 17:26:18 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537e3050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3d6e70db78c20e9c970bbc5f53ea1d50 2025-10-14 17:26:18 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537e27d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3d6e70db78c20e9c970bbc5f53ea1d50 2025-10-14 17:26:18 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:26:18 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:26:18 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:26:18 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:26:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:26:19 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:26:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:26:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:26:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:26:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:26:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:26:19 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:26: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 0x5c19b70764e3 <unknown> #1 0x5c19b6da5c76 <unknown> #2 0x5c19b6dced78 <unknown> #3 0x5c19b6dcb029 <unknown> #4 0x5c19b6e09ccc <unknown> #5 0x5c19b6e0947f <unknown> #6 0x5c19b6e00de3 <unknown> #7 0x5c19b6dd62dd <unknown> #8 0x5c19b6dd734e <unknown> #9 0x5c19b70363e4 <unknown> #10 0x5c19b703a3d7 <unknown> #11 0x5c19b7044b20 <unknown> #12 0x5c19b703b023 <unknown> #13 0x5c19b70091aa <unknown> #14 0x5c19b705f6b8 <unknown> #15 0x5c19b705f847 <unknown> #16 0x5c19b706f243 <unknown> #17 0x77ab51894ac3 <unknown> 2025-10-14 17:26:19 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:26:19 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:26:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:26:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:26:20 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:26:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:26:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:26:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:26:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:26:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 17:26:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 17:26:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:26:23 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:26:23 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:26:23 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:26:23 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:26:23 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:26:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:26:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:26:25 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:26:25 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:26:25 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:26:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:26:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:26:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:27:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:27:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:27:15 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1006 2025-10-14 17:27:16 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 226 2025-10-14 17:27:18 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 226,內容可能已加載完成 2025-10-14 17:27:18 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:27:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:27:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:27:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:27:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:27:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:27:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:27:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:27:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:27:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:27:28 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:27:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:27:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 14/21 2025-10-14 17:27:43 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/0016/ (實際 URL: https://order.fulleats.com.tw/index.php/product/0016/) 2025-10-14 17:27:43 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:27:43 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:27:43 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:27:43 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 154761 字節 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1036 字節 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1701 字節 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1783 字節 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 634 字節 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2347 字節,約 351 個詞,235 行 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 🔍 紅藜飛魚餅(芥末椒鹽)80g 評分 5.00 / 5,已有 1 位顧客進行評分 ( 1 則顧客評價) NT$ 130 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) ◾ 採用當地台東米、紅藜與新鮮飛魚餅製成 ◾ 無添加防腐劑 ◾ 無添加精糖、人工色素 ◾ 採用D-Oil離心去油,輕鬆享受美味 貨號: TTC0010 分類: 台東-零食餅乾Cookie 標籤: 休閒零食 , 伴手禮 , 台東 , 手工餅乾 , 海味 , 紅藜 , 美食 , 肉乾 , 肉鬆 , 芥末椒鹽 , 蘭嶼 , 飛魚餅 品牌: 聯合款-太陽農場/信華農特產 描述 額外資訊 評價 (1) ID:0016 📆有效日期:2025.09.08 可否配送 配送方式 配送說明 ✅ 超商取貨 一箱最多可裝『9包』 ✅ 宅配到府 一箱最多可裝『9包』,第二箱需多酌收運費呦 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 大眾滿意度:⭐⭐⭐⭐⭐ 【商品介紹】 選用台東米、富含高營養價值的紅藜,以及上等新鮮飛魚餅為主要原料,台東米與飛魚餅兩者比例高達45%,並採用19道工法的製程,製作出鮮酥頂級的飛魚餅,保留最純粹的米香、飛魚的鮮美。 飛魚餅厚薄適中,外層的酥脆感與內裡的米香交織在一起,飛魚的鮮美滋味猶如飛魚滑出水面般的前仆後繼,迅速佔滿整個味蕾,讓人完全無法抵擋,加入紅藜芥末椒鹽,豐富口感的層次,不僅是美味,而是能享用到來自黑潮的神祕海味及在地特色美食,越吃越刷嘴! 【商品規格】 產地 台東 規格 80g/包 成分 台東米、飛魚漿、魚漿、木薯澱粉、玉米澱粉、小麥澱粉、棕櫚油、糖、鹽、味精、純白胡椒粉、黑胡椒、蒜粉、辣椒粉、花椒粉、紅藜粉、芥末椒鹽粉 保存期限 未開封常溫保存8個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 本產品含有魚漿、小麥澱粉,不適合對其過敏者食用 注意事項 未滿一歲以下嬰幼兒不宜食用 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 7.7 x 21 x 27.5 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .V-112900701-00000-9 .出貨地:臺東縣臺東市 紅藜飛魚餅(芥末椒鹽)80g 共有 1 則評價 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-12 21:20 | 規格: 紅藜芥末椒鹽飛魚餅 評價來源:蝦皮購物賣場-無盡Endlessly 新增評價 取消回覆 相關商品 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: 可否配送 | 配送方式 | 配送說明 ✅ | 超商取貨 | 一箱最多可裝『9包』 ✅ | 宅配到府 | 一箱最多可裝『9包』,第二箱需多酌收運費呦 產地 | 台東 規格 | 80g/包 成分 | 台東米、飛魚漿、魚漿、木薯澱粉、玉米澱粉、小麥澱粉、棕櫚油、糖、鹽、味精、純白胡椒粉、黑胡椒、蒜粉、辣椒粉、花椒粉、紅藜粉、芥末椒鹽粉 保存期限 | 未開封常溫保存8個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | 本產品含有魚漿、小麥澱粉,不適合對其過敏者食用 注意事項 | 未滿一歲以下嬰幼兒不宜食用 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 7.7 x 21 x 27.5 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .V-112900701-00000-9 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • 描述 • 額外資訊 • 評價 (1) • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:27:44 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 15/21 個網址 2025-10-14 17:27:44 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:27:44 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/tc1/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/tc1/ 的第 1/3 次請求 2025-10-14 17:27:44 - 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 0x7e1358ee7d10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3e3e7c2f7ddd998ff4cc6f68793db4b4 2025-10-14 17:27:44 - 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 0x7e1352adeed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3e3e7c2f7ddd998ff4cc6f68793db4b4 2025-10-14 17:27:44 - 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 0x7e1352add5d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3e3e7c2f7ddd998ff4cc6f68793db4b4 2025-10-14 17:27:44 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:27:44 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:27:44 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:27:44 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:27:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:27:44 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:27:44 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:27:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:27:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:27: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-14 17:27: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 0x62cba27084e3 <unknown> #1 0x62cba2437c76 <unknown> #2 0x62cba2460d78 <unknown> #3 0x62cba245d029 <unknown> #4 0x62cba249bccc <unknown> #5 0x62cba249b47f <unknown> #6 0x62cba2492de3 <unknown> #7 0x62cba24682dd <unknown> #8 0x62cba246934e <unknown> #9 0x62cba26c83e4 <unknown> #10 0x62cba26cc3d7 <unknown> #11 0x62cba26d6b20 <unknown> #12 0x62cba26cd023 <unknown> #13 0x62cba269b1aa <unknown> #14 0x62cba26f16b8 <unknown> #15 0x62cba26f1847 <unknown> #16 0x62cba2701243 <unknown> #17 0x7b2d6f694ac3 <unknown> 2025-10-14 17:27:45 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:27:45 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:27:45 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:27:45 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:27:45 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:27:51 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:27:51 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:27:51 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:27:51 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:27:51 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:27:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:27:53 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:27:53 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:27:53 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:28:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:28:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:28:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:28:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:28:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:28:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:28:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:28:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:28:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:28:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:28:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:28:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:28:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:28:43 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1706 2025-10-14 17:28:44 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 316 2025-10-14 17:28:46 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 316,內容可能已加載完成 2025-10-14 17:28:46 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:28:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:28:54 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL. Traceback (most recent call last): File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request self.raise_routing_exception(req) File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception raise request.routing_exception # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request result = self.url_adapter.match(return_rule=True) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL. 2025-10-14 17:28:56 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:29:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 15/21 2025-10-14 17:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/tc1/ (實際 URL: https://order.fulleats.com.tw/index.php/product/tc1/) 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 208375 字節 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1755 字節 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 3030 字節 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 3174 字節 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 2405 字節 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 5447 字節,約 752 個詞,431 行 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 🔍 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) 評分 4.67 / 5,已有 6 位顧客進行評分 ( 6 則顧客評價) NT$ 60 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) 貨號: 不提供 分類: 台東-零食餅乾Cookie 標籤: 乖乖 , 休閒零食 , 伴手禮 , 台東 , 哈密瓜 , 夏雪芒果 , 手工餅乾 , 木虌果 , 洋芋片 , 爆米花 , 米乖乖 , 紅烏龍 , 美食 , 芒果 , 零食 , 餅乾 品牌: 太陽農場 描述 額外資訊 評價 (6) ID:TC1 📆紅烏龍茶米乖乖 有效日期:2026.02.19 📆夏雪芒果米乖乖 有效日期:2026.02.14 📆木虌果米乖乖 有效日期:2026.01.17 可否配送 配送方式 配送說明 ✅ 超商取貨 一箱最多可裝『12包』 ✅ 宅配到府 一箱最多可裝『12包』,第三箱需多酌收運費呦 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 大眾滿意度:⭐⭐⭐⭐⭐ 【商品介紹】 👉 夏雪芒果米乖乖(點選查看) 👉 紅烏龍茶米乖乖(點選查看) 👉 木虌果哈密瓜風味米乖乖(點選查看) 【夏雪芒果米乖乖-商品規格】 產地 台東 規格 52g/包 成分 白米、食用軟質棕油、葡萄糖、砂糖、芒果原汁、芒果果汁粉(芒果泥、麥芽糊精、辛烯基丁二酸鈉澱粉、砂糖、芒果香料、檸檬酸、β-胡蘿蔔)、奶粉、乳清粉、鹽、香料、大豆卵磷酯、檸檬酸、乳酸粉(乳酸、乳酸鈣、二氧化矽)、抗氧化劑(混合濃縮生育醇)、食用黃色四號 保存期限 未開封常溫保存12個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 (1) 本產品含有芒果、牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、花生、水果類、含麩質之穀物、魚類及其製品 注意事項 (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 【紅烏龍茶米乖乖-商品規格】 產地 台東 規格 52g/包 成分 白米、食用軟質棕油、砂糖、葡萄糖、麥芽湖精、紅烏龍茶粉、麥芽糖、奶粉、鹽、大豆卵磷脂、香料、抗氧化劑(混合濃縮生育醇(濃縮生育醇、大豆油)) 保存期限 未開封常溫保存12個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 (1) 本產品含有牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、芒果、花生、蛋、堅果類及其產品 注意事項 (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 【木虌果哈密瓜風味米乖乖-商品規格】 產地 台東 規格 52g/包 成分 白米、食用軟質棕油、葡萄糖、砂糖、乳清粉、麥芽糊精、木虌果原汁、哈密瓜果汁粉(哈密瓜汁、麥芽糊精、辛烯基丁二酸鈉澱粉、砂糖、哈密瓜香料、檸檬酸、β-胡蘿蔔素、胭脂紅)、鹽、大豆卵磷酯、香料、檸檬酸、乙基麥芽醇、抗氧化劑(混合濃縮生育醇(濃縮生育醇、大豆油))、食用黃色五號 保存期限 未開封常溫保存12個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 (1) 本產品含有牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、芒果、花生、蛋、堅果類、含麩質之穀物、魚類及其製品 注意事項 (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 21.7 x 17.8 x 7 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .H-104217017-00000-7 .出貨地:臺東縣臺東市 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) 共有 6 則評價 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-31 08:00 | 規格: 紅烏龍茶米乖乖-單包 優質 細心 用心的好賣家 出貨快速 包裝用心 大力推推推 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-23 16:17 | 規格: 夏雪芒果米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-23 11:53 | 規格: 夏雪芒果米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly 評分 3 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-28 15:11 | 規格: 紅烏龍茶米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly fullE – 2025 年 4 月 16 日 感謝您給予回饋,經聊聊瞭解後,顧客很可愛😄,顧客幫朋友購買,後續評論時不小心誤點到三顆⭐,對於商品和服務是一切良好的,感謝您的回應,若有喜歡的歡迎再次選購😊 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-23 14:55 | 規格: 紅烏龍茶米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-21 22:31 | 規格: 紅烏龍茶米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly 新增評價 取消回覆 相關商品 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 通知 額外的結構化內容: 口味搭配選項 | 請選取一個選項夏雪芒果米乖乖紅烏龍茶米乖乖木虌果哈密瓜風味米乖乖清除 可否配送 | 配送方式 | 配送說明 ✅ | 超商取貨 | 一箱最多可裝『12包』 ✅ | 宅配到府 | 一箱最多可裝『12包』,第三箱需多酌收運費呦 產地 | 台東 規格 | 52g/包 成分 | 白米、食用軟質棕油、葡萄糖、砂糖、芒果原汁、芒果果汁粉(芒果泥、麥芽糊精、辛烯基丁二酸鈉澱粉、砂糖、芒果香料、檸檬酸、β-胡蘿蔔)、奶粉、乳清粉、鹽、香料、大豆卵磷酯、檸檬酸、乳酸粉(乳酸、乳酸鈣、二氧化矽)、抗氧化劑(混合濃縮生育醇)、食用黃色四號 保存期限 | 未開封常溫保存12個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | (1) 本產品含有芒果、牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、花生、水果類、含麩質之穀物、魚類及其製品 注意事項 | (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 產地 | 台東 規格 | 52g/包 成分 | 白米、食用軟質棕油、砂糖、葡萄糖、麥芽湖精、紅烏龍茶粉、麥芽糖、奶粉、鹽、大豆卵磷脂、香料、抗氧化劑(混合濃縮生育醇(濃縮生育醇、大豆油)) 保存期限 | 未開封常溫保存12個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | (1) 本產品含有牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、芒果、花生、蛋、堅果類及其產品 注意事項 | (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 產地 | 台東 規格 | 52g/包 成分 | 白米、食用軟質棕油、葡萄糖、砂糖、乳清粉、麥芽糊精、木虌果原汁、哈密瓜果汁粉(哈密瓜汁、麥芽糊精、辛烯基丁二酸鈉澱粉、砂糖、哈密瓜香料、檸檬酸、β-胡蘿蔔素、胭脂紅)、鹽、大豆卵磷酯、香料、檸檬酸、乙基麥芽醇、抗氧化劑(混合濃縮生育醇(濃縮生育醇、大豆油))、食用黃色五號 保存期限 | 未開封常溫保存12個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | (1) 本產品含有牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、芒果、花生、蛋、堅果類、含麩質之穀物、魚類及其製品 注意事項 | (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 21.7 x 17.8 x 7 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .H-104217017-00000-7 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • • • • • • • • • • 描述 • 額外資訊 • 評價 (6) • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-31 08:00 | 規格: 紅烏龍茶米乖乖-單包 優質 細心 用心的好賣家 出貨快速 包裝用心 大力推推推 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-23 16:17 | 規格: 夏雪芒果米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-23 11:53 | 規格: 夏雪芒果米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 3 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-28 15:11 | 規格: 紅烏龍茶米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly fullE – 2025 年 4 月 16 日 感謝您給予回饋,經聊聊瞭解後,顧客很可愛😄,顧客幫朋友購買,後續評論時不小心誤點到三顆⭐,對於商品和服務是一切良好的,感謝您的回應,若有喜歡的歡迎再次選購😊 • fullE – 2025 年 4 月 16 日 感謝您給予回饋,經聊聊瞭解後,顧客很可愛😄,顧客幫朋友購買,後續評論時不小心誤點到三顆⭐,對於商品和服務是一切良好的,感謝您的回應,若有喜歡的歡迎再次選購😊 • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-23 14:55 | 規格: 紅烏龍茶米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-21 22:31 | 規格: 紅烏龍茶米乖乖-單包 評價來源:蝦皮購物賣場-無盡Endlessly • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-14 17:29:12 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 16/21 個網址 2025-10-14 17:29:12 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:29:12 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/0013/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/0013/ 的第 1/3 次請求 2025-10-14 17:29: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 0x7e1359445d90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc80597146c93e4fe84b9e82ae342664 2025-10-14 17:29: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 0x7e135375b950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc80597146c93e4fe84b9e82ae342664 2025-10-14 17:29: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 0x7e1353759b90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bc80597146c93e4fe84b9e82ae342664 2025-10-14 17:29:12 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:29:12 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:29:12 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:29:12 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:29:12 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:29:12 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:29:12 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:29:12 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:29:13 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:29:13 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:29:13 - 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 0x55e24ce524e3 <unknown> #1 0x55e24cb81c76 <unknown> #2 0x55e24cbaad78 <unknown> #3 0x55e24cba7029 <unknown> #4 0x55e24cbe5ccc <unknown> #5 0x55e24cbe547f <unknown> #6 0x55e24cbdcde3 <unknown> #7 0x55e24cbb22dd <unknown> #8 0x55e24cbb334e <unknown> #9 0x55e24ce123e4 <unknown> #10 0x55e24ce163d7 <unknown> #11 0x55e24ce20b20 <unknown> #12 0x55e24ce17023 <unknown> #13 0x55e24cde51aa <unknown> #14 0x55e24ce3b6b8 <unknown> #15 0x55e24ce3b847 <unknown> #16 0x55e24ce4b243 <unknown> #17 0x7d02c5c94ac3 <unknown> 2025-10-14 17:29:13 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:29:13 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:29:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:29:13 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:29:13 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:29:13 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:29:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:29:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:29:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:29:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:29:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:29:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:29:16 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:29:16 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:29:16 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:29:16 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:29:16 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:29:18 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:29:18 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:29:18 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:29:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:29:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:29:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:29:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:29:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:29:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:29:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:29:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:30:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:30:08 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 898 2025-10-14 17:30:09 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 256 2025-10-14 17:30:11 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 256,內容可能已加載完成 2025-10-14 17:30:11 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:30:11 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:30:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:30:17 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:30:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:30:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:30:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:30:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:30:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:30:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:30:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 16/21 2025-10-14 17:30:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:30:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/0013/ (實際 URL: https://order.fulleats.com.tw/index.php/product/0013/) 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 169514 字節 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 944 字節 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1690 字節 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1788 字節 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 599 字節 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2301 字節,約 364 個詞,246 行 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 🔍 黃金芒果乾(罐裝-無加糖)150g (全素) 評分 5.00 / 5,已有 1 位顧客進行評分 ( 1 則顧客評價) NT$ 240 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 3日內(訂單成立後隔日計算) ◾嚴選屏東枋山新鮮愛文芒果 ◾經36小時最低床 ◾堅持不加糖、人工色素劑、香料及防腐劑 ◾不添加化學添加物 ◾口感Q勁外微脆、不粘牙也不沾手 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 貨號: KHC0001 分類: 屏東-零食絣乾Cookie 標籤: 休閒零食 , 伴手禮 , 堅果自製 , 愛文芒果 , 手工 , 果乾 , 美食 , 零食 , 高雄 品牌: 山海嚴選 描述 額外資訊 評價 (1) ID:0013 📆有效日期:2026.03 可否送 配送方式 產品說明 ✅ 超市取貨 一箱最多可裝『22罐』 ✅ 宅配到府 一箱最多可裝『22罐』,第二箱需多酌運費喲 如想購買其他商品組合以及了解多件運費 可聯繫 客服人員 📔詳細“ 商品規格 ”及“ 換貨須知 ”,請往前 ————————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的處理、關門與改造, 還請大家放心食用~ ————————————————————– 甜度(以飲料比對):⭐☆☆☆☆(微糖) 【商品介紹】 採用屏東枋山新鮮的優質果品(愛文芒果),在黃金期限經36小時宵夜,鎖住鮮果的香甜與營養,如此的芒果香,天然原味吃的到。好像Q勁外微脆,不黏牙也不沾手,到哪吃都適合,一顆根本停不下來~另外鮮果本身有天然糖分,所以堅持不糖,既添加了芒果風味,也能輕鬆吃無負擔。 【商品規格】 產地 高雄 規格 150g/罐 成分 愛文芒果 保存期限 未開封常溫保存12個月 保存方式 保存於常溫陰涼處。拆封後未食用完請放入冰箱冷藏保存,也可冷凍保存延長食用期限 過敏原 本產品含有芒果,不適合過敏體質者食用 資訊 .預計出貨日:3日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 21.7 x 17.8 x 7 公分(以人工丈量會有些微誤差) .出貨地:高雄市/臺東市 黃金芒果乾(罐裝-無加糖)150g (全素) 共有 1 則評價 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-03-13 11:02 | 規格: 黃金芒果乾(罐裝) 收到商品了,比想像中還快一點收到,自然的芒果味道,讚!感謝賣家出貨! 評價來源:蝦皮購物賣場-無盡Endlessly 新增評價 取消回覆 相關商品 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 通知 額外的結構化內容: 可否送 | 配送方式 | 產品說明 ✅ | 超市取貨 | 一箱最多可裝『22罐』 ✅ | 宅配到府 | 一箱最多可裝『22罐』,第二箱需多酌運費喲 產地 | 高雄 規格 | 150g/罐 成分 | 愛文芒果 保存期限 | 未開封常溫保存12個月 保存方式 | 保存於常溫陰涼處。拆封後未食用完請放入冰箱冷藏保存,也可冷凍保存延長食用期限 過敏原 | 本產品含有芒果,不適合過敏體質者食用 資訊 | .預計出貨日:3日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 21.7 x 17.8 x 7 公分(以人工丈量會有些微誤差) .出貨地:高雄市/臺東市 • 登入 • 註冊 • • • • • • • 描述 • 額外資訊 • 評價 (1) • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 2025-10-14 17:30:32 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 17/21 個網址 2025-10-14 17:30:32 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:30:32 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/0017/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/0017/ 的第 1/3 次請求 2025-10-14 17:30: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 0x7e135379f750>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/67967cb60aca49694bbb768d05d81987 2025-10-14 17:30: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 0x7e135337b510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/67967cb60aca49694bbb768d05d81987 2025-10-14 17:30: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 0x7e135337aed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/67967cb60aca49694bbb768d05d81987 2025-10-14 17:30:32 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:30:32 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:30:32 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:30:32 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:30:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:30: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-14 17:30:32 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:30:32 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:30:33 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:30: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-14 17:30: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 0x63cbe80df4e3 <unknown> #1 0x63cbe7e0ec76 <unknown> #2 0x63cbe7e37d78 <unknown> #3 0x63cbe7e34029 <unknown> #4 0x63cbe7e72ccc <unknown> #5 0x63cbe7e7247f <unknown> #6 0x63cbe7e69de3 <unknown> #7 0x63cbe7e3f2dd <unknown> #8 0x63cbe7e4034e <unknown> #9 0x63cbe809f3e4 <unknown> #10 0x63cbe80a33d7 <unknown> #11 0x63cbe80adb20 <unknown> #12 0x63cbe80a4023 <unknown> #13 0x63cbe80721aa <unknown> #14 0x63cbe80c86b8 <unknown> #15 0x63cbe80c8847 <unknown> #16 0x63cbe80d8243 <unknown> #17 0x7a62d2e94ac3 <unknown> 2025-10-14 17:30:33 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:30:33 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:30:33 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:30:33 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:30:33 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:30:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:30:36 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:30:36 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:30:36 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:30:36 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:30:36 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:30:38 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:30:38 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:30:38 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:30:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:30:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:31:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:31:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:31:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:31:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:31:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:31:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:31:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:31:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:31:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:31:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:31:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:31:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:31:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:31:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:31:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:31:28 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 973 2025-10-14 17:31:29 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 225 2025-10-14 17:31:31 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 225,內容可能已加載完成 2025-10-14 17:31:31 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:31:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:41 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:31:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 17/21 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/0017/ (實際 URL: https://order.fulleats.com.tw/index.php/product/0017/) 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 173541 字節 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1000 字節 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1587 字節 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1714 字節 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 652 字節 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2251 字節,約 339 個詞,228 行 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 4% OFF 🔍 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) ◾ 嚴選在台東鹿野紅烏龍茶製成的茶粉 ◾ 原料純樸簡單,食用無負擔 ◾ 內有獨立包裝、送禮自用兩相宜 ◾ 濃厚茶香、酥脆爽口,濃郁奶香 ◾ 榮譽米其林三星茶廠 貨號: 不提供 分類: 台東-零食餅乾Cookie 標籤: 伴手禮 , 傳統糕餅點心 , 台東 , 甜點 , 禮盒 , 紅烏龍 , 美食 , 蛋糕 , 餅乾 , 鹿野 品牌: 聯合款-初嚐/太陽農場 描述 額外資訊 評價 (0) ID:0017 📆有效日期:2026.02.12 可否配送 配送方式 配送說明 ✅ 超商取貨 一箱最多可裝『12盒』 ✅ 宅配到府 一箱最多可裝『12盒』,第二箱需多酌收運費呦 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 大眾滿意度:⭐⭐⭐⭐⭐ 【商品介紹】 選用台東鹿野肥沃的土壤所孕育出的紅烏龍茶,所製成的茶粉,原料純樸單純,最直接感受到紅烏龍茶的茶韻。 濃厚的茶香中帶一絲清新的口感,當你咬下一口,茶餅的濃厚茶香以及濃郁的奶香味在口腔中綻放開來,非常適合大小朋友品嘗瞬間,酥脆清爽的口感在舌尖化開,每一次的咀嚼,彷彿帶領你來到台東鹿野那片無汙染的清新茶園,其中還能品味到它的果香和花香,層次豐富,讓人每次品嚐後都充滿難忘的味道。 【商品規格】 產地 台東 規格 150g/盒(15入) 成分 高級麵粉、奶油、糖粉、蛋白、紅烏龍茶粉、鹽 保存期限 未開封常溫保存12個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 本產品含有牛奶、蛋、含麩質之穀物及其製品,不適合對其過敏者食用 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 24.2 x 19.2 x 6 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .E-159332080-00000-2 .出貨地:臺東縣臺東市 商品評價 目前沒有評價。 搶先評價 “台東紅烏龍茶餅(15片入/盒)150g (蛋奶素)” 取消回覆 相關商品 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 通知 額外的結構化內容: 選項 | 請選取一個選項單盒12盒/箱清除 可否配送 | 配送方式 | 配送說明 ✅ | 超商取貨 | 一箱最多可裝『12盒』 ✅ | 宅配到府 | 一箱最多可裝『12盒』,第二箱需多酌收運費呦 產地 | 台東 規格 | 150g/盒(15入) 成分 | 高級麵粉、奶油、糖粉、蛋白、紅烏龍茶粉、鹽 保存期限 | 未開封常溫保存12個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | 本產品含有牛奶、蛋、含麩質之穀物及其製品,不適合對其過敏者食用 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 24.2 x 19.2 x 6 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .E-159332080-00000-2 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • • • 描述 • 額外資訊 • 評價 (0) • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-14 17:31:57 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 18/21 個網址 2025-10-14 17:31:57 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:31:57 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/0020/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/0020/ 的第 1/3 次請求 2025-10-14 17:31:57 - 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 0x7e13536de310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2a0e963f3e0deed3a652122ce98ffc1c 2025-10-14 17:31:57 - 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 0x7e1353603e90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2a0e963f3e0deed3a652122ce98ffc1c 2025-10-14 17:31:57 - 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 0x7e1353602810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2a0e963f3e0deed3a652122ce98ffc1c 2025-10-14 17:31:57 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:31:57 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:31:57 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:31:57 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:31:57 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:31:57 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:31:57 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:31:57 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:31:58 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:31:58 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:31:58 - 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 0x5feaa45e34e3 <unknown> #1 0x5feaa4312c76 <unknown> #2 0x5feaa433bd78 <unknown> #3 0x5feaa4338029 <unknown> #4 0x5feaa4376ccc <unknown> #5 0x5feaa437647f <unknown> #6 0x5feaa436dde3 <unknown> #7 0x5feaa43432dd <unknown> #8 0x5feaa434434e <unknown> #9 0x5feaa45a33e4 <unknown> #10 0x5feaa45a73d7 <unknown> #11 0x5feaa45b1b20 <unknown> #12 0x5feaa45a8023 <unknown> #13 0x5feaa45761aa <unknown> #14 0x5feaa45cc6b8 <unknown> #15 0x5feaa45cc847 <unknown> #16 0x5feaa45dc243 <unknown> #17 0x7dd021894ac3 <unknown> 2025-10-14 17:31:58 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:31:58 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:31:58 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:31:58 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:31:58 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:32:01 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:32:01 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:32:01 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:32:01 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:32:01 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:32:03 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:32:03 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:32:03 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:32:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:32:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:32:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:32:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:32:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:32:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:32:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:32:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:32:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:32:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:32:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:32:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:32:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:32:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:32:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:32:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:32:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:32:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:32:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:32:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:32:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:32:53 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1223 2025-10-14 17:32:54 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:32:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:32:56 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:32:56 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:33:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:33:06 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:33:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 18/21 2025-10-14 17:33:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:33:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:33:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:33:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:33:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:33:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/0020/ (實際 URL: https://order.fulleats.com.tw/index.php/product/0020/) 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 162134 字節 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1168 字節 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1870 字節 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1943 字節 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 706 字節 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2588 字節,約 358 個詞,235 行 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 🔍 鳳梨釋迦氣泡飲330ml NT$ 60 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) ◾ 選用台東完熟的鳳梨釋迦原料製作 ◾ 口感香甜,清爽暢飲 ◾ 一罐三重滋味,鳳梨釋迦→啤酒→可爾必思 ◾ 無添加香料、色素,0負擔,冰過更好喝 ◾ 適合調製各種風味酒飲與料理食用 貨號: TTC0009-1 分類: 台東-涼品/飲品 標籤: 伴手禮 , 台東 , 沖泡品 , 碳酸氣泡飲料 , 美食 , 飲料 , 鳳梨釋迦 品牌: 春風果園 描述 額外資訊 評價 (0) ID:0020 📆有效日期:2026.05.29 可否配送 配送方式 配送說明 ✅ 超商取貨 一箱最多可裝『12罐』 ✅ 宅配到府 一箱最多可裝『25罐』,第三箱需多酌收運費呦 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 甜度比較:⭐⭐⭐(6分糖) 【商品介紹】 選用台東初鹿的「鳳梨釋迦」-台灣之光,被BBC評選為世界最營養食物第2名。氣泡飲使用完熟採摘的果實,保留鮮果香甜的風味,夏日飲用香甜好喝,從冰箱取出後飲用最過癮。 🍃一罐喝出三重風味,層層驚喜! 從冰箱拿出來那一刻,就是味蕾最幸福的開始~ 第一味:釋迦果香|就像咬下一口切開的鳳梨釋迦。 第二味:啤酒乳酸感|幾分鐘後微酸轉化,像無酒精啤酒般沁涼爽快。 第三味:可爾必思尾韻|冰的層度慢慢轉涼,越喝越順,清爽中帶一絲童年記憶。 ⛔ 禁止酒駕,酒後不開車,安全找代駕 ⛔ 🍹一罐多喝法,日常儀式感up! ✔ 冰飲:打開直接爆香果味,夏天的救星 ✔ 加酒:變身熱帶調酒,週末小酌剛剛好 ✔ 配小吃:鹹食、炸物、甜點都搭,解膩又加分 ✔ 搭料理:清爽中和油膩,替代汽水的好選擇! ⛔ 禁止酒駕,酒後不開車,安全找代駕 ⛔ 【春風果園】 春風果園所種植的釋迦位於初鹿,堅持不使用除草劑滅藥種植,只給土地最溫柔的照顧,採收前經過藥檢合格,每一顆釋迦,都像是種給家人吃的,因為「安心」不是口號,是我們的底線。 【商品規格】 產地 台東 規格 330ml/罐 成分 碳酸水、鳳梨釋迦原汁、果糖粉、砂糖、乳酸粉、檸檬酸、可爾必思香料、苯甲酸鈉(防腐劑)、異抗壞血酸鈉(抗氧化劑)、三仙膠 保存期限 未開封常溫保存12個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢,建議冷藏後飲用 過敏原 (1) 本產品有沉澱物屬自然現象,請安心飲用 (2) 本產品屬氣泡飲料,因溫差的關係,請放置冰箱冷藏後飲用,避免開罐時噴出 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 7 x 7 x 11.8 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .J-156022006-00001-9 .出貨地:臺東縣臺東市 商品評價 目前沒有評價。 搶先評價 “鳳梨釋迦氣泡飲330ml” 取消回覆 相關商品 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 通知 額外的結構化內容: 可否配送 | 配送方式 | 配送說明 ✅ | 超商取貨 | 一箱最多可裝『12罐』 ✅ | 宅配到府 | 一箱最多可裝『25罐』,第三箱需多酌收運費呦 產地 | 台東 規格 | 330ml/罐 成分 | 碳酸水、鳳梨釋迦原汁、果糖粉、砂糖、乳酸粉、檸檬酸、可爾必思香料、苯甲酸鈉(防腐劑)、異抗壞血酸鈉(抗氧化劑)、三仙膠 保存期限 | 未開封常溫保存12個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢,建議冷藏後飲用 過敏原 | (1) 本產品有沉澱物屬自然現象,請安心飲用 (2) 本產品屬氣泡飲料,因溫差的關係,請放置冰箱冷藏後飲用,避免開罐時噴出 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 7 x 7 x 11.8 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .J-156022006-00001-9 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • • • • 描述 • 額外資訊 • 評價 (0) • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-14 17:33:22 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 19/21 個網址 2025-10-14 17:33:22 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:33:22 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/egg-rolls/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/egg-rolls/ 的第 1/3 次請求 2025-10-14 17:33:22 - 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 0x7e135379e710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/50ab6f1836fc057a3e8825eaeea4f970 2025-10-14 17:33:22 - 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 0x7e135363a310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/50ab6f1836fc057a3e8825eaeea4f970 2025-10-14 17:33:22 - 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 0x7e13536b3790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/50ab6f1836fc057a3e8825eaeea4f970 2025-10-14 17:33:22 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:33:22 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:33:22 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:33:22 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:33:22 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:33:22 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:33:22 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:33:23 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:33:23 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:33:23 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:33:23 - 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 0x5ab1e47944e3 <unknown> #1 0x5ab1e44c3c76 <unknown> #2 0x5ab1e44ecd78 <unknown> #3 0x5ab1e44e9029 <unknown> #4 0x5ab1e4527ccc <unknown> #5 0x5ab1e452747f <unknown> #6 0x5ab1e451ede3 <unknown> #7 0x5ab1e44f42dd <unknown> #8 0x5ab1e44f534e <unknown> #9 0x5ab1e47543e4 <unknown> #10 0x5ab1e47583d7 <unknown> #11 0x5ab1e4762b20 <unknown> #12 0x5ab1e4759023 <unknown> #13 0x5ab1e47271aa <unknown> #14 0x5ab1e477d6b8 <unknown> #15 0x5ab1e477d847 <unknown> #16 0x5ab1e478d243 <unknown> #17 0x7eea04294ac3 <unknown> 2025-10-14 17:33:23 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:33:23 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:33:24 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:33:24 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:33:24 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:33:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:33:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:33:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:33:26 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:33:26 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:33:26 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:33:26 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:33:26 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:33:29 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:33:29 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:33:29 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 201.9MB, CPU 0.0% 2025-10-14 17:33:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:33:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:33:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:34:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:34:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:34:19 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 812 2025-10-14 17:34:20 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 676 2025-10-14 17:34:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:34:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:34:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:34:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:34:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:34:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:34:22 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 676,內容可能已加載完成 2025-10-14 17:34:22 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:34:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:34:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:34:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:34:32 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:34:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:34:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 19/21 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/egg-rolls/ (實際 URL: https://order.fulleats.com.tw/index.php/product/egg-rolls/) 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:34:47 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 231777 字節 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 6940 字節 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 8359 字節 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 8441 字節 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 8267 字節 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 16638 字節,約 3015 個詞,1375 行 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 🔍 土雞蛋捲300g (蛋奶素) 評分 4.99 / 5,已有 69 位顧客進行評分 ( 69 則顧客評價) NT$ 250 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) ◾ 選用純淨無汙染的初鹿鮮乳 ◾ 優質無添加的鮮奶 ◾ 無水添加、無香料、無防腐劑 ◾ 新鮮即時.無負擔 貨號: TTC0001 分類: 台東-零食餅乾Cookie 標籤: 伴手禮 , 台東 , 土雞蛋 , 手工餅乾 , 甜點 , 維閣鮮雞蛋捲 , 美食 , 蛋糕 品牌: 維閣鮮雞蛋捲 描述 額外資訊 評價 (69) ID:0001 📆有效日期:保存期限為六個月,收到商品至少有保存期限五個月(含)以上,非常新鮮~ 可否配送 配送方式 配送說明 ❌ 超商取貨 超商禁止配送易碎及液態物品,超商配送必碎,還請體諒包涵 ✅ 宅配到府 一箱最多可裝『12罐』,第二箱需多酌收運費呦~ 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 大眾滿意度:⭐⭐⭐⭐⭐ 【商品介紹】 選用純淨無汙染的初鹿鮮乳,優質無添加的鮮奶,結合維閣牧場的新鮮雞蛋,蛋捲中完美呈現天然乳香與蛋香融合的獨特風味,好吃無負擔。 【商品規格】 產地 台東 規格 300g(約12-13根) 成分 土雞蛋、無水奶油、麵粉、砂糖 保存期限 未開封常溫保存6個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 本產品含有蛋、牛奶、小麥製品,不適合含其過敏體質者食用 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .食品業者登錄字號: .V-147758075-00000-2 .出貨地:臺東縣臺東市 土雞蛋捲300g (蛋奶素) 共有 69 則評價 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-08-21 17:40 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-03 15:10 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-01-16 21:35 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-10 21:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-12 15:45 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-20 10:45 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-03 21:41 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-14 00:52 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-11-24 16:14 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-13 20:34 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-07-11 21:24 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-25 22:59 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-04-21 13:38 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-01 16:02 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-29 09:24 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-05-13 22:58 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-23 21:09 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-01 09:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-17 20:21 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-11 14:18 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-04-27 13:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-12 18:36 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-13 17:30 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-14 16:54 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-21 12:03 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-20 14:03 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-09 14:20 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-09-13 21:08 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-19 16:00 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-17 17:28 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-27 22:03 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-29 19:20 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-11-11 20:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-11-16 09:28 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-11-15 19:17 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-03 18:40 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-06 13:16 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-13 21:47 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-01-01 08:46 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-28 03:57 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-01-08 00:34 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-01-15 13:53 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-02 12:28 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-02 20:53 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-02 19:54 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-02-07 12:34 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-02-22 19:36 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-03-16 20:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-21 19:38 | 規格: 土雞蛋捲 出貨非常迅速的賣家,內外包裝完整無損毀,下次有需要會在此回購商品。 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-09-28 13:02 | 規格: 土雞蛋捲 出貨速度超級快,包裝很用心,每桶都還有獨立泡泡紙包著,土雞蛋最推薦!好吃 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-14 21:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-03-16 21:12 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 評分 4 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-26 22:31 | 規格: 土雞蛋捲 蛋捲嚴重粉碎,容器擠壓凹陷。 更新:賣家主動聯絡補償蛋捲,賣家服務好評! 評價來源:蝦皮購物賣場-無盡Endlessly fullE – 2025 年 4 月 16 日 謝謝您的回饋,雖然碎裂的很多,但您還能嘗到蛋捲好吃部分,感謝您的惜食惜物的精神。這部分經聊聊我們都達到了共識,由於超商宅配確實有限制易碎品與液體的配送,這次很明顯有擠壓的痕跡,難免有重物堆疊上。也很謝謝您願意讓我們重新補寄,這次會選用黑貓配送,物流與商品皆由我們承擔,希望能讓您吃到完整可口的蛋捲 ^^ 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-05-01 21:55 | 規格: 土雞蛋捲 包裝完整 還送台東蜜香紅烏龍 超贊的 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-05-01 21:54 | 規格: 土雞蛋捲 包裝很完整 還送台東蜜香紅烏龍茶 非常賛 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-04 18:01 | 規格: 土雞蛋捲 快速 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-22 21:39 | 規格: 土雞蛋捲 好好吃🤤真的很好吃!在減醣ㄧ天克制吃2根 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-10 02:49 | 規格: 土雞蛋捲 迅速 不過 都有點摔碎了 評價來源:蝦皮購物賣場-無盡Endlessly fullE – 2025 年 4 月 16 日 謝謝您的5⭐好評,昨日有聊聊給您,但可能在忙沒有看到回覆,若碎裂的很嚴重,還請跟我聯繫☺️,會依照情況給予補寄。由於物流運輸的過程難免有路面顛簸,造成蛋捲些微碎裂,都是正常的,但我們仍做到嚴謹保護好商品的準備,也是希望購買後能享用到完整的蛋捲以及更好的購物體驗,若碎裂嚴重請都能給予補寄🙂 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-03 21:33 | 規格: 土雞蛋捲 很好吃的蛋捲😊又再回購了❤️ 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-04-19 15:15 | 規格: 土雞蛋捲 口味: 好酥鬆 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-28 15:31 | 規格: 土雞蛋捲 老闆很用心 每個蛋捲都用氣泡袋保護好。讚 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-20 20:36 | 規格: 土雞蛋捲 好吃超好吃!!! 念念不忘的味道~ 跟過年常常看到的喜X來差太多了🤣 我可以一個人幹掉一桶🤪 (運送過程中碎掉是難免的,不過是自己要吃的不影響,而且我很幸運一根都沒有斷掉) 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-04-29 12:54 | 規格: 土雞蛋捲 口味: 土雞蛋 品質: good 很快就收到商品了,包裝完整良好,還有送茶包,服務很好~ 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-22 13:59 | 規格: 土雞蛋捲 好賣場,好賣家。是值得推的。耐心、細心、用心、認真服務的態度。因為,要寄2地,分了2單下。賣家多給一次優惠碼。 而,貨品包裝良細,且貼好”易碎”。但,貨運公司非能掌控,尤其是北部單。路程遠,碎裂稍嚴重,口感有點影響,不也沒差。重點是賣家服務精神讓人觀感良好。會想再回購。👍所以一定得推👍 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-23 08:31 | 規格: 土雞蛋捲 口味: 土雞蛋 品質: 很好 這個蛋捲吃過好幾次,比一般的好吃,趁有折扣優惠多買一點,也拿了兩罐送給娘家親人吃 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-11 05:19 | 規格: 土雞蛋捲 口味: 美味 品質: 佳 超級好吃的蛋捲😍包裝也很嚴謹,蛋捲保持完好!出貨迅速的好賣家。 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-04 00:40 | 規格: 土雞蛋捲 品質: 優 場合: 都很合適 口味: 超優好吃 物品已收到了👌出貨速度超快💪價格很優惠👍包裝也很完整🤜🤛值得信賴🤗極力推薦的好賣家👌💯分 評價來源:蝦皮購物賣場-無盡Endlessly 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-03 15:10 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly 新增評價 取消回覆 相關商品 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: 可否配送 | 配送方式 | 配送說明 ❌ | 超商取貨 | 超商禁止配送易碎及液態物品,超商配送必碎,還請體諒包涵 ✅ | 宅配到府 | 一箱最多可裝『12罐』,第二箱需多酌收運費呦~ 產地 | 台東 規格 | 300g(約12-13根) 成分 | 土雞蛋、無水奶油、麵粉、砂糖 保存期限 | 未開封常溫保存6個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | 本產品含有蛋、牛奶、小麥製品,不適合含其過敏體質者食用 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .食品業者登錄字號: .V-147758075-00000-2 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • • 描述 • 額外資訊 • 評價 (69) • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-08-21 17:40 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-03 15:10 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-01-16 21:35 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-10 21:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-12 15:45 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-20 10:45 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-03 21:41 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-14 00:52 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-11-24 16:14 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-13 20:34 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-07-11 21:24 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-25 22:59 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-04-21 13:38 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-01 16:02 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-29 09:24 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-05-13 22:58 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-23 21:09 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-01 09:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-17 20:21 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-11 14:18 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-04-27 13:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-12 18:36 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-13 17:30 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-14 16:54 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-21 12:03 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-20 14:03 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-08-09 14:20 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-09-13 21:08 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-19 16:00 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-17 17:28 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-27 22:03 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-29 19:20 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-11-11 20:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-11-16 09:28 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-11-15 19:17 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-03 18:40 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-06 13:16 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-13 21:47 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-01-01 08:46 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-28 03:57 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-01-08 00:34 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-01-15 13:53 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-02 12:28 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessl • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-02 20:53 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-02 19:54 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-02-07 12:34 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-02-22 19:36 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-03-16 20:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-21 19:38 | 規格: 土雞蛋捲 出貨非常迅速的賣家,內外包裝完整無損毀,下次有需要會在此回購商品。 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-09-28 13:02 | 規格: 土雞蛋捲 出貨速度超級快,包裝很用心,每桶都還有獨立泡泡紙包著,土雞蛋最推薦!好吃 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-14 21:50 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-03-16 21:12 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 4 滿分 5 fullE – 2025 年 4 月 16 日 2023-06-26 22:31 | 規格: 土雞蛋捲 蛋捲嚴重粉碎,容器擠壓凹陷。 更新:賣家主動聯絡補償蛋捲,賣家服務好評! 評價來源:蝦皮購物賣場-無盡Endlessly fullE – 2025 年 4 月 16 日 謝謝您的回饋,雖然碎裂的很多,但您還能嘗到蛋捲好吃部分,感謝您的惜食惜物的精神。這部分經聊聊我們都達到了共識,由於超商宅配確實有限制易碎品與液體的配送,這次很明顯有擠壓的痕跡,難免有重物堆疊上。也很謝謝您願意讓我們重新補寄,這次會選用黑貓配送,物流與商品皆由我們承擔,希望能讓您吃到完整可口的蛋捲 ^^ • fullE – 2025 年 4 月 16 日 謝謝您的回饋,雖然碎裂的很多,但您還能嘗到蛋捲好吃部分,感謝您的惜食惜物的精神。這部分經聊聊我們都達到了共識,由於超商宅配確實有限制易碎品與液體的配送,這次很明顯有擠壓的痕跡,難免有重物堆疊上。也很謝謝您願意讓我們重新補寄,這次會選用黑貓配送,物流與商品皆由我們承擔,希望能讓您吃到完整可口的蛋捲 ^^ • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-05-01 21:55 | 規格: 土雞蛋捲 包裝完整 還送台東蜜香紅烏龍 超贊的 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-05-01 21:54 | 規格: 土雞蛋捲 包裝很完整 還送台東蜜香紅烏龍茶 非常賛 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-04 18:01 | 規格: 土雞蛋捲 快速 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-22 21:39 | 規格: 土雞蛋捲 好好吃🤤真的很好吃!在減醣ㄧ天克制吃2根 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-10 02:49 | 規格: 土雞蛋捲 迅速 不過 都有點摔碎了 評價來源:蝦皮購物賣場-無盡Endlessly fullE – 2025 年 4 月 16 日 謝謝您的5⭐好評,昨日有聊聊給您,但可能在忙沒有看到回覆,若碎裂的很嚴重,還請跟我聯繫☺️,會依照情況給予補寄。由於物流運輸的過程難免有路面顛簸,造成蛋捲些微碎裂,都是正常的,但我們仍做到嚴謹保護好商品的準備,也是希望購買後能享用到完整的蛋捲以及更好的購物體驗,若碎裂嚴重請都能給予補寄🙂 • fullE – 2025 年 4 月 16 日 謝謝您的5⭐好評,昨日有聊聊給您,但可能在忙沒有看到回覆,若碎裂的很嚴重,還請跟我聯繫☺️,會依照情況給予補寄。由於物流運輸的過程難免有路面顛簸,造成蛋捲些微碎裂,都是正常的,但我們仍做到嚴謹保護好商品的準備,也是希望購買後能享用到完整的蛋捲以及更好的購物體驗,若碎裂嚴重請都能給予補寄🙂 • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-07-03 21:33 | 規格: 土雞蛋捲 很好吃的蛋捲😊又再回購了❤️ 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-04-19 15:15 | 規格: 土雞蛋捲 口味: 好酥鬆 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-28 15:31 | 規格: 土雞蛋捲 老闆很用心 每個蛋捲都用氣泡袋保護好。讚 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-03-20 20:36 | 規格: 土雞蛋捲 好吃超好吃!!! 念念不忘的味道~ 跟過年常常看到的喜X來差太多了🤣 我可以一個人幹掉一桶🤪 (運送過程中碎掉是難免的,不過是自己要吃的不影響,而且我很幸運一根都沒有斷掉) 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2023-04-29 12:54 | 規格: 土雞蛋捲 口味: 土雞蛋 品質: good 很快就收到商品了,包裝完整良好,還有送茶包,服務很好~ 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-12-22 13:59 | 規格: 土雞蛋捲 好賣場,好賣家。是值得推的。耐心、細心、用心、認真服務的態度。因為,要寄2地,分了2單下。賣家多給一次優惠碼。 而,貨品包裝良細,且貼好”易碎”。但,貨運公司非能掌控,尤其是北部單。路程遠,碎裂稍嚴重,口感有點影響,不也沒差。重點是賣家服務精神讓人觀感良好。會想再回購。👍所以一定得推👍 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-23 08:31 | 規格: 土雞蛋捲 口味: 土雞蛋 品質: 很好 這個蛋捲吃過好幾次,比一般的好吃,趁有折扣優惠多買一點,也拿了兩罐送給娘家親人吃 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-06-11 05:19 | 規格: 土雞蛋捲 口味: 美味 品質: 佳 超級好吃的蛋捲😍包裝也很嚴謹,蛋捲保持完好!出貨迅速的好賣家。 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-04 00:40 | 規格: 土雞蛋捲 品質: 優 場合: 都很合適 口味: 超優好吃 物品已收到了👌出貨速度超快💪價格很優惠👍包裝也很完整🤜🤛值得信賴🤗極力推薦的好賣家👌💯分 評價來源:蝦皮購物賣場-無盡Endlessly • 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-05-03 15:10 | 規格: 土雞蛋捲 評價來源:蝦皮購物賣場-無盡Endlessly • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 2025-10-14 17:34:48 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 20/21 個網址 2025-10-14 17:34:48 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:34:48 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/0008/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/0008/ 的第 1/3 次請求 2025-10-14 17:34: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 0x7e13534e36d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f0c2c5193929a1cddd54293d45d88691 2025-10-14 17:34: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 0x7e13527f5e10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f0c2c5193929a1cddd54293d45d88691 2025-10-14 17:34: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 0x7e13527f6150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f0c2c5193929a1cddd54293d45d88691 2025-10-14 17:34:48 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:34:48 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:34:48 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:34:48 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:34:48 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:34:48 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:34:48 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:34:48 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:34:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:34:49 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:34: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 0x5a60b7a934e3 <unknown> #1 0x5a60b77c2c76 <unknown> #2 0x5a60b77ebd78 <unknown> #3 0x5a60b77e8029 <unknown> #4 0x5a60b7826ccc <unknown> #5 0x5a60b782647f <unknown> #6 0x5a60b781dde3 <unknown> #7 0x5a60b77f32dd <unknown> #8 0x5a60b77f434e <unknown> #9 0x5a60b7a533e4 <unknown> #10 0x5a60b7a573d7 <unknown> #11 0x5a60b7a61b20 <unknown> #12 0x5a60b7a58023 <unknown> #13 0x5a60b7a261aa <unknown> #14 0x5a60b7a7c6b8 <unknown> #15 0x5a60b7a7c847 <unknown> #16 0x5a60b7a8c243 <unknown> #17 0x7dd14ba94ac3 <unknown> 2025-10-14 17:34:49 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:34:49 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:34:49 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:34:49 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:34:49 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:34:52 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:34:52 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:34:52 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:34:52 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:34:52 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:34:54 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:34:54 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:34:54 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:34:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 204.9MB, CPU 0.0% 2025-10-14 17:35:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:35:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:35:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:35:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:35:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:35:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:35:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:35:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:35:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:35:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:35:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:35:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:35:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:35:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:35:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:35:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:35:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:45 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1141 2025-10-14 17:35:46 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 234 2025-10-14 17:35:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:48 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 234,內容可能已加載完成 2025-10-14 17:35:48 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:35:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:35:58 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 17:36:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 20/21 2025-10-14 17:36:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:36:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/0008/ (實際 URL: https://order.fulleats.com.tw/index.php/product/0008/) 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471424: 關閉 WebDriver 實例 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 176169 字節 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1159 字節 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1841 字節 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1946 字節 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 845 字節 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2698 字節,約 371 個詞,245 行 2025-10-14 17:36:13 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 17% OFF 🔍 木虌果米乖乖哈密瓜風味52g 評分 5.00 / 5,已有 1 位顧客進行評分 ( 1 則顧客評價) NT$ 60 – NT$ 600 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) ◾ 來自台東天堂的果實木虌果 ◾ 結合在地嚴選埤南米製成 ◾ 哈密瓜香氣四溢.香脆好吃 ◾ 非油炸物.不含防腐劑 貨號: 不提供 分類: 台東-零食餅乾Cookie 標籤: 乖乖 , 休閒零食 , 伴手禮 , 台東 , 哈密瓜 , 手工餅乾 , 木虌果 , 洋芋片 , 爆米花 , 米乖乖 , 餅乾 品牌: 太陽農場 描述 額外資訊 評價 (1) ID:0008 📆有效日期:2026.01.17 可否配送 配送方式 配送說明 ✅ 超商取貨 一箱最多可裝『12包』 ✅ 宅配到府 一箱最多可裝『12包』,第三箱需多酌收運費呦 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 大眾滿意度:⭐⭐⭐⭐⭐ 【商品介紹】 選用來自天堂的果實-木虌果,木虌果本身無味但卻深藏不漏,木虌果甲種皮的茄紅素含量比番茄高🔺70倍❗❗,類胡蘿蔔素是胡蘿蔔的15倍❗❗,加上結合台東卑南溪灌溉所富含礦物質的卑南米,雙雙結合而成,具有高價值的零嘴乖乖,另外添加哈密瓜提升風味,香氣十足的哈密瓜味,口感香脆好吃,是小朋友喜愛的味道、也是大人無負擔的零嘴,好吃的心情在昇華💟 【商品規格】 產地 台東 規格 52g/包 成分 白米、食用軟質棕油、葡萄糖、砂糖、乳清粉、麥芽糊精、木虌果原汁、哈密瓜果汁粉(哈密瓜汁、麥芽糊精、辛烯基丁二酸鈉澱粉、砂糖、哈密瓜香料、檸檬酸、β-胡蘿蔔素、胭脂紅)、鹽、大豆卵磷酯、香料、檸檬酸、乙基麥芽醇、抗氧化劑(混合濃縮生育醇(濃縮生育醇、大豆油))、食用黃色五號 保存期限 未開封常溫保存12個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 (1) 本產品含有牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、芒果、花生、蛋、堅果類、含麩質之穀物、魚類及其製品 注意事項 (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 21.7 x 17.8 x 7 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .H-104217017-00000-7 .出貨地:臺東縣臺東市 木虌果米乖乖哈密瓜風味52g 共有 1 則評價 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2024-10-15 17:16 | 規格: 木虌果米乖乖哈密瓜風味-12包 評價來源:蝦皮購物賣場-無盡Endlessly 新增評價 取消回覆 相關商品 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 通知 額外的結構化內容: 選項 | 請選取一個選項單包12包/箱清除 可否配送 | 配送方式 | 配送說明 ✅ | 超商取貨 | 一箱最多可裝『12包』 ✅ | 宅配到府 | 一箱最多可裝『12包』,第三箱需多酌收運費呦 產地 | 台東 規格 | 52g/包 成分 | 白米、食用軟質棕油、葡萄糖、砂糖、乳清粉、麥芽糊精、木虌果原汁、哈密瓜果汁粉(哈密瓜汁、麥芽糊精、辛烯基丁二酸鈉澱粉、砂糖、哈密瓜香料、檸檬酸、β-胡蘿蔔素、胭脂紅)、鹽、大豆卵磷酯、香料、檸檬酸、乙基麥芽醇、抗氧化劑(混合濃縮生育醇(濃縮生育醇、大豆油))、食用黃色五號 保存期限 | 未開封常溫保存12個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | (1) 本產品含有牛奶、大豆及其製品 (2) 本產品生產製造廠房,其設備或生產管線有處理:甲殼類、芒果、花生、蛋、堅果類、含麩質之穀物、魚類及其製品 注意事項 | (1) 本產品為高溫烘焙製成,調味料在高溫烘焙之過程偶有顏色偏深之現象,請安心食用 (2) 產品以實物為準 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 21.7 x 17.8 x 7 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .H-104217017-00000-7 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • • 描述 • 額外資訊 • 評價 (1) • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 2025-10-14 17:36:13 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 21/21 個網址 2025-10-14 17:36:13 - INFO - main - [url_processor.py:266] - process_url - UI審核: 開始審核主頁面: https://order.fulleats.com.tw/ 2025-10-14 17:36:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2013 字符 2025-10-14 17:36:13 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:36:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:36:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:36:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:36:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:36:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:36:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:36:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:36:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:36:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:36:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:36:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:36:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:36:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:36:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:36:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:36:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:36:29 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:36:29 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 16.053秒 2025-10-14 17:36:29 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 16.104秒 2025-10-14 17:36:29 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:36:29 - INFO - main - [url_processor.py:305] - process_url - UI審核: 主頁面審核通過: https://order.fulleats.com.tw/ 2025-10-14 17:36:29 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 1/20: https://order.fulleats.com.tw/ 2025-10-14 17:36:29 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2013 字符 2025-10-14 17:36:29 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:36:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:36:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:36:54 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:36:54 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 24.598秒 2025-10-14 17:36:54 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 24.649秒 2025-10-14 17:36:54 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:36:54 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/ 2025-10-14 17:36:54 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 2/20: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:36:54 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2113 字符 2025-10-14 17:36:54 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:36:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:37:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:37:12 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:37:12 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 18.020秒 2025-10-14 17:37:12 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 18.070秒 2025-10-14 17:37:12 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:37:12 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:37:12 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 3/20: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:37:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2121 字符 2025-10-14 17:37:12 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:37:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:37:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:37:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:37:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:37:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:37:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:37:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:37:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:37:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:37:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:37:37 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:37:37 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 24.487秒 2025-10-14 17:37:37 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 24.538秒 2025-10-14 17:37:37 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:37:37 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:37:37 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 4/20: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:37:37 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 432 字符 2025-10-14 17:37:37 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:37:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:37:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:37:48 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:37:48 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.895秒 2025-10-14 17:37:48 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 11.946秒 2025-10-14 17:37:48 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:37:48 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:37:48 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 5/20: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:37:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2145 字符 2025-10-14 17:37:49 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:37:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:38:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:38:12 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:38:12 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 23.620秒 2025-10-14 17:38:12 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 46 字符, 總耗時: 23.670秒 2025-10-14 17:38:12 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:38:12 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:38:12 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 6/20: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:38:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 499 字符 2025-10-14 17:38:12 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:38:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:38:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:38:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:38:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:38:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:38:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:38:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:38:20 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:38:20 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.881秒 2025-10-14 17:38:20 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.932秒 2025-10-14 17:38:20 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:38:20 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:38:20 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 7/20: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:38:20 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2119 字符 2025-10-14 17:38:20 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:38:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:38:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:38:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:38:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:38:35 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:38:35 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 15.343秒 2025-10-14 17:38:35 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 15.395秒 2025-10-14 17:38:35 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:38:35 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:38:35 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 8/20: https://order.fulleats.com.tw/type-2 2025-10-14 17:38:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 121 字符 2025-10-14 17:38:36 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:38:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:38:41 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:38:41 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.898秒 2025-10-14 17:38:41 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 5.948秒 2025-10-14 17:38:41 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:38:41 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/type-2 2025-10-14 17:38:41 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 9/20: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:38:41 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2125 字符 2025-10-14 17:38:41 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:38:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:38:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:09 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:39:09 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 27.296秒 2025-10-14 17:39:09 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 27.346秒 2025-10-14 17:39:09 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:39:09 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:39:09 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 10/20: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:39:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 162 字符 2025-10-14 17:39:09 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:39:15 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:39:15 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.394秒 2025-10-14 17:39:15 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 6.444秒 2025-10-14 17:39:15 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:39:15 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:39:15 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 11/20: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:39:15 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 480 字符 2025-10-14 17:39:15 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:39:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:39:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:39:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:39:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:39:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:39:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:39:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:39:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:39:27 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:39:27 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.813秒 2025-10-14 17:39:27 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 11.862秒 2025-10-14 17:39:27 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:39:27 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:39:27 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 12/20: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:39:27 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 995 字符 2025-10-14 17:39:27 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:39:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0% 2025-10-14 17:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:39:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:43 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:39:43 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 16.068秒 2025-10-14 17:39:43 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 16.119秒 2025-10-14 17:39:43 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:39:43 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:39:43 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 13/20: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:39:43 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 799 字符 2025-10-14 17:39:43 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:39:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:39:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:39:52 - INFO - database - [database.py:1079] - reset_stalled_urls - 已重置 1 个超时 URL 的状态 2025-10-14 17:39:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.02 秒,結果: 1 2025-10-14 17:39:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:39:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:39:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:39:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-14 17:39:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:39:58 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=77, URL=https://order.fulleats.com.tw/ 2025-10-14 17:39:58 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-14 17:39:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:39:58 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 77 2025-10-14 17:39:58 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://order.fulleats.com.tw/ 2025-10-14 17:39:58 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-14 17:39:58 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:39:58 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:39:58 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/ 的第 1/3 次請求 2025-10-14 17:39:58 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:39:58 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:39:58 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:39:58 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:39:58 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:39:58 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:39:59 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:39:59 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:39:59 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:39:59 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:39:59 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:39:59 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:39:59 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:39:59 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 16.116秒 2025-10-14 17:39:59 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 16.166秒 2025-10-14 17:39:59 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:39:59 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:39:59 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 14/20: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:39:59 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2333 字符 2025-10-14 17:39:59 - 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 0x629232c8a4e3 <unknown> #1 0x6292329b9c76 <unknown> #2 0x6292329e2d78 <unknown> #3 0x6292329df029 <unknown> #4 0x629232a1dccc <unknown> #5 0x629232a1d47f <unknown> #6 0x629232a14de3 <unknown> #7 0x6292329ea2dd <unknown> #8 0x6292329eb34e <unknown> #9 0x629232c4a3e4 <unknown> #10 0x629232c4e3d7 <unknown> #11 0x629232c58b20 <unknown> #12 0x629232c4f023 <unknown> #13 0x629232c1d1aa <unknown> #14 0x629232c736b8 <unknown> #15 0x629232c73847 <unknown> #16 0x629232c83243 <unknown> #17 0x7f8bc6a94ac3 <unknown> 2025-10-14 17:39:59 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:39:59 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:39:59 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:40:00 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:40:00 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/ 2025-10-14 17:40:00 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/ 2025-10-14 17:40:03 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:40:03 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:40:03 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:40:03 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:40:03 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:40:05 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:40:05 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:40:05 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:40:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:40:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:40:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:40:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:40:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:40:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:40:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:40:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:40:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:40:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:40:28 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:40:28 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 28.901秒 2025-10-14 17:40:28 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 28.970秒 2025-10-14 17:40:28 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:40:28 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:40:28 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 15/20: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:40:28 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 5383 字符 2025-10-14 17:40:28 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:40:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:40:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:40:45 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:40:45 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 16.340秒 2025-10-14 17:40:45 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 16.395秒 2025-10-14 17:40:45 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:40:45 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 17:40:45 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 16/20: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:40:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2279 字符 2025-10-14 17:40:45 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:40:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:40:55 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 935 2025-10-14 17:40:56 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 204 2025-10-14 17:40:58 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 204,內容可能已加載完成 2025-10-14 17:40:58 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:40:58 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:40:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:41:03 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:41:03 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 18.493秒 2025-10-14 17:41:03 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 18.547秒 2025-10-14 17:41:03 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:41:03 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/product/0013/ 2025-10-14 17:41:03 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 17/20: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:41:03 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2231 字符 2025-10-14 17:41:03 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 128.3MB, CPU 0.0% 2025-10-14 17:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:41:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:41:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:41:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:41:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:41:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:41:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:41:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:41:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:41:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:41:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:41:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:41:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:41:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:41:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:41:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:41:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 21/21 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:41:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:41:22 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:41:22 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 19.056秒 2025-10-14 17:41:22 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 19.111秒 2025-10-14 17:41:22 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:41:22 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/product/0017/ 2025-10-14 17:41:22 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 18/20: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:41:22 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2568 字符 2025-10-14 17:41:22 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/ (實際 URL: https://order.fulleats.com.tw/) 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:41:23 - INFO - database - [database.py:505] - update_url_status - URL ID 77 状态已更新为 processing 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 186312 字節 2025-10-14 17:41:23 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1200 字節 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1089 字節 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2095 字節,約 361 個詞,279 行 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:41:24 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://order.fulleats.com.tw/, HTML 內容大小=186312 字節 2025-10-14 17:41:24 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://order.fulleats.com.tw/, 發現問題數=10, 嚴重問題數=3, 耗時=0.029秒 2025-10-14 17:41:24 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(3), suspicious_external_script(1), form(4), password_field(2) 2025-10-14 17:41:24 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(7), warning(3) 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 23 個內部鏈接 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2371] - should_skip_url - 跳過低價值URL: https://order.fulleats.com.tw/index.php/privacy/ (匹配模式: /privacy) 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2683] - find_internal_links - 鏈接數量 (23) 超過限制 (20),進行截斷 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 20 個有效內部鏈接 2025-10-14 17:41:24 - INFO - main - [url_processor.py:153] - process_url - 找到 20 個內部鏈接,最大深度2層 2025-10-14 17:41:24 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=77):總計 21 個網址,已完成 1 個(主頁面) 2025-10-14 17:41:24 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/ 2025-10-14 17:41:24 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/ 的第 1/3 次請求 2025-10-14 17:41:24 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1359db81d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6809e563da83e872abc4d3c7ec0c6092 2025-10-14 17:41:24 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1358ec3290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6809e563da83e872abc4d3c7ec0c6092 2025-10-14 17:41:24 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1358ec3990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6809e563da83e872abc4d3c7ec0c6092 2025-10-14 17:41:24 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:41:24 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:41:24 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:41:24 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:41:24 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:41:24 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:41:24 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:41:24 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:41:24 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:41:25 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:41:25 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x5c91c04924e3 <unknown> #1 0x5c91c01c1c76 <unknown> #2 0x5c91c01ead78 <unknown> #3 0x5c91c01e7029 <unknown> #4 0x5c91c0225ccc <unknown> #5 0x5c91c022547f <unknown> #6 0x5c91c021cde3 <unknown> #7 0x5c91c01f22dd <unknown> #8 0x5c91c01f334e <unknown> #9 0x5c91c04523e4 <unknown> #10 0x5c91c04563d7 <unknown> #11 0x5c91c0460b20 <unknown> #12 0x5c91c0457023 <unknown> #13 0x5c91c04251aa <unknown> #14 0x5c91c047b6b8 <unknown> #15 0x5c91c047b847 <unknown> #16 0x5c91c048b243 <unknown> #17 0x726dd5894ac3 <unknown> 2025-10-14 17:41:25 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:41:25 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:41:25 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:41:25 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/ 2025-10-14 17:41:25 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/ 2025-10-14 17:41:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:41:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-14 17:41:28 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:41:28 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:41:28 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:41:28 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:41:28 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/ 2025-10-14 17:41:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:41:30 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:41:30 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:41:30 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:41:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:41:49 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:41:49 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 26.330秒 2025-10-14 17:41:49 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 166 字符, 總耗時: 26.385秒 2025-10-14 17:41:49 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:發現違規內容:「適合調製各種風味酒飲與料理食用」「加酒:變身熱帶調酒,週末小酌剛剛好」。此內容違反了規則2-A:酒類(於「非餐飲場所」)不得宣傳或銷售。 規則3:無違規... 2025-10-14 17:41:49 - WARNING - main - [url_processor.py:354] - process_url - UI審核: 子頁面審核不通過: https://order.fulleats.com.tw/index.php/product/0020/ 2025-10-14 17:41:49 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 19/20: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:41:49 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 16383 字符 2025-10-14 17:41:49 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:41:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:42:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:42:08 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:08 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 19.665秒 2025-10-14 17:42:08 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 19.720秒 2025-10-14 17:42:08 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:42:08 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/product/egg-rolls/ 2025-10-14 17:42:08 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 20/20: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:42:08 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2679 字符 2025-10-14 17:42:09 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:42:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:42:20 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 935 2025-10-14 17:42:21 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 204 2025-10-14 17:42:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:42:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:42:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:42:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:42:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:42:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:42:23 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 204,內容可能已加載完成 2025-10-14 17:42:23 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:42:23 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:42:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:42:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:42:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:42:31 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:31 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 22.785秒 2025-10-14 17:42:31 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 22.840秒 2025-10-14 17:42:31 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-14 17:42:31 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://order.fulleats.com.tw/index.php/product/0008/ 2025-10-14 17:42:31 - INFO - main - [url_processor.py:376] - process_url - 開始判斷主頁面購物車功能 2025-10-14 17:42:31 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:31 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2013 字符 2025-10-14 17:42:31 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 150.4MB, CPU 0.0% 2025-10-14 17:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:42:34 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:34 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.482秒 2025-10-14 17:42:34 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.547秒 2025-10-14 17:42:34 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:42:34 - INFO - main - [url_processor.py:379] - process_url - 主頁面購物車判斷: 有購物車功能 2025-10-14 17:42:34 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 1/20 購物車功能 2025-10-14 17:42:34 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:34 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2013 字符 2025-10-14 17:42:34 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:37 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:37 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.055秒 2025-10-14 17:42:37 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.121秒 2025-10-14 17:42:37 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:42:37 - INFO - main - [url_processor.py:390] - process_url - 子頁面 1 購物車判斷: 有購物車功能 2025-10-14 17:42:37 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 2/20 購物車功能 2025-10-14 17:42:37 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:37 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2113 字符 2025-10-14 17:42:37 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 1/21 2025-10-14 17:42:43 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:43 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.753秒 2025-10-14 17:42:43 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.809秒 2025-10-14 17:42:43 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:42:43 - INFO - main - [url_processor.py:390] - process_url - 子頁面 2 購物車判斷: 有購物車功能 2025-10-14 17:42:43 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 3/20 購物車功能 2025-10-14 17:42:43 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:43 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2121 字符 2025-10-14 17:42:43 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:48 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/ (實際 URL: https://order.fulleats.com.tw/) 2025-10-14 17:42:48 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:42:48 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:42:48 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:42:48 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 186312 字節 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1200 字節 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1089 字節 2025-10-14 17:42:49 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:49 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.837秒 2025-10-14 17:42:49 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.892秒 2025-10-14 17:42:49 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:42:49 - INFO - main - [url_processor.py:390] - process_url - 子頁面 3 購物車判斷: 有購物車功能 2025-10-14 17:42:49 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 4/20 購物車功能 2025-10-14 17:42:49 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:49 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 432 字符 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2095 字節,約 361 個詞,279 行 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:42:49 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 2/21 個網址 2025-10-14 17:42:49 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:42:49 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=2282, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=2282 的第 1/3 次請求 2025-10-14 17:42:49 - 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 0x7e1358edd350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/200746d0dc3301804bf3e123b1f53862 2025-10-14 17:42:49 - 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 0x7e1358ede690>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/200746d0dc3301804bf3e123b1f53862 2025-10-14 17:42:49 - 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 0x7e1358edf090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/200746d0dc3301804bf3e123b1f53862 2025-10-14 17:42:49 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:42:49 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:42:49 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:42:49 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:42:49 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:42:49 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:42:49 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:42:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:42:49 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:42:50 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:42:50 - 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 0x5ee9deab14e3 <unknown> #1 0x5ee9de7e0c76 <unknown> #2 0x5ee9de809d78 <unknown> #3 0x5ee9de806029 <unknown> #4 0x5ee9de844ccc <unknown> #5 0x5ee9de84447f <unknown> #6 0x5ee9de83bde3 <unknown> #7 0x5ee9de8112dd <unknown> #8 0x5ee9de81234e <unknown> #9 0x5ee9dea713e4 <unknown> #10 0x5ee9dea753d7 <unknown> #11 0x5ee9dea7fb20 <unknown> #12 0x5ee9dea76023 <unknown> #13 0x5ee9dea441aa <unknown> #14 0x5ee9dea9a6b8 <unknown> #15 0x5ee9dea9a847 <unknown> #16 0x5ee9deaaa243 <unknown> #17 0x79fd9d094ac3 <unknown> 2025-10-14 17:42:50 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:42:50 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:42:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:42:50 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:42:50 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:42:50 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:42:53 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:42:53 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:42:53 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:42:53 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:42:53 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=2282 2025-10-14 17:42:53 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:53 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.078秒 2025-10-14 17:42:53 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.143秒 2025-10-14 17:42:53 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:42:53 - INFO - main - [url_processor.py:390] - process_url - 子頁面 4 購物車判斷: 有購物車功能 2025-10-14 17:42:53 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 5/20 購物車功能 2025-10-14 17:42:53 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:53 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2145 字符 2025-10-14 17:42:53 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:55 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:42:55 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:42:55 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:42:57 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:57 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.661秒 2025-10-14 17:42:57 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.715秒 2025-10-14 17:42:57 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:42:57 - INFO - main - [url_processor.py:390] - process_url - 子頁面 5 購物車判斷: 有購物車功能 2025-10-14 17:42:57 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 6/20 購物車功能 2025-10-14 17:42:57 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 499 字符 2025-10-14 17:42:57 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:42:59 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:42:59 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.766秒 2025-10-14 17:42:59 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.821秒 2025-10-14 17:42:59 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-14 17:42:59 - INFO - main - [url_processor.py:390] - process_url - 子頁面 6 購物車判斷: 無購物車功能 2025-10-14 17:42:59 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 7/20 購物車功能 2025-10-14 17:42:59 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:42:59 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2119 字符 2025-10-14 17:42:59 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:43:03 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:03 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.946秒 2025-10-14 17:43:03 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.001秒 2025-10-14 17:43:03 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:03 - INFO - main - [url_processor.py:390] - process_url - 子頁面 7 購物車判斷: 有購物車功能 2025-10-14 17:43:03 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 8/20 購物車功能 2025-10-14 17:43:03 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:03 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 121 字符 2025-10-14 17:43:03 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:05 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:05 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.602秒 2025-10-14 17:43:05 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 1.657秒 2025-10-14 17:43:05 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-14 17:43:05 - INFO - main - [url_processor.py:390] - process_url - 子頁面 8 購物車判斷: 無購物車功能 2025-10-14 17:43:05 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 9/20 購物車功能 2025-10-14 17:43:05 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:05 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2125 字符 2025-10-14 17:43:05 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:09 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:09 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.009秒 2025-10-14 17:43:09 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.064秒 2025-10-14 17:43:09 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:09 - INFO - main - [url_processor.py:390] - process_url - 子頁面 9 購物車判斷: 有購物車功能 2025-10-14 17:43:09 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 10/20 購物車功能 2025-10-14 17:43:09 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 162 字符 2025-10-14 17:43:09 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:43:13 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:13 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.201秒 2025-10-14 17:43:13 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.256秒 2025-10-14 17:43:13 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:13 - INFO - main - [url_processor.py:390] - process_url - 子頁面 10 購物車判斷: 有購物車功能 2025-10-14 17:43:13 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 11/20 購物車功能 2025-10-14 17:43:13 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 480 字符 2025-10-14 17:43:13 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:17 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:17 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.228秒 2025-10-14 17:43:17 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.282秒 2025-10-14 17:43:17 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:17 - INFO - main - [url_processor.py:390] - process_url - 子頁面 11 購物車判斷: 有購物車功能 2025-10-14 17:43:17 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 12/20 購物車功能 2025-10-14 17:43:17 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:17 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 995 字符 2025-10-14 17:43:17 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:19 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:19 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.800秒 2025-10-14 17:43:19 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.855秒 2025-10-14 17:43:19 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:19 - INFO - main - [url_processor.py:390] - process_url - 子頁面 12 購物車判斷: 有購物車功能 2025-10-14 17:43:19 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 13/20 購物車功能 2025-10-14 17:43:19 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:19 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 799 字符 2025-10-14 17:43:20 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:43:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:43:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:43:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:43:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:43:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:43:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:43:23 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:23 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.406秒 2025-10-14 17:43:23 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.461秒 2025-10-14 17:43:23 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:23 - INFO - main - [url_processor.py:390] - process_url - 子頁面 13 購物車判斷: 有購物車功能 2025-10-14 17:43:23 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 14/20 購物車功能 2025-10-14 17:43:23 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:23 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2333 字符 2025-10-14 17:43:23 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:43:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:43:27 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:27 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.528秒 2025-10-14 17:43:27 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.582秒 2025-10-14 17:43:27 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:27 - INFO - main - [url_processor.py:390] - process_url - 子頁面 14 購物車判斷: 有購物車功能 2025-10-14 17:43:27 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 15/20 購物車功能 2025-10-14 17:43:27 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:27 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 5383 字符 2025-10-14 17:43:27 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:30 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:30 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.794秒 2025-10-14 17:43:30 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.850秒 2025-10-14 17:43:30 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:30 - INFO - main - [url_processor.py:390] - process_url - 子頁面 15 購物車判斷: 有購物車功能 2025-10-14 17:43:30 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 16/20 購物車功能 2025-10-14 17:43:30 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:30 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2279 字符 2025-10-14 17:43:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:43:30 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:36 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:36 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.815秒 2025-10-14 17:43:36 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.873秒 2025-10-14 17:43:36 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:36 - INFO - main - [url_processor.py:390] - process_url - 子頁面 16 購物車判斷: 有購物車功能 2025-10-14 17:43:36 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 17/20 購物車功能 2025-10-14 17:43:36 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:36 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2231 字符 2025-10-14 17:43:36 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:43:43 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:43 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.414秒 2025-10-14 17:43:43 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 6.470秒 2025-10-14 17:43:43 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:43 - INFO - main - [url_processor.py:390] - process_url - 子頁面 17 購物車判斷: 有購物車功能 2025-10-14 17:43:43 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 18/20 購物車功能 2025-10-14 17:43:43 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:43 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2568 字符 2025-10-14 17:43:43 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:43:45 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 967 2025-10-14 17:43:46 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:43:48 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:43:48 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:43:48 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:43:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:43:51 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:43:51 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.095秒 2025-10-14 17:43:51 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 8.151秒 2025-10-14 17:43:51 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:43:51 - INFO - main - [url_processor.py:390] - process_url - 子頁面 18 購物車判斷: 有購物車功能 2025-10-14 17:43:51 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 19/20 購物車功能 2025-10-14 17:43:51 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:43:51 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 16383 字符 2025-10-14 17:43:51 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:44:00 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:44:00 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.138秒 2025-10-14 17:44:00 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 9.193秒 2025-10-14 17:44:00 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:44:00 - INFO - main - [url_processor.py:390] - process_url - 子頁面 19 購物車判斷: 有購物車功能 2025-10-14 17:44:00 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 20/20 購物車功能 2025-10-14 17:44:00 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-14 17:44:00 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2679 字符 2025-10-14 17:44:00 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-14 17:44:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 151.1MB, CPU 0.0% 2025-10-14 17:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:44:05 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-14 17:44:05 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.405秒 2025-10-14 17:44:05 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.461秒 2025-10-14 17:44:05 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-14 17:44:05 - INFO - main - [url_processor.py:390] - process_url - 子頁面 20 購物車判斷: 有購物車功能 2025-10-14 17:44:05 - INFO - main - [url_processor.py:402] - process_url - 最終購物車判斷結果: 有購物車功能 (檢查了 21 個頁面) 2025-10-14 17:44:05 - WARNING - main - [url_processor.py:427] - process_url - 審核不通過:1 個頁面失敗,0 個頁面被模型拒審(已忽略) 2025-10-14 17:44:05 - INFO - main - [helpers.py:239] - _find_email_in_content - 在HTML源代碼中找到電子郵件 openprice2023@gmail.com 2025-10-14 17:44:05 - INFO - main - [url_processor.py:525] - process_url - URL ID 77 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證 2025-10-14 17:44:05 - INFO - main - [helpers.py:239] - _find_email_in_content - 在HTML源代碼中找到電子郵件 openprice2023@gmail.com 2025-10-14 17:44:05 - INFO - main - [url_processor.py:545] - process_url - UI審核(URL ID=77):身份驗證通過 2025-10-14 17:44:05 - INFO - database - [database.py:505] - update_url_status - URL ID 77 状态已更新为 completed 2025-10-14 17:44:05 - INFO - main - [url_processor.py:609] - process_url - URL ID 77 分析完成,結果: fail, API驗證: False 2025-10-14 17:44:05 - INFO - main - [url_processor.py:634] - process_url - 工作線程 #2 完成處理 URL ID: 77 2025-10-14 17:44:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 77, UID: uvxv0d7l2k, 進度: 2/21 2025-10-14 17:44:13 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=2282 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=2282) 2025-10-14 17:44:13 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:44:13 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:44:13 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:44:13 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 192223 字節 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1298 字節 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1121 字節 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 885 字節 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2195 字節,約 384 個詞,297 行 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 60 1 鳳梨釋迦氣泡飲330ml 1 × NT$ 60 小計: NT$ 60 查看購物車 結帳 搜尋 登入 購物車 NT$ 60 1 鳳梨釋迦氣泡飲330ml 1 × NT$ 60 小計: NT$ 60 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 1 在購物車內 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “鳳梨釋迦氣泡飲330ml” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 1 在購物車內 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:44:14 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 3/21 個網址 2025-10-14 17:44:14 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:44:14 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1760, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1760 的第 1/3 次請求 2025-10-14 17:44:14 - 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 0x7e1358f24f90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/22ea55af8af7546ec4d1c3d5f51d6a35 2025-10-14 17:44:14 - 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 0x7e1359dbae50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/22ea55af8af7546ec4d1c3d5f51d6a35 2025-10-14 17:44:14 - 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 0x7e1358f6cd50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/22ea55af8af7546ec4d1c3d5f51d6a35 2025-10-14 17:44:14 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:44:14 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:44:14 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:44:14 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:44:14 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:44:14 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:44:14 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:44:14 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:44:14 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:44:15 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:44: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 0x618cfd0354e3 <unknown> #1 0x618cfcd64c76 <unknown> #2 0x618cfcd8dd78 <unknown> #3 0x618cfcd8a029 <unknown> #4 0x618cfcdc8ccc <unknown> #5 0x618cfcdc847f <unknown> #6 0x618cfcdbfde3 <unknown> #7 0x618cfcd952dd <unknown> #8 0x618cfcd9634e <unknown> #9 0x618cfcff53e4 <unknown> #10 0x618cfcff93d7 <unknown> #11 0x618cfd003b20 <unknown> #12 0x618cfcffa023 <unknown> #13 0x618cfcfc81aa <unknown> #14 0x618cfd01e6b8 <unknown> #15 0x618cfd01e847 <unknown> #16 0x618cfd02e243 <unknown> #17 0x7dd316694ac3 <unknown> 2025-10-14 17:44:15 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:44:15 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:44:15 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:44:15 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:44:15 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:44:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:44:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:44:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:44:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:44:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:44:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:44:18 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:44:18 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:44:18 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:44:18 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:44:18 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1760 2025-10-14 17:44:20 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:44:20 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:44:20 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:44:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:44:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:44:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:44:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:44:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:44:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:44:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:44:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:44:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:44:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:45:10 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 967 2025-10-14 17:45:11 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:45:13 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:45:13 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:45:13 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:45:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:45:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:45:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:45:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:45:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:45:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:45:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:45:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 136.9MB, CPU 0.0% 2025-10-14 17:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1760 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1760) 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 192027 字節 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1308 字節 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1121 字節 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2203 字節,約 382 個詞,297 行 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(芥末椒鹽)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(芥末椒鹽)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “紅藜飛魚餅(芥末椒鹽)80g” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:45:39 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 4/21 個網址 2025-10-14 17:45:39 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:45:39 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/about-us/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/about-us/ 的第 1/3 次請求 2025-10-14 17:45: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 0x7e1358f6d390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fabd34492c213bbd221f8c494a31f373 2025-10-14 17:45: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 0x7e1359db9410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fabd34492c213bbd221f8c494a31f373 2025-10-14 17:45: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 0x7e135927c7d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fabd34492c213bbd221f8c494a31f373 2025-10-14 17:45:39 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:45:39 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:45:39 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:45:39 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:45:39 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:45: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-14 17:45:39 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:45:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:45:40 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:45: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-14 17:45: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 0x5a2b162594e3 <unknown> #1 0x5a2b15f88c76 <unknown> #2 0x5a2b15fb1d78 <unknown> #3 0x5a2b15fae029 <unknown> #4 0x5a2b15fecccc <unknown> #5 0x5a2b15fec47f <unknown> #6 0x5a2b15fe3de3 <unknown> #7 0x5a2b15fb92dd <unknown> #8 0x5a2b15fba34e <unknown> #9 0x5a2b162193e4 <unknown> #10 0x5a2b1621d3d7 <unknown> #11 0x5a2b16227b20 <unknown> #12 0x5a2b1621e023 <unknown> #13 0x5a2b161ec1aa <unknown> #14 0x5a2b162426b8 <unknown> #15 0x5a2b16242847 <unknown> #16 0x5a2b16252243 <unknown> #17 0x7d483a294ac3 <unknown> 2025-10-14 17:45:40 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:45:40 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:45:40 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:45:40 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:45:40 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:45:42 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:45:42 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:45:42 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:45:42 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:45:42 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/about-us/ 2025-10-14 17:45:44 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:45:44 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:45:44 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:46:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:46:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:46:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:46:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:46:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:46:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:46:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:46:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:46:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:46:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:46:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-14 17:46:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-14 17:46:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:46:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:46:24 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 387 2025-10-14 17:46:25 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 69 2025-10-14 17:46:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:46:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:46:27 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 69,內容可能已加載完成 2025-10-14 17:46:27 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/about-us/ (實際 URL: https://order.fulleats.com.tw/index.php/about-us/) 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 114246 字節 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 343 字節 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 432 字節 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 284 字節 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 432 字節,約 45 個詞,34 行 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 關於無盡 大家好!這裡是『無盡賣場』,而無盡指的是無盡的可能。我們創造、記錄、突破,就像生活,每一步的選擇都會帶來不同的結果。帶來的不僅只是商品的銷售,更多是價值上的趣事。 『商品』不僅只是商品 商品均依據網路數據、特色、品牌故事等條件挑選。若有建議也請不吝嗇的提出,讓大家買的愉快舒服,是我們該做的。 『服務』使我們參與其中 參與你的生活世界,踏入一小小角落去瞭解並助力,透過紙和筆去繪出夢想,用相機記錄當下的每一刻,若有平面設計與動靜態拍攝,歡迎來訊告訴我們。 FB官方粉絲專頁: 無盡好食好物-交流分享站 多元服務與商品未來會持續增加中 ^^ 通知 2025-10-14 17:46:57 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 5/21 個網址 2025-10-14 17:46:57 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:46:57 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1745, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1745 的第 1/3 次請求 2025-10-14 17:46:57 - 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 0x7e135939d710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/426a0cdc29a173fbd22eb1fe93132031 2025-10-14 17:46:57 - 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 0x7e135939e790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/426a0cdc29a173fbd22eb1fe93132031 2025-10-14 17:46:57 - 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 0x7e135939f9d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/426a0cdc29a173fbd22eb1fe93132031 2025-10-14 17:46:57 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:46:57 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:46:57 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:46:57 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:46:58 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:46:58 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:46:58 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:46:58 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:46:58 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:46:58 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:46:58 - 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 0x653ee0f424e3 <unknown> #1 0x653ee0c71c76 <unknown> #2 0x653ee0c9ad78 <unknown> #3 0x653ee0c97029 <unknown> #4 0x653ee0cd5ccc <unknown> #5 0x653ee0cd547f <unknown> #6 0x653ee0cccde3 <unknown> #7 0x653ee0ca22dd <unknown> #8 0x653ee0ca334e <unknown> #9 0x653ee0f023e4 <unknown> #10 0x653ee0f063d7 <unknown> #11 0x653ee0f10b20 <unknown> #12 0x653ee0f07023 <unknown> #13 0x653ee0ed51aa <unknown> #14 0x653ee0f2b6b8 <unknown> #15 0x653ee0f2b847 <unknown> #16 0x653ee0f3b243 <unknown> #17 0x726decc94ac3 <unknown> 2025-10-14 17:46:58 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:46:58 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:46:59 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:46:59 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:46:59 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:47:02 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:47:02 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:47:02 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:47:02 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:47:02 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1745 2025-10-14 17:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 136.9MB, CPU 0.0% 2025-10-14 17:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:47:04 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:47:04 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:47:04 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:47:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:47:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:47:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:47:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:47:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:47:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:47:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:47:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:47:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:47:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:47:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:47:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:47:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:47:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:47:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:47:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:47:54 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 975 2025-10-14 17:47:55 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:47:57 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:47:57 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:47:57 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:48:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:48:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:48:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:48:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1745 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1745) 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:48:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:48:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 191983 字節 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1332 字節 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1129 字節 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 883 字節 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2227 字節,約 385 個詞,297 行 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 240 1 黃金芒果乾(罐裝-無加糖)150g (全素) 1 × NT$ 240 小計: NT$ 240 查看購物車 結帳 搜尋 登入 購物車 NT$ 240 1 黃金芒果乾(罐裝-無加糖)150g (全素) 1 × NT$ 240 小計: NT$ 240 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “黃金芒果乾(罐裝-無加糖)150g (全素)” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:48:22 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 6/21 個網址 2025-10-14 17:48:22 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:48:22 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/server/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/server/ 的第 1/3 次請求 2025-10-14 17:48:22 - 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 0x7e13592cb410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5d2b37cebfbf347650db77ea1a3e4a04 2025-10-14 17:48:22 - 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 0x7e135927c750>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5d2b37cebfbf347650db77ea1a3e4a04 2025-10-14 17:48:22 - 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 0x7e1358fe4750>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5d2b37cebfbf347650db77ea1a3e4a04 2025-10-14 17:48:22 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:48:22 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:48:22 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:48:22 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:48:23 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:48:23 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:48:23 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:48:23 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:48:23 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:48:23 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:48:23 - 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 0x5a26c59b54e3 <unknown> #1 0x5a26c56e4c76 <unknown> #2 0x5a26c570dd78 <unknown> #3 0x5a26c570a029 <unknown> #4 0x5a26c5748ccc <unknown> #5 0x5a26c574847f <unknown> #6 0x5a26c573fde3 <unknown> #7 0x5a26c57152dd <unknown> #8 0x5a26c571634e <unknown> #9 0x5a26c59753e4 <unknown> #10 0x5a26c59793d7 <unknown> #11 0x5a26c5983b20 <unknown> #12 0x5a26c597a023 <unknown> #13 0x5a26c59481aa <unknown> #14 0x5a26c599e6b8 <unknown> #15 0x5a26c599e847 <unknown> #16 0x5a26c59ae243 <unknown> #17 0x7b717e894ac3 <unknown> 2025-10-14 17:48:23 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:48:23 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:48:24 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:48:24 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:48:24 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:48:26 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:48:26 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:48:26 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:48:26 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:48:26 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/server/ 2025-10-14 17:48:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:48:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:48:28 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:48:28 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:48:28 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 151.4MB, CPU 0.0% 2025-10-14 17:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:49:08 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 236 2025-10-14 17:49:09 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 73 2025-10-14 17:49:11 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 73,內容可能已加載完成 2025-10-14 17:49:11 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:49:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:49:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:49:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:49:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:49:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:49:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:49:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:49:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/server/ (實際 URL: https://order.fulleats.com.tw/index.php/server/) 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 114509 字節 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 355 字節 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 283 字節 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 134 字節 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 501 字節,約 93 個詞,21 行 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 線上客服 | 官方FB粉絲專頁 | 無盡好食好物-交流分享站 | | 客服信箱 | openprice2023@gmail.com | | 客服時間 | 上午 09:00 ~ 12:00 下午 13:30 ~ 19:00 晚上 20:00 ~ 21:00 (如有休息時間會額外公告) | | 官方FB粉絲專頁 | 無盡好食好物-交流分享站 | | 客服信箱 | openprice2023@gmail.com | | 客服時間 | 上午 09:00 ~ 12:00 下午 13:30 ~ 19:00 晚上 20:00 ~ 21:00 (如有休息時間會額外公告) | 通知 額外的結構化內容: 官方FB粉絲專頁 | 無盡好食好物-交流分享站 客服信箱 | openprice2023@gmail.com 客服時間 | 上午 09:00 ~ 12:00下午 13:30 ~ 19:00晚上 20:00 ~ 21:00(如有休息時間會額外公告) • 登入 • 註冊 2025-10-14 17:49:42 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 7/21 個網址 2025-10-14 17:49:42 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:49:42 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1769, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1769 的第 1/3 次請求 2025-10-14 17:49:42 - 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 0x7e1358fe7b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/58445fd24b7bd3425751a5d5456f27f0 2025-10-14 17:49:42 - 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 0x7e13591ca1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/58445fd24b7bd3425751a5d5456f27f0 2025-10-14 17:49:42 - 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 0x7e13591cb510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/58445fd24b7bd3425751a5d5456f27f0 2025-10-14 17:49:42 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:49:42 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:49:42 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:49:42 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:49:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:49: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-14 17:49:42 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:49:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:49:43 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:49: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-14 17:49: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 0x5f231ac7c4e3 <unknown> #1 0x5f231a9abc76 <unknown> #2 0x5f231a9d4d78 <unknown> #3 0x5f231a9d1029 <unknown> #4 0x5f231aa0fccc <unknown> #5 0x5f231aa0f47f <unknown> #6 0x5f231aa06de3 <unknown> #7 0x5f231a9dc2dd <unknown> #8 0x5f231a9dd34e <unknown> #9 0x5f231ac3c3e4 <unknown> #10 0x5f231ac403d7 <unknown> #11 0x5f231ac4ab20 <unknown> #12 0x5f231ac41023 <unknown> #13 0x5f231ac0f1aa <unknown> #14 0x5f231ac656b8 <unknown> #15 0x5f231ac65847 <unknown> #16 0x5f231ac75243 <unknown> #17 0x74dc99694ac3 <unknown> 2025-10-14 17:49:43 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:49:43 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:49:43 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:49:43 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:49:43 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:49:46 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:49:46 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:49:46 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:49:46 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:49:46 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1769 2025-10-14 17:49:48 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:49:48 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:49:48 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 137.0MB, CPU 0.0% 2025-10-14 17:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:50:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:50:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:50:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:50:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:50:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:50:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:50:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:50:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:50:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:50:39 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 967 2025-10-14 17:50:40 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:50:42 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:50:42 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:50:42 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1769 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1769) 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 191995 字節 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1304 字節 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1121 字節 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 885 字節 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2201 字節,約 384 個詞,297 行 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(原味)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 搜尋 登入 購物車 NT$ 130 1 紅藜飛魚餅(原味)80g 1 × NT$ 130 小計: NT$ 130 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 加入購物車 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 1 在購物車內 查看購物車 所有商品 “紅藜飛魚餅(原味)80g” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 加入購物車 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 1 在購物車內 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:51:07 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 8/21 個網址 2025-10-14 17:51:07 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/type-2 2025-10-14 17:51:07 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/type-2, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/type-2 的第 1/3 次請求 2025-10-14 17:51: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 0x7e1358fe51d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/240ad69e3e81d72ae9c0c22113320258 2025-10-14 17:51: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 0x7e1358e06310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/240ad69e3e81d72ae9c0c22113320258 2025-10-14 17:51: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 0x7e1358e06790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/240ad69e3e81d72ae9c0c22113320258 2025-10-14 17:51:07 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:51:07 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:51:07 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:51:07 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:51:07 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:51: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-14 17:51:07 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:51:08 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:51:08 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:51: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-14 17:51: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 0x636f1ed234e3 <unknown> #1 0x636f1ea52c76 <unknown> #2 0x636f1ea7bd78 <unknown> #3 0x636f1ea78029 <unknown> #4 0x636f1eab6ccc <unknown> #5 0x636f1eab647f <unknown> #6 0x636f1eaadde3 <unknown> #7 0x636f1ea832dd <unknown> #8 0x636f1ea8434e <unknown> #9 0x636f1ece33e4 <unknown> #10 0x636f1ece73d7 <unknown> #11 0x636f1ecf1b20 <unknown> #12 0x636f1ece8023 <unknown> #13 0x636f1ecb61aa <unknown> #14 0x636f1ed0c6b8 <unknown> #15 0x636f1ed0c847 <unknown> #16 0x636f1ed1c243 <unknown> #17 0x70a4f0494ac3 <unknown> 2025-10-14 17:51:08 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:51:08 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:51:09 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:51:09 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/type-2 2025-10-14 17:51:09 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/type-2 2025-10-14 17:51:09 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/type-2 2025-10-14 17:51:09 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:51:09 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:51:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:51:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:51:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:51:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:51:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:51:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:51:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:51:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:51:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:51:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:51:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:51:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:51:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:51:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:51:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:51:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 151.8MB, CPU 0.0% 2025-10-14 17:51:49 - INFO - WebScraper - [scraper.py:1202] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-14 17:51:49 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/type-2 2025-10-14 17:51:51 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax 2025-10-14 17:51:51 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-14 17:51:51 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-14 17:51:51 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-14 17:51:55 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 4 2025-10-14 17:51:57 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 4,內容可能已加載完成 2025-10-14 17:51:57 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:52:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:52:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:52:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:52:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:52:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:52:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:52:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:52:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:52:27 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/type-2 (實際 URL: https://order.fulleats.com.tw/type-2) 2025-10-14 17:52:27 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:52:27 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:52:27 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:52:27 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 880 字節 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 121 字節 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 121 字節 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 121 字節,約 18 個詞,3 行 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: Not Found The requested URL was not found on this server. Apache/2.4.52 (Ubuntu) Server at order.fulleats.com.tw Port 443 2025-10-14 17:52:28 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 9/21 個網址 2025-10-14 17:52:28 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:52:28 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/?add-to-cart=1599, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/?add-to-cart=1599 的第 1/3 次請求 2025-10-14 17:52: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 0x7e135943e410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e463a26b39aadd1b54c242ba2a11d710 2025-10-14 17:52: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 0x7e135380e1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e463a26b39aadd1b54c242ba2a11d710 2025-10-14 17:52: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 0x7e135380eb90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e463a26b39aadd1b54c242ba2a11d710 2025-10-14 17:52:28 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:52:28 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:52:28 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:52:28 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:52:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:52: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-14 17:52:28 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:52:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:52:28 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:52:29 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:52: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 0x57c4a5cf64e3 <unknown> #1 0x57c4a5a25c76 <unknown> #2 0x57c4a5a4ed78 <unknown> #3 0x57c4a5a4b029 <unknown> #4 0x57c4a5a89ccc <unknown> #5 0x57c4a5a8947f <unknown> #6 0x57c4a5a80de3 <unknown> #7 0x57c4a5a562dd <unknown> #8 0x57c4a5a5734e <unknown> #9 0x57c4a5cb63e4 <unknown> #10 0x57c4a5cba3d7 <unknown> #11 0x57c4a5cc4b20 <unknown> #12 0x57c4a5cbb023 <unknown> #13 0x57c4a5c891aa <unknown> #14 0x57c4a5cdf6b8 <unknown> #15 0x57c4a5cdf847 <unknown> #16 0x57c4a5cef243 <unknown> #17 0x76ab99e94ac3 <unknown> 2025-10-14 17:52:29 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:52:29 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:52:29 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:52:29 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:52:29 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:52:32 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:52:32 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:52:32 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:52:32 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:52:32 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/?add-to-cart=1599 2025-10-14 17:52:34 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:52:34 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:52:34 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 175.7MB, CPU 0.0% 2025-10-14 17:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:53:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:53:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:53:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:53:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:53:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:53:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:53:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:53:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:53:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:53:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:53:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:53:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:53:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:53:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:53:24 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 969 2025-10-14 17:53:25 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 222 2025-10-14 17:53:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:53:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:53:27 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 222,內容可能已加載完成 2025-10-14 17:53:27 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:53:27 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-14 17:53:52 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/?add-to-cart=1599 (實際 URL: https://order.fulleats.com.tw/?add-to-cart=1599) 2025-10-14 17:53:52 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:53:52 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:53:52 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:53:52 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 190415 字節 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 250 字節 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1310 字節 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1123 字節 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 885 字節 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2207 字節,約 387 個詞,297 行 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 250 1 土雞蛋捲300g (蛋奶素) 1 × NT$ 250 小計: NT$ 250 查看購物車 結帳 搜尋 登入 購物車 NT$ 250 1 土雞蛋捲300g (蛋奶素) 1 × NT$ 250 小計: NT$ 250 查看購物車 結帳 選單 ⭐ 加入會員,將不定期獲得更多優惠活動 🛒 第一次購物,單筆消費滿 $1,500 可現折 $150,趕緊下單購買! 🎁 追蹤本官方FB粉絲專頁,可獲得 $100 抵用券,單筆消費滿 $1,000 可折抵使用~ 🏪 超商取貨一律優惠價 $45 🚚 購物日同當月月份,可享有 $0 免運費 ✅ 複製成功! 買芒果乾 送 便當 超勁爆 00 天 : 00 小時 : 00 分鐘 : 00 秒 瞭解更多 活動已結束,謝謝大家選購! – 目前無限時優惠活動 – 熱銷前TOP5 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 查看購物車 土雞蛋捲300g (蛋奶素) NT$ 250 1 在購物車內 查看購物車 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 選擇規格 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 紅藜飛魚餅(原味)80g NT$ 130 加入購物車 查看購物車 所有商品 “土雞蛋捲300g (蛋奶素)” 已加入您的購物車 查看購物車 顯示所有 10 筆結果 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$ 230 – NT$ 2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 土雞蛋捲300g (蛋奶素) NT$ 250 評分 4.99 滿分 5 加入購物車 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 木虌果米乖乖哈密瓜風味52g NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$ 60 評分 4.67 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 紅藜飛魚餅(芥末椒鹽)80g NT$ 130 評分 5.00 滿分 5 加入購物車 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 黃金芒果乾(罐裝-無加糖)150g (全素) NT$ 240 評分 5.00 滿分 5 加入購物車 通知 額外的結構化內容: • 登入 • 註冊 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 查看購物車 • 土雞蛋捲300g (蛋奶素) NT$250 1 在購物車內 查看購物車 • 促銷 特價商品 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 選擇規格 • 促銷 特價商品 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 • 紅藜飛魚餅(原味)80g NT$130 加入購物車 查看購物車 • 4% OFF 台東紅烏龍茶餅(15片入/盒)150g (蛋奶素) NT$230 – NT$2,640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 土雞蛋捲300g (蛋奶素) NT$250 評分 4.99 滿分 5加入購物車 • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 木虌果米乖乖哈密瓜風味52g NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅烏龍茶/夏雪芒果/木虌果米乖乖組 (奶素) NT$60 評分 4.67 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 紅藜飛魚餅(芥末椒鹽)80g NT$130 評分 5.00 滿分 5加入購物車 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 黃金芒果乾(罐裝-無加糖)150g (全素) NT$240 評分 5.00 滿分 5加入購物車 2025-10-14 17:53:53 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 10/21 個網址 2025-10-14 17:53:53 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:53:53 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/blognews/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/blognews/ 的第 1/3 次請求 2025-10-14 17:53:53 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13591cb5d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9217e08cd3f78bf781999e0e3dc3497c 2025-10-14 17:53:53 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353510750>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9217e08cd3f78bf781999e0e3dc3497c 2025-10-14 17:53:53 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353511b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9217e08cd3f78bf781999e0e3dc3497c 2025-10-14 17:53:53 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:53:53 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:53:53 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:53:53 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:53:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:53:53 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:53:53 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:53:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:53:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:53:54 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:53:54 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x5948d96634e3 <unknown> #1 0x5948d9392c76 <unknown> #2 0x5948d93bbd78 <unknown> #3 0x5948d93b8029 <unknown> #4 0x5948d93f6ccc <unknown> #5 0x5948d93f647f <unknown> #6 0x5948d93edde3 <unknown> #7 0x5948d93c32dd <unknown> #8 0x5948d93c434e <unknown> #9 0x5948d96233e4 <unknown> #10 0x5948d96273d7 <unknown> #11 0x5948d9631b20 <unknown> #12 0x5948d9628023 <unknown> #13 0x5948d95f61aa <unknown> #14 0x5948d964c6b8 <unknown> #15 0x5948d964c847 <unknown> #16 0x5948d965c243 <unknown> #17 0x786562294ac3 <unknown> 2025-10-14 17:53:54 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:53:54 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:53:54 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:53:54 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:53:54 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:53:56 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:53:56 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:53:56 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:53:56 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:53:56 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/blognews/ 2025-10-14 17:53:58 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:53:58 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:53:58 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:54:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:54:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:54:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:54:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:54:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:54:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:54:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:54:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 179.7MB, CPU 0.0% 2025-10-14 17:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:54:49 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 21 2025-10-14 17:54:50 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 68 2025-10-14 17:54:52 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 68,內容可能已加載完成 2025-10-14 17:54:52 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/blognews/ (實際 URL: https://order.fulleats.com.tw/index.php/blognews/) 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 114526 字節 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 179 字節 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 162 字節 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 162 字節,約 36 個詞,26 行 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 最新消息 通知 2025-10-14 17:55:22 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 11/21 個網址 2025-10-14 17:55:22 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:55:22 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/cart-2-2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/cart-2-2/ 的第 1/3 次請求 2025-10-14 17:55:22 - 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 0x7e1353793350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f084967e9818875b0500027f524ce481 2025-10-14 17:55:22 - 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 0x7e13537929d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f084967e9818875b0500027f524ce481 2025-10-14 17:55:22 - 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 0x7e13537921d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f084967e9818875b0500027f524ce481 2025-10-14 17:55:22 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:55:22 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:55:22 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:55:22 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:55:22 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:55:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:55:22 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip 2025-10-14 17:55:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:55:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:55:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:55:22 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:55:22 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:55:23 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:55:23 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:55:23 - 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 0x56befd6024e3 <unknown> #1 0x56befd331c76 <unknown> #2 0x56befd35ad78 <unknown> #3 0x56befd357029 <unknown> #4 0x56befd395ccc <unknown> #5 0x56befd39547f <unknown> #6 0x56befd38cde3 <unknown> #7 0x56befd3622dd <unknown> #8 0x56befd36334e <unknown> #9 0x56befd5c23e4 <unknown> #10 0x56befd5c63d7 <unknown> #11 0x56befd5d0b20 <unknown> #12 0x56befd5c7023 <unknown> #13 0x56befd5951aa <unknown> #14 0x56befd5eb6b8 <unknown> #15 0x56befd5eb847 <unknown> #16 0x56befd5fb243 <unknown> #17 0x7787d4294ac3 <unknown> 2025-10-14 17:55:23 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:55:23 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:55:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:55:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:55:23 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:55:23 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:55:23 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:55:26 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:55:26 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:55:26 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:55:26 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:55:26 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/cart-2-2/ 2025-10-14 17:55:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:55:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:55:28 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:55:28 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:55:28 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 179.7MB, CPU 0.0% 2025-10-14 17:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:56:08 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 432 2025-10-14 17:56:09 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 75 2025-10-14 17:56:11 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 75,內容可能已加載完成 2025-10-14 17:56:11 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:56:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:56:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:56:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:56:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:56:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:56:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:56:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:56:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:56:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:56:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:56:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:56:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:56:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 17:56:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-14 17:56:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:56:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:56:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:56:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:56:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:56:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-14 17:56:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:56:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-14 17:56:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:56:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-14 17:56:41 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/cart-2-2/ (實際 URL: https://order.fulleats.com.tw/index.php/cart-2-2/) 2025-10-14 17:56:41 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:56:41 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:56:41 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:56:41 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 133734 字節 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 368 字節 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 480 字節 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 331 字節 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 480 字節,約 47 個詞,36 行 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 購物車 🔔 如有購買需宅配的商品,運送方式為「宅配」,並以宅配運費計算,無法提供超商取貨,以確保易碎商品的完整性。 🔔 若選擇超商配送,系統已自動折扣 NT$15。 您的購物車裡還沒有任何商品。 回到商店 優惠券使用說明 .優惠券係指「本官網全面優惠」、「首購禮」、「追蹤禮」等,僅可擇一使用。 .首購禮:指新顧客第一次購物的優惠禮物,單筆消費滿1,500元可現折150元,使用次數為1次,但「無法與點數」一起使用。 .追蹤禮:追蹤本官方FB粉絲專頁的顧客,需截圖畫面並傳訊息給粉專的服務人員,確認無發放與使用後,服務人員會給顧客優惠券代碼,即可購物時輸入折抵使用,單筆消費滿1000元可折抵100元,使用次數為1次,但「無法與點數」一起使用。 通知 2025-10-14 17:56:42 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 12/21 個網址 2025-10-14 17:56:42 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:56:42 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/prae/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:20 秒 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/prae/ 的第 1/3 次請求 2025-10-14 17:56:42 - 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 0x7e1358eaecd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/054962fe7faccabffc5fc9c8c59bfc42 2025-10-14 17:56:42 - 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 0x7e1353802f90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/054962fe7faccabffc5fc9c8c59bfc42 2025-10-14 17:56:42 - 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 0x7e13537b0510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/054962fe7faccabffc5fc9c8c59bfc42 2025-10-14 17:56:42 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:56:42 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:56:42 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:56:42 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:56:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:56: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-14 17:56:42 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:56:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:56:42 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:56: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-14 17:56: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 0x5f902ac6e4e3 <unknown> #1 0x5f902a99dc76 <unknown> #2 0x5f902a9c6d78 <unknown> #3 0x5f902a9c3029 <unknown> #4 0x5f902aa01ccc <unknown> #5 0x5f902aa0147f <unknown> #6 0x5f902a9f8de3 <unknown> #7 0x5f902a9ce2dd <unknown> #8 0x5f902a9cf34e <unknown> #9 0x5f902ac2e3e4 <unknown> #10 0x5f902ac323d7 <unknown> #11 0x5f902ac3cb20 <unknown> #12 0x5f902ac33023 <unknown> #13 0x5f902ac011aa <unknown> #14 0x5f902ac576b8 <unknown> #15 0x5f902ac57847 <unknown> #16 0x5f902ac67243 <unknown> #17 0x704498e94ac3 <unknown> 2025-10-14 17:56:43 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:56:43 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:56:43 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:56:43 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:56:43 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:56:45 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:56:45 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:56:45 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:56:45 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:56:45 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/prae/ 2025-10-14 17:56:47 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:56:47 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:56:47 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:57:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:57:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:57:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:57:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:57:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:57:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:57:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:57:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:57:28 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 949 2025-10-14 17:57:29 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 77 2025-10-14 17:57:31 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 77,內容可能已加載完成 2025-10-14 17:57:31 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 179.7MB, CPU 0.0% 2025-10-14 17:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/prae/ (實際 URL: https://order.fulleats.com.tw/index.php/prae/) 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 115910 字節 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 905 字節 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 995 字節 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 850 字節 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 995 字節,約 67 個詞,49 行 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 商品退換貨須知 付款方式 ● 信用卡即時線上一次刷卡付款方便又好用的付款方式,當您選擇線上刷卡方式進行交易時,作業流程透過SSL加密機制,保障您的個人隱私資料。 ● ATM付款適用沒有信用卡或者不方便前往超商取貨付款的消費者。使用ATM付款方式只需將訂單款項透過實體/網路ATM或者網路銀行直接匯入系統指定帳號即可完成付款。 ● 貨到付款適用沒有信用卡或者不方便前往超商取貨付款的客戶。使用貨到付款方式只需於配達貨物時,將訂單款項以新台幣現金的方式繳款即可完成付款。 運送方式 1.帳款確認後將立即處理您的訂單,您將於工作日內(實際依每個商品頁面資訊為主,不含週六日及國定例假日)收到訂購之商品。 2.您的商品會經由倉管評估材積、需求後 以 黑貓宅急便/宅配通/嘉里大榮等物流業者 寄送商品。 3.配送範圍限台灣本島各縣市(不含郵政信箱)。 4.如本店無法接受您的訂單,將於收到您的訂單後三個工作日內通知您。但法令另有規定者除外。 5.為保障交易資料安全,訂單成立後,所有訂單資訊是無法修改的,包含商品規格/付款方式/收件資訊等。 退換貨說明 凡購買 無盡 商品,消費者均享有產品鑑賞期(請依商品頁面規範為主)內退貨權益,如收到商品後請於24小時內與我們聯繫( FB官方粉絲專頁 ),但凡申請退貨時敬請保持原包裝商品完整,收到退貨申請後隔日起算約7個工作天內(不含例假日),將會有物流司機前去跟您收取退貨,因此請保持商品完整性,也請您耐心等候並後續留意物流電話通知,我們會全力保障您的退貨權宜。 【退貨處理方式】 1.生鮮不接受退貨,其他商品超過鑑賞期均不可退貨。 2.未超過鑑賞期(鑑賞期非試用期及猶豫期) 3.收到商品與訂單商品不符。 4.發現商品有瑕疵或損壞等問題。 5.商品保持包裝完整性。 6.當退貨時,金額未達活動或組合優惠標準,留下商品將會以單品原價計算。 7.退貨時,訂單未達滿額資格,贈品將於退回時一併寄回。 8.退貨原因非賣方構成,運費由消費者自行付擔。 通知 2025-10-14 17:58:01 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 13/21 個網址 2025-10-14 17:58:01 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:58:01 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/mbservices/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/mbservices/ 的第 1/3 次請求 2025-10-14 17:58:01 - 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 0x7e13538f2bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/58853ec0935deba54d57832369bff304 2025-10-14 17:58:01 - 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 0x7e13538f3290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/58853ec0935deba54d57832369bff304 2025-10-14 17:58:01 - 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 0x7e13538f1450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/58853ec0935deba54d57832369bff304 2025-10-14 17:58:01 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:58:01 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:58:01 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:58:01 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:58:01 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:58: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-14 17:58:01 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:58:02 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:58:02 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:58: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-14 17:58:02 - 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 0x61f853f5c4e3 <unknown> #1 0x61f853c8bc76 <unknown> #2 0x61f853cb4d78 <unknown> #3 0x61f853cb1029 <unknown> #4 0x61f853cefccc <unknown> #5 0x61f853cef47f <unknown> #6 0x61f853ce6de3 <unknown> #7 0x61f853cbc2dd <unknown> #8 0x61f853cbd34e <unknown> #9 0x61f853f1c3e4 <unknown> #10 0x61f853f203d7 <unknown> #11 0x61f853f2ab20 <unknown> #12 0x61f853f21023 <unknown> #13 0x61f853eef1aa <unknown> #14 0x61f853f456b8 <unknown> #15 0x61f853f45847 <unknown> #16 0x61f853f55243 <unknown> #17 0x7ded34e94ac3 <unknown> 2025-10-14 17:58:02 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:58:02 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:58:03 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:58:03 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:58:03 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:58:05 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:58:05 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:58:05 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:58:05 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:58:05 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/mbservices/ 2025-10-14 17:58:07 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:58:07 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:58:07 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:58:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:58:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:58:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:58:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:58:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:58:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:58:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:58:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:58:47 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 748 2025-10-14 17:58:48 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 75 2025-10-14 17:58:50 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 75,內容可能已加載完成 2025-10-14 17:58:50 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 17:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 17:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 17:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 179.7MB, CPU 0.0% 2025-10-14 17:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.7MB, CPU 0.0% 2025-10-14 17:59:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:59:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:59:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:59:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:59:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:59:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/mbservices/ (實際 URL: https://order.fulleats.com.tw/index.php/mbservices/) 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 121358 字節 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 707 字節 2025-10-14 17:59:20 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 799 字節 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 651 字節 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 799 字節,約 56 個詞,42 行 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 會員服務 會員點數規則說明 .單筆消費滿200元(以商品本身折扣後金額結算,不包含運費),於訂單完成後可獲得點數1點,1點 = 1元,可在下次購物時結帳折抵金額使用。 .點數使用期以年度計算「期限為次年年底」,例如:2025/1/5消費所累積點數,將於2026/12/31止過期。 .若遇到商品瑕疵、損壞與商品與訂單不對等問題,包含未超過鑑賞期(鑑賞期非試用期及猶豫期),造成金額異動以及退換貨的狀況,無盡有權依照最終金額扣除/補發點數,或要求歸還點數。 .無盡保有以上事項的修改、變更或暫停之權利,如有未盡事宜,依本官網公告為主。相關隱私權政策請詳閱無盡 隱私權及網站使用條 。 點數 舉 例說明 1. 例:消費金額為1,500元,本官網期間優惠9折,計算方式1,500*0.9=1,350元(不含運費),訂單完成後可獲得6點,下次購物時結帳可折抵6元。 2. 例:2025/5/20所獲取點數6點,點數截止日為2026/12/31止過期。 優惠券使用說明 .優惠券係指「本官網全面優惠」、「首購禮」、「追蹤禮」等,僅可擇一使用。 .首購禮:指新顧客第一次購物的優惠禮物,單筆消費滿1,500元可現折150元,使用次數為1次,但「無法與點數」一起使用。 .追蹤禮:追蹤本官方FB粉絲專頁的顧客,需截圖畫面並傳訊息給粉專的服務人員,確認無發放與使用後,服務人員會給顧客優惠券代碼,即可購物時輸入折抵使用,單筆消費滿1000元可折抵100元,使用次數為1次,但「無法與點數」一起使用。 通知 2025-10-14 17:59:21 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 14/21 個網址 2025-10-14 17:59:21 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:59:21 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/0016/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/0016/ 的第 1/3 次請求 2025-10-14 17:59: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 0x7e135377c1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2fe4fde43ef71a245c8fbb6d5ac30c18 2025-10-14 17:59: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 0x7e135935c950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2fe4fde43ef71a245c8fbb6d5ac30c18 2025-10-14 17:59: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 0x7e135935d390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2fe4fde43ef71a245c8fbb6d5ac30c18 2025-10-14 17:59:21 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 17:59:21 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 17:59:21 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 17:59:21 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 17:59:21 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:59: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-14 17:59:21 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 17:59:21 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:59:21 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 17:59:21 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 17:59: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 0x55e0f8fa44e3 <unknown> #1 0x55e0f8cd3c76 <unknown> #2 0x55e0f8cfcd78 <unknown> #3 0x55e0f8cf9029 <unknown> #4 0x55e0f8d37ccc <unknown> #5 0x55e0f8d3747f <unknown> #6 0x55e0f8d2ede3 <unknown> #7 0x55e0f8d042dd <unknown> #8 0x55e0f8d0534e <unknown> #9 0x55e0f8f643e4 <unknown> #10 0x55e0f8f683d7 <unknown> #11 0x55e0f8f72b20 <unknown> #12 0x55e0f8f69023 <unknown> #13 0x55e0f8f371aa <unknown> #14 0x55e0f8f8d6b8 <unknown> #15 0x55e0f8f8d847 <unknown> #16 0x55e0f8f9d243 <unknown> #17 0x78cc53e94ac3 <unknown> 2025-10-14 17:59:22 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 17:59:22 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 17:59:22 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 17:59:22 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:59:22 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:59:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-14 17:59:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-14 17:59:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:59:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:59:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:59:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 17:59:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:59:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-14 17:59:24 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:59:24 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 17:59:24 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 17:59:25 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 17:59:25 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/0016/ 2025-10-14 17:59:27 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 17:59:27 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 17:59:27 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 17:59:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 17:59:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 18:00:17 - INFO - WebScraper - [scraper.py:1707] - _wait_for_spa_content - SPA內容已加載在容器 main,內容長度: 1006 2025-10-14 18:00:18 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 231 2025-10-14 18:00:20 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 231,內容可能已加載完成 2025-10-14 18:00:20 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容... 2025-10-14 18:00:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 18:00:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 18:00:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 18:00:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 18:00:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 18:00:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 18:00:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-14 18:00:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-14 18:00:30 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-14 18:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0% 2025-10-14 18:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0% 2025-10-14 18:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 0, 記憶體 179.7MB, CPU 0.0% 2025-10-14 18:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 205.8MB, CPU 0.0% 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://order.fulleats.com.tw/index.php/product/0016/ (實際 URL: https://order.fulleats.com.tw/index.php/product/0016/) 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577487488: 關閉 WebDriver 實例 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 155779 字節 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1036 字節 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1729 字節 2025-10-14 18:00:45 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1811 字節 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 664 字節 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2405 字節,約 362 個詞,242 行 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 服務時間 早上 09:00 - 12:00 下午 13:30 - 19:00 晚上 20:00 - 21:00 如有休息時間會額外公告喔! 登入 註冊 ← 回到登入頁面 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 搜尋 登入 購物車 NT$ 0 0 購物車內沒有任何商品。 選單 🔍 紅藜飛魚餅(芥末椒鹽)80g 評分 5.00 / 5,已有 1 位顧客進行評分 ( 1 則顧客評價) NT$ 130 促銷活動 10% 優惠 NT$ 100 優惠 NT$ 150 優惠 促銷活動 會員日9折 會員限定|最低消費金額 NT$0 有效期限: 2025-10-29 使用優惠券 粉專追蹤禮 最低消費金額 NT$1000 (僅使用一次) 無使用期限 使用優惠券 首購禮 NT$150 最低消費金額 NT$1500 (僅使用一次) 無使用期限 使用優惠券 預計出貨日: 2日內 (訂單成立後隔日計算) ◾ 採用當地台東米、紅藜與新鮮飛魚餅製成 ◾ 無添加防腐劑 ◾ 無添加精糖、人工色素 ◾ 採用D-Oil離心去油,輕鬆享受美味 貨號: TTC0010 分類: 台東-零食餅乾Cookie 標籤: 休閒零食 , 伴手禮 , 台東 , 手工餅乾 , 海味 , 紅藜 , 美食 , 肉乾 , 肉鬆 , 芥末椒鹽 , 蘭嶼 , 飛魚餅 品牌: 聯合款-太陽農場/信華農特產 描述 額外資訊 評價 (1) ID:0016 📆有效日期:2025.09.08 可否配送 配送方式 配送說明 ✅ 超商取貨 一箱最多可裝『9包』 ✅ 宅配到府 一箱最多可裝『9包』,第二箱需多酌收運費呦 如想購買其他商品組合以及瞭解多件運費 可聯繫 客服人員 📔詳細” 商品規格 “及” 退換貨須知 “,請往下滑 ————————————————————– 本賣場以誠信為原則,從選品→售後服務, 都經過一系列的執行、把關與改善, 還請大家安心食用~ ————————————————————– 大眾滿意度:⭐⭐⭐⭐⭐ 【商品介紹】 選用台東米、富含高營養價值的紅藜,以及上等新鮮飛魚餅為主要原料,台東米與飛魚餅兩者比例高達45%,並採用19道工法的製程,製作出鮮酥頂級的飛魚餅,保留最純粹的米香、飛魚的鮮美。 飛魚餅厚薄適中,外層的酥脆感與內裡的米香交織在一起,飛魚的鮮美滋味猶如飛魚滑出水面般的前仆後繼,迅速佔滿整個味蕾,讓人完全無法抵擋,加入紅藜芥末椒鹽,豐富口感的層次,不僅是美味,而是能享用到來自黑潮的神祕海味及在地特色美食,越吃越刷嘴! 【商品規格】 產地 台東 規格 80g/包 成分 台東米、飛魚漿、魚漿、木薯澱粉、玉米澱粉、小麥澱粉、棕櫚油、糖、鹽、味精、純白胡椒粉、黑胡椒、蒜粉、辣椒粉、花椒粉、紅藜粉、芥末椒鹽粉 保存期限 未開封常溫保存8個月 保存方式 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 本產品含有魚漿、小麥澱粉,不適合對其過敏者食用 注意事項 未滿一歲以下嬰幼兒不宜食用 資訊 .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 7.7 x 21 x 27.5 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .V-112900701-00000-9 .出貨地:臺東縣臺東市 紅藜飛魚餅(芥末椒鹽)80g 共有 1 則評價 評分 5 滿分 5 fullE – 2025 年 4 月 16 日 2025-04-12 21:20 | 規格: 紅藜芥末椒鹽飛魚餅 評價來源:蝦皮購物賣場-無盡Endlessly 新增評價 取消回覆 相關商品 17% OFF 夏雪芒果米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 鳳梨釋迦氣泡飲330ml NT$ 60 加入購物車 紅藜飛魚餅(原味)80g NT$ 130 評分 5.00 滿分 5 加入購物車 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$ 60 – NT$ 600 評分 5.00 滿分 5 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 通知 額外的結構化內容: 可否配送 | 配送方式 | 配送說明 ✅ | 超商取貨 | 一箱最多可裝『9包』 ✅ | 宅配到府 | 一箱最多可裝『9包』,第二箱需多酌收運費呦 產地 | 台東 規格 | 80g/包 成分 | 台東米、飛魚漿、魚漿、木薯澱粉、玉米澱粉、小麥澱粉、棕櫚油、糖、鹽、味精、純白胡椒粉、黑胡椒、蒜粉、辣椒粉、花椒粉、紅藜粉、芥末椒鹽粉 保存期限 | 未開封常溫保存8個月 保存方式 | 請避免陽光直射及高溫處,開封後請儘速食用完畢 過敏原 | 本產品含有魚漿、小麥澱粉,不適合對其過敏者食用 注意事項 | 未滿一歲以下嬰幼兒不宜食用 資訊 | .預計出貨日:2日內 (訂單成立後隔日計算) .尺寸:長 x 寬 x 高 = 7.7 x 21 x 27.5 公分(以人工丈量會有些微誤差) .食品業者登錄字號: .V-112900701-00000-9 .出貨地:臺東縣臺東市 • 登入 • 註冊 • • • • • 描述 • 額外資訊 • 評價 (1) • 17% OFF 夏雪芒果米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 鳳梨釋迦氣泡飲330ml NT$60 加入購物車 • 紅藜飛魚餅(原味)80g NT$130 評分 5.00 滿分 5加入購物車 • 17% OFF 紅烏龍茶米乖乖52g (奶素) NT$60 – NT$600 評分 5.00 滿分 5選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-14 18:00:46 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=77):已完成 15/21 個網址 2025-10-14 18:00:46 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 18:00:46 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://order.fulleats.com.tw/index.php/product/tc1/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:21 秒 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://order.fulleats.com.tw/index.php/product/tc1/ 的第 1/3 次請求 2025-10-14 18:00:46 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1359e30350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/396d8318ab0d9b93721301a3c3ce9695 2025-10-14 18:00:46 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135943c490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/396d8318ab0d9b93721301a3c3ce9695 2025-10-14 18:00:46 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13536b0450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/396d8318ab0d9b93721301a3c3ce9695 2025-10-14 18:00:46 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-14 18:00:46 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths' 2025-10-14 18:00:46 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理 2025-10-14 18:00:46 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ====== 2025-10-14 18:00:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 18:00: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-14 18:00:46 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200 2025-10-14 18:00:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 18:00:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome 2025-10-14 18:00:46 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90] 2025-10-14 18:00:47 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Stacktrace: #0 0x58218fa414e3 <unknown> #1 0x58218f770c76 <unknown> #2 0x58218f799d78 <unknown> #3 0x58218f796029 <unknown> #4 0x58218f7d4ccc <unknown> #5 0x58218f7d447f <unknown> #6 0x58218f7cbde3 <unknown> #7 0x58218f7a12dd <unknown> #8 0x58218f7a234e <unknown> #9 0x58218fa013e4 <unknown> #10 0x58218fa053d7 <unknown> #11 0x58218fa0fb20 <unknown> #12 0x58218fa06023 <unknown> #13 0x58218f9d41aa <unknown> #14 0x58218fa2a6b8 <unknown> #15 0x58218fa2a847 <unknown> #16 0x58218fa3a243 <unknown> #17 0x74fb46a94ac3 <unknown> 2025-10-14 18:00:47 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver 2025-10-14 18:00:47 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver 2025-10-14 18:00:47 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver 2025-10-14 18:00:47 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 18:00:47 - INFO - WebScraper - [scraper.py:172] - _configure_session_aware_timeouts - 檢測到複雜 session 網站,已延長超時時間: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 18:00:50 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 18:00:50 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載 2025-10-14 18:00:50 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete 2025-10-14 18:00:50 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main 2025-10-14 18:00:50 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://order.fulleats.com.tw/index.php/product/tc1/ 2025-10-14 18:00:52 - INFO - WebScraper - [scraper.py:1610] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-14 18:00:52 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: spa 2025-10-14 18:00:52 - INFO - WebScraper - [scraper.py:1220] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-14 18:01:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 18:01:14 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_17.log,新:20251014_18.log 2025-10-14 18:01:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 18:01:17 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_17.log,新:20251014_18.log 2025-10-14 18:01:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 18:01:20 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_17.log,新:20251014_18.log 2025-10-14 18:01:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-14 18:01:21 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_17.log,新:20251014_18.log