日誌查看 - 20251017_06.log
文件大小: 1302.21 KB 最後修改: 2025-10-17 07:04:07
2025-10-17 06:03:57 - 初始化新小時日誌檔案 2025-10-17 06:03:57 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251017_06.log 2025-10-17 06:03:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-17 06:04:00 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251017_06.log 2025-10-17 06:04:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-17 06:04:00 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251017_06.log 2025-10-17 06:04:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-17 06:04:01 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251017_06.log 2025-10-17 06:04:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-10-17 06:04:13 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: m5x3pd982x 2025-10-17 06:04:13 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://poket.easy.co/,結果將立即顯示 2025-10-17 06:04:13 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 127, Phone: 0928363250, Email: vivien3250@gmail.com 2025-10-17 06:04:13 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=127, URL=https://poket.easy.co/ 2025-10-17 06:04:13 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-17 06:04:13 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 127 2025-10-17 06:04:13 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://poket.easy.co/ 2025-10-17 06:04:13 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/ 的第 1/3 次請求 2025-10-17 06:04:13 - 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 0x7de20db78c10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8f4ab9a3094c2e3b6c2787bc8ac3a341 2025-10-17 06:04:13 - 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 0x7de20db78590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8f4ab9a3094c2e3b6c2787bc8ac3a341 2025-10-17 06:04:13 - 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 0x7de20dfa54d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8f4ab9a3094c2e3b6c2787bc8ac3a341 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_ff36cec6_8r6l5pgq 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:04:13 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409830688016 (1/3) 2025-10-17 06:04:13 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/ 2025-10-17 06:04:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:04:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:04:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 0/1 2025-10-17 06:04:14 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/ 2025-10-17 06:04:15 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:04:15 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:04:15 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:04:15 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/ 2025-10-17 06:04:17 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:04:17 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:04:17 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:04:17 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:04:17 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:04:21 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 267 2025-10-17 06:04:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:04:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:04:23 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 267,內容可能已加載完成 2025-10-17 06:04:23 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:04:23 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:04:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:04:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-17 06:04:23 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:04:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 0/1 2025-10-17 06:04:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:04:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:04:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 0/1 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/ (實際 URL: https://poket.easy.co/) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:04:44 - INFO - database - [database.py:505] - update_url_status - URL ID 127 状态已更新为 processing 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 228294 字節 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 265 字節 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2200 字節 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2151 字節 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 3106 字節 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 5318 字節,約 827 個詞,1005 行 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 Everglow Holiday where comfort meets design Poket the Style. feel-good outfits for slow days Not trying, just glowing. minimal comfort, maximal charm Unfold your mood calm, soft, and quietly confident Poket your favorite look effortless looks for everyday 「來自首爾的時尚,輕鬆裝進你的口袋。」 人氣熱銷 瀏覽全部 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 率性牛仔長褲 Regular price NT$ 1,780 Sale price NT$ 1,780 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 1 / 1 瀏覽全部 「專注於挑選韓國女裝,帶給您自在穿搭的質感單品。」 韓國女裝 瀏覽全部 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 1 / 17 瀏覽全部 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • Everglow Holiday where comfort meets design • Poket the Style. feel-good outfits for slow days • Not trying, just glowing. minimal comfort, maximal charm • Unfold your mood calm, soft, and quietly confident • Poket your favorite look effortless looks for everyday • • • • • • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 率性牛仔長褲 Regular price NT$ 1,780 Sale price NT$ 1,780 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 • 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 • Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 • 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 • 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 • 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 • V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • • 2025-10-17 06:04:44 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://poket.easy.co/, HTML 內容大小=228294 字節 2025-10-17 06:04:44 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://poket.easy.co/, 發現問題數=7, 嚴重問題數=2, 耗時=0.055秒 2025-10-17 06:04:44 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_external_script(4), suspicious_inline_script(1), form(2) 2025-10-17 06:04:44 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(5), warning(2) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2813] - find_internal_links - 從HTML靜態內容中提取了 59 個內部鏈接 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://poket.easy.co/legal/terms-of-service (匹配模式: /terms) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://poket.easy.co/account/register (匹配模式: /register) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://poket.easy.co/legal/privacy-policy (匹配模式: /privacy) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://poket.easy.co/account/login (匹配模式: /login) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2962] - find_internal_links - 鏈接分類完成 - 聯絡資訊頁面: 0 個(不限數量),普通頁面: 55 個(限制 20 個) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:2993] - find_internal_links - 普通頁面數量 (55) 超過限制 (20),保留前 20 個 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:3002] - find_internal_links - 最終返回 20 個鏈接 - 聯絡資訊頁面: 0 個,普通頁面: 20 個 2025-10-17 06:04:44 - INFO - main - [url_processor.py:160] - process_url - 找到 20 個內部鏈接 - 聯絡資訊頁面: 0 個(優先審核),普通頁面: 20 個(限制20個) 2025-10-17 06:04:44 - INFO - main - [url_processor.py:194] - process_url - 更新 UI 審核進度(URL ID=127):總計 21 個網址,已完成 1 個(主頁面),待審核: 0 個聯絡頁面 + 20 個普通頁面 2025-10-17 06:04:44 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/ 2025-10-17 06:04:44 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/ 的第 1/3 次請求 2025-10-17 06:04: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 0x7de20dbbfcd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/581cdcd50c898af6036079fa6911a9f4 2025-10-17 06:04: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 0x7de20df7cad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/581cdcd50c898af6036079fa6911a9f4 2025-10-17 06:04: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 0x7de20c7db090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/581cdcd50c898af6036079fa6911a9f4 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_1e61b5b0_tq81e0ps 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:04:44 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:04:45 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:04:45 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409849104144 (1/3) 2025-10-17 06:04:45 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/ 2025-10-17 06:04:46 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/ 2025-10-17 06:04:47 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:04:47 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:04:47 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:04:47 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/ 2025-10-17 06:04:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 1/21 2025-10-17 06:04:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 197.9MB, CPU 0.0% 2025-10-17 06:04:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.6MB, CPU 0.0% 2025-10-17 06:04:49 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:04:49 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:04:49 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:04:49 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:04:49 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:04:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 212.1MB, CPU 0.0% 2025-10-17 06:04:53 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 267 2025-10-17 06:04:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:04:55 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 267,內容可能已加載完成 2025-10-17 06:04:55 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:04:55 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:04:55 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:04:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 1/21 2025-10-17 06:05:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 1/21 2025-10-17 06:05:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:05:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/ (實際 URL: https://poket.easy.co/) 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 228294 字節 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 265 字節 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2200 字節 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2151 字節 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 3106 字節 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 5318 字節,約 827 個詞,1005 行 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 Everglow Holiday where comfort meets design Poket the Style. feel-good outfits for slow days Not trying, just glowing. minimal comfort, maximal charm Unfold your mood calm, soft, and quietly confident Poket your favorite look effortless looks for everyday 「來自首爾的時尚,輕鬆裝進你的口袋。」 人氣熱銷 瀏覽全部 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 率性牛仔長褲 Regular price NT$ 1,780 Sale price NT$ 1,780 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 1 / 1 瀏覽全部 「專注於挑選韓國女裝,帶給您自在穿搭的質感單品。」 韓國女裝 瀏覽全部 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 1 / 17 瀏覽全部 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • Everglow Holiday where comfort meets design • Poket the Style. feel-good outfits for slow days • Not trying, just glowing. minimal comfort, maximal charm • Unfold your mood calm, soft, and quietly confident • Poket your favorite look effortless looks for everyday • • • • • • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 率性牛仔長褲 Regular price NT$ 1,780 Sale price NT$ 1,780 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 • 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 • Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 • 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 • 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 • 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 • V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • • 2025-10-17 06:05:16 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 2/21 個網址 2025-10-17 06:05:16 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/韓國女裝-1 2025-10-17 06:05:16 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/韓國女裝-1, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/韓國女裝-1 的第 1/3 次請求 2025-10-17 06:05:16 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d8f2990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/89c3478743bd4e563027ce6a3962f7a5 2025-10-17 06:05:16 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d327e90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/89c3478743bd4e563027ce6a3962f7a5 2025-10-17 06:05:16 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d3b07d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/89c3478743bd4e563027ce6a3962f7a5 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_ca018afe_h80pg3jf 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:05:16 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:05:17 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:05:17 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409825674512 (1/3) 2025-10-17 06:05:17 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/韓國女裝-1 2025-10-17 06:05:18 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/韓國女裝-1 2025-10-17 06:05:18 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:05:18 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:05:18 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:05:18 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/韓國女裝-1 2025-10-17 06:05:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 2/21 2025-10-17 06:05:20 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:05:20 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:05:20 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:05:20 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:05:20 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:05:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:05:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:05:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:05:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:05:24 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 238 2025-10-17 06:05:26 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 238,內容可能已加載完成 2025-10-17 06:05:26 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:05:26 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:05:27 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:05:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:05:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:05:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 2/21 2025-10-17 06:05:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 2/21 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/韓國女裝-1 (實際 URL: https://poket.easy.co/collections/%E9%9F%93%E5%9C%8B%E5%A5%B3%E8%A3%9D-1) 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 393163 字節 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 2069 字節 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1786 字節 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1737 字節 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 2613 字節 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 4411 字節,約 693 個詞,898 行 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 韓國女裝 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 天絲羊毛打底衫|輕盈透氣 × 柔膚觸感 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 • 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 • Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 • 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 • 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 • 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 • V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • 天絲羊毛打底衫|輕盈透氣 × 柔膚觸感 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • • 2025-10-17 06:05:47 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 3/21 個網址 2025-10-17 06:05:47 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/pages/付款與運送 2025-10-17 06:05:47 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/pages/付款與運送, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/pages/付款與運送 的第 1/3 次請求 2025-10-17 06:05:47 - 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 0x7de20d376a10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4d54710008f5f647ec698f142bed99ed 2025-10-17 06:05:47 - 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 0x7de20c75ef50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4d54710008f5f647ec698f142bed99ed 2025-10-17 06:05:47 - 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 0x7de20c75eb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4d54710008f5f647ec698f142bed99ed 2025-10-17 06:05:47 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_4b2d040d_5yoarubt 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:05:48 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409830679440 (1/3) 2025-10-17 06:05:48 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/pages/付款與運送 2025-10-17 06:05:49 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/pages/付款與運送 2025-10-17 06:05:49 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:05:49 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:05:49 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:05:49 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/pages/付款與運送 2025-10-17 06:05:51 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:05:51 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:05:51 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:05:51 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:05:51 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:05:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 3/21 2025-10-17 06:05:55 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 76 2025-10-17 06:05:57 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 76,內容可能已加載完成 2025-10-17 06:05:57 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:05:57 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:05:57 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:06:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:06:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:06:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:06:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:06:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 3/21 2025-10-17 06:06:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:06:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:06:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:06:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:06:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:06:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:06:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 3/21 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/pages/付款與運送 (實際 URL: https://poket.easy.co/pages/%E4%BB%98%E6%AC%BE%E8%88%87%E9%81%8B%E9%80%81) 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 99709 字節 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 340 字節 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 57 字節 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 290 字節,約 78 個詞,75 行 2025-10-17 06:06:17 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 建構中~敬請期待 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:06:18 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 4/21 個網址 2025-10-17 06:06:18 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/上身 2025-10-17 06:06:18 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/上身, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/上身 的第 1/3 次請求 2025-10-17 06:06: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 0x7de20d7175d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a1ab811b2b8070723a6de0f54c668049 2025-10-17 06:06: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 0x7de20de0e450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a1ab811b2b8070723a6de0f54c668049 2025-10-17 06:06: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 0x7de20de0ea10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a1ab811b2b8070723a6de0f54c668049 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_6418cbec_p8n7osx1 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:06:18 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848928080 (1/3) 2025-10-17 06:06:18 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/上身 2025-10-17 06:06:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 197.9MB, CPU 0.0% 2025-10-17 06:06:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:06:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 212.1MB, CPU 0.0% 2025-10-17 06:06:19 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/上身 2025-10-17 06:06:19 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:06:19 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:06:19 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:06:19 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/上身 2025-10-17 06:06:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:06:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:06:21 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:06:21 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:06:21 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:06:21 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:06:21 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:06:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:06:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:06:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:06:25 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 91 2025-10-17 06:06:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 4/21 2025-10-17 06:06:27 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 91,內容可能已加載完成 2025-10-17 06:06:27 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:06:27 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:06:27 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:06:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:06:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:06:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 4/21 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/上身 (實際 URL: https://poket.easy.co/collections/%E4%B8%8A%E8%BA%AB) 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:06:47 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 115452 字節 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 476 字節 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 193 字節 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 426 字節,約 106 個詞,90 行 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 短袖 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:06:48 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 5/21 個網址 2025-10-17 06:06:48 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/長袖 2025-10-17 06:06:48 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/長袖, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/長袖 的第 1/3 次請求 2025-10-17 06:06: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 0x7de20dc0e8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b653ef7213806ecd60f7a810e46b02cd 2025-10-17 06:06: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 0x7de20cd10f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b653ef7213806ecd60f7a810e46b02cd 2025-10-17 06:06: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 0x7de20cd117d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b653ef7213806ecd60f7a810e46b02cd 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_294a706f_hcggkqz5 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:06:48 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409831269456 (1/3) 2025-10-17 06:06:48 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/長袖 2025-10-17 06:06:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 5/21 2025-10-17 06:06:49 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/長袖 2025-10-17 06:06:49 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:06:49 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:06:49 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:06:49 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/長袖 2025-10-17 06:06:51 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:06:51 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:06:51 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:06:51 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:06:51 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:06:55 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 154 2025-10-17 06:06:57 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 154,內容可能已加載完成 2025-10-17 06:06:57 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:06:57 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:06:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:06:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 5/21 2025-10-17 06:07:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 5/21 2025-10-17 06:07:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:07:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/長袖 (實際 URL: https://poket.easy.co/collections/%E9%95%B7%E8%A2%96) 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 238198 字節 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1168 字節 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 885 字節 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 836 字節 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 1318 字節 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 2215 字節,約 369 個詞,454 行 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 長袖 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 天絲羊毛打底衫|輕盈透氣 × 柔膚觸感 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 • V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • 天絲羊毛打底衫|輕盈透氣 × 柔膚觸感 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • • 2025-10-17 06:07:18 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 6/21 個網址 2025-10-17 06:07:18 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/文青家 2025-10-17 06:07:18 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/文青家, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/文青家 的第 1/3 次請求 2025-10-17 06:07: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 0x7de20cd11310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/85c1e09b4a33b316799619f98e0b6212 2025-10-17 06:07: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 0x7de20c7a0910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/85c1e09b4a33b316799619f98e0b6212 2025-10-17 06:07: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 0x7de20c7a1950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/85c1e09b4a33b316799619f98e0b6212 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_0a80841e_61ji1sbd 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:07:18 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:07:19 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:07:19 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409832403280 (1/3) 2025-10-17 06:07:19 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/文青家 2025-10-17 06:07:20 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/文青家 2025-10-17 06:07:20 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:07:20 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:07:20 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:07:20 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/文青家 2025-10-17 06:07:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:07:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:07:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 6/21 2025-10-17 06:07:22 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:07:22 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:07:22 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:07:22 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:07:22 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:07:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:07:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:07:26 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:07:28 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:07:28 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:07:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:07:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:07:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:07:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:07:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 6/21 2025-10-17 06:07:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 6/21 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/文青家 (實際 URL: https://poket.easy.co/collections/%E6%96%87%E9%9D%92%E5%AE%B6) 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:07:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 197.9MB, CPU 0.0% 2025-10-17 06:07:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103523 字節 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 418 字節 2025-10-17 06:07:48 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 135 字節 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 368 字節,約 94 個詞,84 行 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 文青家 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:07:49 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 7/21 個網址 2025-10-17 06:07:49 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/人氣推薦 2025-10-17 06:07:49 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/人氣推薦, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/人氣推薦 的第 1/3 次請求 2025-10-17 06:07: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 0x7de20de39b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e8005b481234c103bba14781df3b98da 2025-10-17 06:07: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 0x7de20dfdc310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e8005b481234c103bba14781df3b98da 2025-10-17 06:07: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 0x7de20dfdf590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e8005b481234c103bba14781df3b98da 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_c3eee88e_yuxlxzxe 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:07:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 212.1MB, CPU 0.0% 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:07:49 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409850827536 (1/3) 2025-10-17 06:07:49 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/人氣推薦 2025-10-17 06:07:50 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/人氣推薦 2025-10-17 06:07:50 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:07:50 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:07:50 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:07:50 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/人氣推薦 2025-10-17 06:07:52 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:07:52 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:07:52 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:07:52 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:07:52 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:07:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 7/21 2025-10-17 06:07:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:07:56 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 133 2025-10-17 06:07:58 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 133,內容可能已加載完成 2025-10-17 06:07:58 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:07:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:07:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:08:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:08:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:08:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:08:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:08:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:08:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:08:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:08:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:08:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 7/21 2025-10-17 06:08:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:08:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:08:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 7/21 2025-10-17 06:08:18 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/人氣推薦 (實際 URL: https://poket.easy.co/collections/%E4%BA%BA%E6%B0%A3%E6%8E%A8%E8%96%A6) 2025-10-17 06:08:18 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:08:18 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:08:18 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 187879 字節 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 938 字節 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 655 字節 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 606 字節 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 987 字節 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1654 字節,約 282 個詞,343 行 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 人氣熱銷 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 率性牛仔長褲 Regular price NT$ 1,780 Sale price NT$ 1,780 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 率性牛仔長褲 Regular price NT$ 1,780 Sale price NT$ 1,780 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 • 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • • 2025-10-17 06:08:19 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 8/21 個網址 2025-10-17 06:08:19 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/韓國包包 2025-10-17 06:08:19 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/韓國包包, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/韓國包包 的第 1/3 次請求 2025-10-17 06: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 0x7de20db38250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ee896076d8adb6e4aefda0539edbbca9 2025-10-17 06: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 0x7de20dfdd8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ee896076d8adb6e4aefda0539edbbca9 2025-10-17 06: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 0x7de20d969b90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ee896076d8adb6e4aefda0539edbbca9 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_e58f08e2_ydrvc1tn 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:08:19 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409849101904 (1/3) 2025-10-17 06:08:19 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/韓國包包 2025-10-17 06:08:20 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/韓國包包 2025-10-17 06:08:20 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:08:20 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:08:20 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:08:20 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/韓國包包 2025-10-17 06:08:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:08:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:08:22 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:08:22 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:08:22 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:08:22 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:08:22 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:08:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:08:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:08:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 8/21 2025-10-17 06:08:26 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:08:28 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:08:28 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:08:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:08:29 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:08:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:08:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.04 秒,結果: 0 2025-10-17 06:08:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 8/21 2025-10-17 06:08:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 8/21 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/韓國包包 (實際 URL: https://poket.easy.co/collections/%E9%9F%93%E5%9C%8B%E5%8C%85%E5%8C%85) 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103555 字節 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 419 字節 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 136 字節 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 369 字節,約 94 個詞,84 行 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 韓國包包 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:08:49 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 9/21 個網址 2025-10-17 06:08:49 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/洋裝 2025-10-17 06:08:49 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/洋裝, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/洋裝 的第 1/3 次請求 2025-10-17 06:08: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 0x7de20cda0590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4706d7f7df737bbc286f0cf213717de7 2025-10-17 06:08: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 0x7de20cda1490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4706d7f7df737bbc286f0cf213717de7 2025-10-17 06:08: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 0x7de20cda32d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4706d7f7df737bbc286f0cf213717de7 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_ac41f921_w46780no 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:08:49 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409831704016 (1/3) 2025-10-17 06:08:49 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/洋裝 2025-10-17 06:08:50 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/洋裝 2025-10-17 06:08:50 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:08:50 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:08:50 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:08:50 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/洋裝 2025-10-17 06:08:52 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:08:52 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:08:52 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:08:52 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:08:52 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:08:56 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:08:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:08:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:08:58 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:08:58 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:08:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:08:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:08:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 9/21 2025-10-17 06:09:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:09:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:09:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:09:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:09:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:09:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:09:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:09:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:09:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:09:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:09:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:09:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:09:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:09:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:09:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 9/21 2025-10-17 06:09:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:09:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-17 06:09:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 197.9MB, CPU 0.0% 2025-10-17 06:09:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/洋裝 (實際 URL: https://poket.easy.co/collections/%E6%B4%8B%E8%A3%9D) 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:09:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 212.1MB, CPU 0.0% 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103491 字節 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 417 字節 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 134 字節 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 367 字節,約 94 個詞,84 行 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 洋裝 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:09:19 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 10/21 個網址 2025-10-17 06:09:19 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/reve 2025-10-17 06:09:19 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/reve, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/reve 的第 1/3 次請求 2025-10-17 06:09: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 0x7de20cc17610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/26370efc3fcb69a796d8fe00e5d055c1 2025-10-17 06:09: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 0x7de20f31eb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/26370efc3fcb69a796d8fe00e5d055c1 2025-10-17 06:09: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 0x7de20c7da910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/26370efc3fcb69a796d8fe00e5d055c1 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_77045f2d_c49j3l5z 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:09:19 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409831701328 (1/3) 2025-10-17 06:09:19 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/reve 2025-10-17 06:09:20 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/reve 2025-10-17 06:09:20 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:09:20 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:09:20 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:09:20 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/reve 2025-10-17 06:09:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 10/21 2025-10-17 06:09:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:09:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:09:22 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:09:22 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:09:22 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:09:22 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:09:22 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:09:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:09:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:09:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:09:26 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:09:28 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:09:28 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:09:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:09:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:09:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:09:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:09:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 10/21 2025-10-17 06:09:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 10/21 2025-10-17 06:09:46 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: 1bghsuxp2a 2025-10-17 06:09:46 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://feibi-coffee.com/,結果將立即顯示 2025-10-17 06:09:46 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 128, Phone: 0967226595, Email: feibicoffee@gmail.com 2025-10-17 06:09:46 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=128, URL=https://feibi-coffee.com/ 2025-10-17 06:09:46 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-17 06:09:46 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #3 開始處理 URL ID: 128 2025-10-17 06:09:46 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://feibi-coffee.com/ 2025-10-17 06:09:46 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/ 的第 1/3 次請求 2025-10-17 06:09: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 0x7de209d36950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bcc8add761d80044d58aec95cd92535f 2025-10-17 06:09: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 0x7de209d17650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bcc8add761d80044d58aec95cd92535f 2025-10-17 06:09: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 0x7de2085732d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bcc8add761d80044d58aec95cd92535f 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_c8342e26_zzos2uik 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:09:46 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:09:47 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:09:47 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409759483152 (1/3) 2025-10-17 06:09:47 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/ 2025-10-17 06:09:47 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/ 2025-10-17 06:09:47 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:09:47 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:09:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/reve (實際 URL: https://poket.easy.co/collections/reve) 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103473 字節 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 420 字節 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 137 字節 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 370 字節,約 94 個詞,84 行 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 REVE+ 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:09:49 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 11/21 個網址 2025-10-17 06:09:49 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/cm家 2025-10-17 06:09:49 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/cm家, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/cm家 的第 1/3 次請求 2025-10-17 06:09: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 0x7de20d9e18d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c44738608de6fd0fbf1d11c95ea45017 2025-10-17 06:09: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 0x7de20d9e0b50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c44738608de6fd0fbf1d11c95ea45017 2025-10-17 06:09: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 0x7de20d9e3c90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c44738608de6fd0fbf1d11c95ea45017 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_7beb2998_tiyqa53w 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:09:49 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409850434256 (1/3) 2025-10-17 06:09:49 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/cm家 2025-10-17 06:09:50 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/cm家 2025-10-17 06:09:50 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:09:50 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:09:50 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:09:50 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/cm家 2025-10-17 06:09:52 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:09:52 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:09:52 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:09:52 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:09:52 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:09:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 11/21 2025-10-17 06:09:56 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:09:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:09:58 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:09:58 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:09:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:09:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:10:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 11/21 2025-10-17 06:10:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:10:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:10:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:10:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 11/21 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/cm家 (實際 URL: https://poket.easy.co/collections/cm%E5%AE%B6) 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103479 字節 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 418 字節 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 135 字節 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 368 字節,約 94 個詞,84 行 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 cm家 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:10:19 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 12/21 個網址 2025-10-17 06:10:19 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/pages/品牌故事-1 2025-10-17 06:10:19 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/pages/品牌故事-1, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/pages/品牌故事-1 的第 1/3 次請求 2025-10-17 06:10: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 0x7de20c7db890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3f5f1bc10e599050da0b6a38286b26e 2025-10-17 06:10: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 0x7de20d4529d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3f5f1bc10e599050da0b6a38286b26e 2025-10-17 06:10: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 0x7de20d452490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3f5f1bc10e599050da0b6a38286b26e 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_605e430d_zbls0_0d 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:10:19 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409825646928 (1/3) 2025-10-17 06:10:19 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/pages/品牌故事-1 2025-10-17 06:10:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:10:20 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/pages/品牌故事-1 2025-10-17 06:10:20 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:10:20 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:10:20 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:10:20 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/pages/品牌故事-1 2025-10-17 06:10:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:10:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:10:22 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:10:22 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:10:22 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:10:22 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:10:22 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:10:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:10:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:10:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 12/21 2025-10-17 06:10:26 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 87 2025-10-17 06:10:28 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:10:28 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/ 2025-10-17 06:10:28 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 87,內容可能已加載完成 2025-10-17 06:10:28 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:10:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:10:28 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:10:30 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:10:30 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:10:30 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:10:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:10:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:10:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:10:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 12/21 2025-10-17 06:10:40 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 431 2025-10-17 06:10:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 59 2025-10-17 06:10:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:10:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 59,內容可能已加載完成 2025-10-17 06:10:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:10:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 12/21 2025-10-17 06:10:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 197.9MB, CPU 0.0% 2025-10-17 06:10:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/pages/品牌故事-1 (實際 URL: https://poket.easy.co/pages/%E5%93%81%E7%89%8C%E6%95%85%E4%BA%8B-1) 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:10:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 212.1MB, CPU 0.0% 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 100830 字節 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 363 字節 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 231 字節 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 464 字節,約 103 個詞,93 行 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 歡迎來到 POKET SEOUL,這裡是我們的夢想衣櫃,也是你獨特風格的起點。 創立 POKET SEOUL,源自於對美好衣著的堅持: 「 在設計裡尋找靈魂,在質感中守護舒適。 」 我們相信:好的衣服能陪伴你,讓你在日常中 舒適自在 、 展現質感 、 從容自信 ! 期盼 POKET SEOUL  能成為你風格旅程的夥伴, 一件衣服 、 一種態度 、 一份信任 。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:10:49 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 13/21 個網址 2025-10-17 06:10:49 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/legal/refund-policy 2025-10-17 06:10:49 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/legal/refund-policy, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/legal/refund-policy 的第 1/3 次請求 2025-10-17 06:10: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 0x7de20d451b50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4a807b6027355cbcb36ef5aa8c344a13 2025-10-17 06:10: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 0x7de20f7e9290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4a807b6027355cbcb36ef5aa8c344a13 2025-10-17 06:10: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 0x7de20f7ebe10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4a807b6027355cbcb36ef5aa8c344a13 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_aebdafd5_u9w3h8y8 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:10:49 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409850819728 (1/3) 2025-10-17 06:10:49 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/legal/refund-policy 2025-10-17 06:10:50 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/legal/refund-policy 2025-10-17 06:10:50 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:10:50 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:10:50 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:10:50 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/legal/refund-policy 2025-10-17 06:10:52 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:10:52 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:10:52 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:10:52 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:10:52 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:10:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:10:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:10:56 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 109 2025-10-17 06:10:58 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 109,內容可能已加載完成 2025-10-17 06:10:58 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:10:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:10:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:10:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 13/21 2025-10-17 06:11:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 0/1 2025-10-17 06:11:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 13/21 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/ (實際 URL: https://feibi-coffee.com/) 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:11:13 - INFO - database - [database.py:505] - update_url_status - URL ID 128 状态已更新为 processing 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 34775 字節 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 308 字節 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 402 字節 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 486 字節 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 402 字節,約 70 個詞,44 行 2025-10-17 06:11:13 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 熱門商品 中焙 隨機 塔羅咖啡隨機禮盒(10入) NT$420 淺焙 濕剝 曼特寧 Madheling 濾掛(10入) NT$200 中焙 日曬 龐貝 Pompeii 單品(10入) NT$480 中焙 玫瑰藝妓 Rose Geisha 咖啡禮盒(10入) NT$900 中焙 蜜處理 貝多芬 Beethoven Blend 單品(10入) NT$430 淺焙 日曬 天堂鳥 Paradise Bird 咖啡禮盒(20入) NT$800 中焙 日曬 莫札特 Mozart Blend 濾掛(10入) NT$420 淺焙 日曬 天堂鳥 Paradise Bird 咖啡豆(半磅) NT$300 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:11:13 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://feibi-coffee.com/, HTML 內容大小=34775 字節 2025-10-17 06:11:14 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://feibi-coffee.com/, 發現問題數=0, 嚴重問題數=0, 耗時=0.007秒 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2813] - find_internal_links - 從HTML靜態內容中提取了 20 個內部鏈接 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/policy (匹配: /policy) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/about/brand (匹配: /about) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/about/team (匹配: /about) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/about/contact (匹配: /contact) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2962] - find_internal_links - 鏈接分類完成 - 聯絡資訊頁面: 4 個(不限數量),普通頁面: 16 個(限制 20 個) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:3002] - find_internal_links - 最終返回 20 個鏈接 - 聯絡資訊頁面: 4 個,普通頁面: 16 個 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/policy (匹配: /policy) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/about/brand (匹配: /about) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/about/team (匹配: /about) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://feibi-coffee.com/about/contact (匹配: /contact) 2025-10-17 06:11:14 - INFO - main - [url_processor.py:160] - process_url - 找到 20 個內部鏈接 - 聯絡資訊頁面: 4 個(優先審核),普通頁面: 16 個(限制20個) 2025-10-17 06:11:14 - INFO - main - [url_processor.py:194] - process_url - 更新 UI 審核進度(URL ID=128):總計 21 個網址,已完成 1 個(主頁面),待審核: 4 個聯絡頁面 + 16 個普通頁面 2025-10-17 06:11:14 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/policy 2025-10-17 06:11:14 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/policy, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/policy 的第 1/3 次請求 2025-10-17 06:11: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 0x7de20a3d4bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c4aef8e1ec62c34533b984ec8b41888 2025-10-17 06:11: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 0x7de20a3d6010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c4aef8e1ec62c34533b984ec8b41888 2025-10-17 06:11: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 0x7de20a3d5410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c4aef8e1ec62c34533b984ec8b41888 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_5bfc4d93_1g3k6u7g 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:11:14 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409779959504 (1/3) 2025-10-17 06:11:14 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/policy 2025-10-17 06:11:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:11:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.04 秒,結果: 0 2025-10-17 06:11:15 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/policy 2025-10-17 06:11:15 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:11:15 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:11:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/legal/refund-policy (實際 URL: https://poket.easy.co/legal/refund-policy) 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103360 字節 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 304 字節 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 377 字節 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 328 字節 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 610 字節,約 119 個詞,115 行 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 售後服務 親愛的顧客您好~若您收到商品後有任何問題,歡迎參考以下說明並聯繫我們: ✅ 可協助處理的情況: ✔收到商品有明顯瑕疵( 破損 、 脫線 、 大範圍汙漬 ) ✔出貨錯誤( 寄錯款式 、 尺寸 、 顏色 ) ⚠️請於收到商品 7天內主動與我們聯繫,並附上: 商品照片( 瑕疵或錯誤處 ),經確認完成,將儘速為您聯絡補寄服務 💬 LINE客服 ⛔ 以下狀況恕不提供售後處理: 🚫 內褲、襪子等貼身衣物,基於個人衛生考量,恕不提供退貨。 🚫 因螢幕色差產生的色澤落差 🚫個人因素不喜歡/穿起來不合適 🚫 超過7日未主動反映 🚫 商品已下水、 衣物有明顯 香水 、菸味等味道,沾有粉底或 口紅 ⚠ 小線頭、小汙點「不影響穿著」的狀況(屬韓國出貨可接受範圍) 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:11:19 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 14/21 個網址 2025-10-17 06:11:19 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/口袋名單 2025-10-17 06:11:19 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/口袋名單, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/口袋名單 的第 1/3 次請求 2025-10-17 06:11: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 0x7de20c7e29d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/07e4256669a36a6cf1b8ca764e19793d 2025-10-17 06:11: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 0x7de20c7e3f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/07e4256669a36a6cf1b8ca764e19793d 2025-10-17 06:11: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 0x7de20c7e1190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/07e4256669a36a6cf1b8ca764e19793d 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_9d5e4fde_dy9gi4aj 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:11:19 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409844547664 (1/3) 2025-10-17 06:11:19 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/口袋名單 2025-10-17 06:11:21 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/口袋名單 2025-10-17 06:11:21 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:11:21 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:11:21 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:11:21 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/口袋名單 2025-10-17 06:11:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 14/21 2025-10-17 06:11:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:11:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:11:23 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:11:23 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:11:23 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:11:23 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:11:23 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:11:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:11:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:11:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:11:27 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 245 2025-10-17 06:11:29 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 245,內容可能已加載完成 2025-10-17 06:11:29 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:11:29 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:11:29 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:11:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:11:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:11:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 14/21 2025-10-17 06:11:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:11:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 14/21 2025-10-17 06:11:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/口袋名單 (實際 URL: https://poket.easy.co/collections/%E5%8F%A3%E8%A2%8B%E5%90%8D%E5%96%AE) 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 405247 字節 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 2143 字節 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1860 字節 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1811 字節 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 2720 字節 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 4592 字節,約 720 個詞,935 行 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 口袋名單 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 連帽羽絨長版外套 Regular price NT$ 4,580 Sale price NT$ 4,580 Regular price NT$ 0 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 天絲羊毛打底衫|輕盈透氣 × 柔膚觸感 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • 連帽羽絨長版外套 Regular price NT$ 4,580 Sale price NT$ 4,580 Regular price NT$ 0 • 小甜甜童趣長版T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 束口造型工裝裙 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 皺皺長袖造型T恤 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 繽紛燈心絨長版襯衫 Regular price NT$ 1,880 Sale price NT$ 1,880 Regular price NT$ 0 • 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 • Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 • 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 • 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 領巾造型條紋T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 • 質感細格子襯衫 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 圓領開扣條紋長袖T恤 Regular price NT$ 1,180 Sale price NT$ 1,180 Regular price NT$ 0 • 率性牛仔襯衫 Regular price NT$ 2,280 Sale price NT$ 2,280 Regular price NT$ 0 • 拉鍊領條紋上衣|線條與自在的對話 Regular price NT$ 1,480 Sale price NT$ 1,480 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 寬鬆格紋襯衫|格調裡的自在呼吸 Regular price NT$ 1,580 Sale price NT$ 1,580 Regular price NT$ 0 • V 領條紋針織衫|柔軟線條質感必備 Regular price NT$ 1,680 Sale price NT$ 1,680 Regular price NT$ 0 • 側岔寬鬆長袖上衣 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • 天絲羊毛打底衫|輕盈透氣 × 柔膚觸感 Regular price NT$ 980 Sale price NT$ 980 Regular price NT$ 0 • 秋日經典條紋T恤 Regular price NT$ 1,080 Sale price NT$ 1,080 Regular price NT$ 0 • • 2025-10-17 06:11:50 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 15/21 個網址 2025-10-17 06:11:50 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/baby家 2025-10-17 06:11:50 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/baby家, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/baby家 的第 1/3 次請求 2025-10-17 06:11:50 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20cd11a10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1436df09abf526eccb5e1c7b0cc22eeb 2025-10-17 06:11:50 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c8bebd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1436df09abf526eccb5e1c7b0cc22eeb 2025-10-17 06:11:50 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c8bf710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1436df09abf526eccb5e1c7b0cc22eeb 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_402b3522_61hu2338 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:11:50 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:11:51 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:11:51 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848927824 (1/3) 2025-10-17 06:11:51 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/baby家 2025-10-17 06:11:52 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/baby家 2025-10-17 06:11:52 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:11:52 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:11:52 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:11:52 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/baby家 2025-10-17 06:11:54 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:11:54 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:11:54 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:11:54 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:11:54 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:11:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 15/21 2025-10-17 06:11:55 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:11:55 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/policy 2025-10-17 06:11:57 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:11:57 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:11:57 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:11:58 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:11:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:12:00 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:12:00 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:12:00 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:12:00 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:12:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:12:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:12:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:12:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:12:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:12:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:12:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 15/21 2025-10-17 06:12:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:12:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:12:07 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 135 2025-10-17 06:12:08 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 27 2025-10-17 06:12:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:12:10 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 27,內容可能已加載完成 2025-10-17 06:12:10 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:12:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:12:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:12:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 15/21 2025-10-17 06:12:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 197.9MB, CPU 0.0% 2025-10-17 06:12:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:12:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/baby家 (實際 URL: https://poket.easy.co/collections/baby%E5%AE%B6) 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:12:20 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103499 字節 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 420 字節 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 137 字節 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 370 字節,約 94 個詞,84 行 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 Baby家 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:12:21 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 16/21 個網址 2025-10-17 06:12:21 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/外套 2025-10-17 06:12:21 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/外套, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/外套 的第 1/3 次請求 2025-10-17 06:12: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 0x7de20d3251d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2b6edbbfc7aa6e8372e4f65f1e70b6a7 2025-10-17 06:12: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 0x7de20cd3b8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2b6edbbfc7aa6e8372e4f65f1e70b6a7 2025-10-17 06:12: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 0x7de20cd39410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2b6edbbfc7aa6e8372e4f65f1e70b6a7 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_73c8f1a8_o8onh8en 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:12:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:12:21 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409837482384 (1/3) 2025-10-17 06:12:21 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/外套 2025-10-17 06:12:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:12:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:12:22 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/外套 2025-10-17 06:12:22 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:12:22 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:12:22 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:12:22 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/外套 2025-10-17 06:12:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:12:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:12:24 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:12:24 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:12:24 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:12:24 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:12:24 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:12:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:12:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 16/21 2025-10-17 06:12:28 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 126 2025-10-17 06:12:29 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: i81jkolv2j 2025-10-17 06:12:29 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://www.youtube.com/@Esther_Anastasia_,結果將立即顯示 2025-10-17 06:12:29 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 129, Phone: 0907646588, Email: estheranastasia23@gmail.com 2025-10-17 06:12:29 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=129, URL=https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:12:29 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-17 06:12:29 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 129 2025-10-17 06:12:29 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:12:29 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/@Esther_Anastasia_, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/@Esther_Anastasia_ 的第 1/3 次請求 2025-10-17 06:12:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20f312ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5d4ddc30d1efbe61c415c09225a67a99 2025-10-17 06:12:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20da6b490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5d4ddc30d1efbe61c415c09225a67a99 2025-10-17 06:12:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20e060410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5d4ddc30d1efbe61c415c09225a67a99 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_cdd57dc7_o1w4camn 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:12:29 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409844169104 (1/3) 2025-10-17 06:12:29 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:12:30 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 126,內容可能已加載完成 2025-10-17 06:12:30 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:12:30 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:12:30 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:12:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 0/1 2025-10-17 06:12:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:12:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.04 秒,結果: 0 2025-10-17 06:12:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 1/21 2025-10-17 06:12:32 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:12:33 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:12:34 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:12:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 16/21 2025-10-17 06:12:40 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/policy (實際 URL: https://feibi-coffee.com/policy) 2025-10-17 06:12:40 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:12:40 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:12:40 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 19012 字節 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 190 字節 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 106 字節 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 190 字節,約 34 個詞,26 行 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: PRODUCT 全部商品 單品咖啡 濾掛咖啡 咖啡豆 ABOUT FEIBI 品牌故事 團隊介紹 聯絡我們 EVENT 滿千免運 ARTICLE 何為精品咖啡? 會員登入/註冊 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 訂閱 獲取最新優惠與消息 2025-10-17 06:12:41 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 2/21 個網址 2025-10-17 06:12:41 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/about/brand 2025-10-17 06:12:41 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/about/brand, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/about/brand 的第 1/3 次請求 2025-10-17 06:12:41 - 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 0x7de2088c0dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5aac32c1a72c09abf2a41e9c319e49a9 2025-10-17 06:12:41 - 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 0x7de209c39b50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5aac32c1a72c09abf2a41e9c319e49a9 2025-10-17 06:12:41 - 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 0x7de209c38090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5aac32c1a72c09abf2a41e9c319e49a9 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_cf5dd266_a1uucljn 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:12:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 0/1 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:12:41 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409787881808 (1/3) 2025-10-17 06:12:41 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/about/brand 2025-10-17 06:12:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:12:43 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/about/brand 2025-10-17 06:12:43 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:12:43 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:12:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 16/21 2025-10-17 06:12:50 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: .content 2025-10-17 06:12:50 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/外套 (實際 URL: https://poket.easy.co/collections/%E5%A4%96%E5%A5%97) 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 182614 字節 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 859 字節 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 576 字節 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 527 字節 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 877 字節 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1465 字節,約 255 個詞,306 行 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 外套 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • 撞色領風衣外套 Regular price NT$ 3,880 Sale price NT$ 3,880 Regular price NT$ 0 • 前開扣連帽毛衣外套 Regular price NT$ 2,580 Sale price NT$ 2,580 Regular price NT$ 0 • 羊毛天絲外套 Regular price NT$ 2,180 Sale price NT$ 2,180 Regular price NT$ 0 • 質感連帽皮衣外套 Regular price NT$ 3,280 Sale price NT$ 3,280 Regular price NT$ 0 • 親膚牛仔外套|溫柔與率性的交匯 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • 氣質風衣外套|風裡行走的優雅輪廓 Regular price NT$ 2,780 Sale price NT$ 2,780 Regular price NT$ 0 • • 2025-10-17 06:12:51 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 17/21 個網址 2025-10-17 06:12:51 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/背心 2025-10-17 06:12:51 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/背心, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/背心 的第 1/3 次請求 2025-10-17 06:12:51 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20cd38b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ba7a7427bf327c9a5fcaae57a0c1b4fe 2025-10-17 06:12:51 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d932b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ba7a7427bf327c9a5fcaae57a0c1b4fe 2025-10-17 06:12:51 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d931490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ba7a7427bf327c9a5fcaae57a0c1b4fe 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_be6121a4_e32ymfwj 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:12:51 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:12:52 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:12:52 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409843826768 (1/3) 2025-10-17 06:12:52 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/背心 2025-10-17 06:12:52 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:12:52 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:12:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 0/1 2025-10-17 06:12:52 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:12:52 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:12:53 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/背心 2025-10-17 06:12:53 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:12:53 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:12:53 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:12:53 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/背心 2025-10-17 06:12:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:12:55 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:12:55 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:12:55 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:12:55 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:12:55 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:12:56 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 87 2025-10-17 06:12:58 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 87,內容可能已加載完成 2025-10-17 06:12:58 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:12:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:12:58 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:12:59 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 91 2025-10-17 06:13:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 17/21 2025-10-17 06:13:01 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 91,內容可能已加載完成 2025-10-17 06:13:01 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:13:01 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:13:01 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:13:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 0/1 2025-10-17 06:13:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:13:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 17/21 2025-10-17 06:13:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 0/1 2025-10-17 06:13:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:13:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:13:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/背心 (實際 URL: https://poket.easy.co/collections/%E8%83%8C%E5%BF%83) 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:13:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:13:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 117447 字節 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 477 字節 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 194 字節 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 427 字節,約 106 個詞,90 行 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 背心 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 Baby羊駝毛背心 Regular price NT$ 1,800 Sale price NT$ 1,800 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:13:22 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 18/21 個網址 2025-10-17 06:13:22 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/配件 2025-10-17 06:13:22 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/配件, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/配件 的第 1/3 次請求 2025-10-17 06:13: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 0x7de20cc5ced0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b4b4ff359368898aa785d785876bc79b 2025-10-17 06:13: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 0x7de20cc5c250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b4b4ff359368898aa785d785876bc79b 2025-10-17 06:13: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 0x7de20cc5ce90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b4b4ff359368898aa785d785876bc79b 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_1aa9deb4_0vdpu5im 2025-10-17 06:13:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 18/21 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:13:22 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:13:23 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:13:23 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409830679568 (1/3) 2025-10-17 06:13:23 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/配件 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/配件 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/about/brand 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:13:24 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/配件 2025-10-17 06:13:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:13:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:13:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 0/1 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:13:26 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:13:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:13:30 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/@Esther_Anastasia_ (實際 URL: https://www.youtube.com/@Esther_Anastasia_) 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:13:31 - INFO - database - [database.py:505] - update_url_status - URL ID 129 状态已更新为 processing 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1037540 字節 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 335 字節 2025-10-17 06:13:31 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1309 字節 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1309 字節 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1309 字節,約 201 個詞,92 行 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Esther Ch. 埃斯特 @Esther_Anastasia_ • 1 subscriber 大家好 ! 我是會星之魔法的個人勢魔法師VTuber –【Esther Anastasia 埃斯特.阿娜絲塔希婭】 ...more 大家好 ! 我是會星之魔法的個人勢魔法師VTuber –【Esther Anastasia 埃斯特.阿娜絲塔希婭】 ...more ...more lit.link/zh-tw/estheranastasia and 2 more links Subscribe Visit Community This channel doesn't have any content Search Info Shopping Tap to unmute 2x If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / • Watch full video Live • • NaN / NaN 2025-10-17 06:13:32 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://www.youtube.com/@Esther_Anastasia_, HTML 內容大小=1037540 字節 2025-10-17 06:13:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:13:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:13:32 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://www.youtube.com/@Esther_Anastasia_, 發現問題數=6, 嚴重問題數=3, 耗時=0.093秒 2025-10-17 06:13:32 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(3), iframe(2), form(1) 2025-10-17 06:13:32 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(3), warning(3) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2813] - find_internal_links - 從HTML靜態內容中提取了 25 個內部鏈接 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/feed/history (匹配模式: /feed/) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/feed/you (匹配模式: /feed/) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/feed/storefront?bp=ogUCKAU%3D (匹配模式: /feed/) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/feed/subscriptions (匹配模式: /feed/) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/feed/courses_destination (匹配模式: /feed/) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/t/privacy (匹配模式: /privacy) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2610] - should_skip_url - 跳過低價值URL: https://www.youtube.com/t/terms (匹配模式: /terms) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/copyright/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/t/contact_us/ (匹配: /contact) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/press/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/policies/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2962] - find_internal_links - 鏈接分類完成 - 聯絡資訊頁面: 5 個(不限數量),普通頁面: 13 個(限制 20 個) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:3002] - find_internal_links - 最終返回 18 個鏈接 - 聯絡資訊頁面: 5 個,普通頁面: 13 個 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/copyright/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/t/contact_us/ (匹配: /contact) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/press/ (匹配: /about) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://www.youtube.com/about/policies/ (匹配: /about) 2025-10-17 06:13:32 - INFO - main - [url_processor.py:160] - process_url - 找到 18 個內部鏈接 - 聯絡資訊頁面: 5 個(優先審核),普通頁面: 13 個(限制20個) 2025-10-17 06:13:32 - INFO - main - [url_processor.py:194] - process_url - 更新 UI 審核進度(URL ID=129):總計 19 個網址,已完成 1 個(主頁面),待審核: 5 個聯絡頁面 + 13 個普通頁面 2025-10-17 06:13:32 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/about/copyright/ 2025-10-17 06:13:32 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/about/copyright/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/about/copyright/ 的第 1/3 次請求 2025-10-17 06:13: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 0x7de20dd67e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/280ec03e1ed4aff460763f2c947e9de8 2025-10-17 06:13: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 0x7de20df55890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/280ec03e1ed4aff460763f2c947e9de8 2025-10-17 06:13: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 0x7de20c3adf50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/280ec03e1ed4aff460763f2c947e9de8 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_303b2b67_1ro98f0a 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:13:32 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:13:33 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:13:33 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409851369040 (1/3) 2025-10-17 06:13:33 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/about/copyright/ 2025-10-17 06:13:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 18/21 2025-10-17 06:13:34 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/about/copyright/ 2025-10-17 06:13:34 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:13:34 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:13:34 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:13:34 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/about/copyright/ 2025-10-17 06:13:36 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 766 2025-10-17 06:13:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 1/19 2025-10-17 06:13:36 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:13:36 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:13:36 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:13:36 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:13:37 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 63 2025-10-17 06:13:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:13:39 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 63,內容可能已加載完成 2025-10-17 06:13:39 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:13:40 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 111 2025-10-17 06:13:42 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 111,內容可能已加載完成 2025-10-17 06:13:42 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:13:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 18/21 2025-10-17 06:13:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 1/19 2025-10-17 06:13:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 212.7MB, CPU 0.0% 2025-10-17 06:13:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:13:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:13:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/配件 (實際 URL: https://poket.easy.co/collections/%E9%85%8D%E4%BB%B6) 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103491 字節 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 417 字節 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 134 字節 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 367 字節,約 94 個詞,84 行 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 配件 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:13:52 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 19/21 個網址 2025-10-17 06:13:52 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/褲子 2025-10-17 06:13:52 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/褲子, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/褲子 的第 1/3 次請求 2025-10-17 06:13:52 - 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 0x7de20cd6a690>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ba91e6822dfa1d4cf91299973836dffd 2025-10-17 06:13:52 - 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 0x7de20d8df390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ba91e6822dfa1d4cf91299973836dffd 2025-10-17 06:13:52 - 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 0x7de20df721d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ba91e6822dfa1d4cf91299973836dffd 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_4ccba98a_v49dseoy 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:13:52 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:13:53 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:13:53 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409837482320 (1/3) 2025-10-17 06:13:53 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/褲子 2025-10-17 06:13:54 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/褲子 2025-10-17 06:13:54 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:13:54 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:13:54 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:13:54 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/褲子 2025-10-17 06:13:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:13:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 19/21 2025-10-17 06:13:56 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:13:56 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:13:56 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:13:56 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:13:56 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:13:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:13:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:13:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 1/19 2025-10-17 06:14:00 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 91 2025-10-17 06:14:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 2/21 2025-10-17 06:14:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:14:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:14:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:14:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:14:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:14:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:14:02 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 91,內容可能已加載完成 2025-10-17 06:14:02 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:14:02 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:14:02 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:14:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 19/21 2025-10-17 06:14:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 1/19 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/about/brand (實際 URL: https://feibi-coffee.com/about/brand) 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 22243 字節 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 601 字節 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 741 字節 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 825 字節 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 741 字節,約 65 個詞,48 行 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 啡彼咖啡 品味從這一刻開始 探索品牌故事 Feibi Coffee 啡彼咖啡 由一群對咖啡 生活與技術充滿熱情的創作者組成 從咖啡豆挑選、烘焙到網站設計與包裝 每一步都親力親為 力求讓每一杯濾掛都傳遞我們對品質與美感的堅持 Story 品牌故事 Feibi Coffee 的誕生,來自一段日常對話—— 「如果我們能用自己的專長,把一杯好咖啡帶給更多人呢?」 我們來自不同領域:有人懂程式、有人懂設計、有人懂市場,也有人,懂一顆豆子的溫度。 我們將技術與人文結合,打造出這個屬於我們的咖啡品牌:Feibi Coffee 啡彼咖啡。 我們親自開發網站、設計包裝、選豆烘豆,從線上體驗到手中的濾掛包,都是我們對生活美學與品質的詮釋。 讓科技不再冰冷,讓設計成為一種溫度——每一包濾掛,都是手感與專業交織的成果。 我們做的不只是一包濾掛咖啡 而是將小農的努力 土地的溫度 烘豆師的堅持 設計師的敏感 ... 一層層包裹進你的生活日常中 Philosophy 品牌理念 「用專業,做出有溫度的精品濾掛咖啡」 我們相信,一杯咖啡的價值,不止於風味,而是一場從土地到你手中的溫柔革命。 1. 支持在地農法: 與小農站在一起,尊重每一顆豆子的生長節奏,不壓價、不剝削。 2. 永續未來: 選擇友善種植、有機轉型、高海拔慢熟豆源,並使用可回收包裝。 3. 日常美學: 包裝與設計皆為溝通的語言,帶來慢下來的儀式感。 4. 科技手工: 網站與流程自研,結合資料分析,不斷優化你的選豆體驗。 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:14:09 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 3/21 個網址 2025-10-17 06:14:09 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/about/team 2025-10-17 06:14:09 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/about/team, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/about/team 的第 1/3 次請求 2025-10-17 06:14: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 0x7de2090b5fd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f6ac46e240e7205e2ea1bc091a3ce0d5 2025-10-17 06:14: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 0x7de20a677710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f6ac46e240e7205e2ea1bc091a3ce0d5 2025-10-17 06:14: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 0x7de20a676f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f6ac46e240e7205e2ea1bc091a3ce0d5 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_3b8837c6__qss7e5k 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:14:09 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:14:10 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:14:10 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409780476240 (1/3) 2025-10-17 06:14:10 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/about/team 2025-10-17 06:14:11 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/about/team 2025-10-17 06:14:11 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:14:11 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:14:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:14:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:14:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:14:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 19/21 2025-10-17 06:14:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 1/19 2025-10-17 06:14:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:14:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:14:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:14:22 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/褲子 (實際 URL: https://poket.easy.co/collections/%E8%A4%B2%E5%AD%90) 2025-10-17 06:14:22 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:14:22 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:14:22 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:14:22 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 113545 字節 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 476 字節 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 193 字節 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 426 字節,約 106 個詞,90 行 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 褲子 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 酷帥柔棉牛仔長褲 Regular price NT$ 1,600 Sale price NT$ 1,600 Regular price NT$ 0 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:14:23 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 20/21 個網址 2025-10-17 06:14:23 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://poket.easy.co/collections/裙子 2025-10-17 06:14:23 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://poket.easy.co/collections/裙子, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://poket.easy.co/collections/裙子 的第 1/3 次請求 2025-10-17 06:14:23 - 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 0x7de20d375290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9144f07846288852639fa71f15ae9051 2025-10-17 06:14:23 - 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 0x7de20d375910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9144f07846288852639fa71f15ae9051 2025-10-17 06:14:23 - 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 0x7de20cd6b810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/9144f07846288852639fa71f15ae9051 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_07cc2f99_xhpng40b 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:14:23 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409849103312 (1/3) 2025-10-17 06:14:23 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://poket.easy.co/collections/裙子 2025-10-17 06:14:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:14:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:14:24 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://poket.easy.co/collections/裙子 2025-10-17 06:14:24 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:14:24 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:14:25 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:14:25 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://poket.easy.co/collections/裙子 2025-10-17 06:14:27 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:14:27 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:14:27 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:14:27 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:14:27 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:14:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 20/21 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/about/copyright/ (實際 URL: https://www.youtube.com/howyoutubeworks/copyright/) 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 84468 字節 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1558 字節 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 4674 字節 2025-10-17 06:14:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 1/19 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 4392 字節 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 2505 字節 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 7191 字節,約 964 個詞,195 行 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: youtube.com/howyoutubeworks uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more . Agree No thanks Jump to content Copyright YouTube is designed to ensure that every player in our ecosystem can be successful. This includes both protecting rightsholders and giving creators peace of mind so they can focus on producing original content. JUMP TO A SECTION Copyright protection tools Copyright claims appeals JUMP TO A SECTION Copyright Copyright protection tools Copyright claims appeals How YouTube’s Copyright Protection Tools work We’ve invested millions of dollars in developing a Copyright Management Suite that’s designed to balance the needs of our entire ecosystem — and we have clear rules when it comes to copyright. YouTube has worked directly with rightsholders to ensure that copyrighted material on our platform is authorized, and we provide those robust tools to allow rightsholders to notify YouTube of alleged infringement, which we remove in accordance with the law. There are three main tools that make up our Copyright Management Suite: Webform Who is it for? Available in more than 80 languages, all rightsholders have access to the webform, which we’ve built as a streamlined and efficient way to submit copyright removal requests. What does it do? Rightsholders enter a few details of their request, which is then reviewed by YouTube to see if it meets legal requirements for removing the reported content. Rights holders have access to powerful features, including the ability to ask YouTube to automatically prevent copies of the removed content from being reuploaded. Copyright Match Tool Who’s it for? It helps creators and rights holders protect their content by automatically finding videos that are the same or very similar to ones previously uploaded. What does it do? If a match is found, the creator or the rights holder is notified. She can then review the video that potentially reused their content and decide whether to request the video’s removal. Content ID Who’s it for? Rightsholders who have the most complex rights management needs and experience heavy reposting of copyrighted material, like movie studios and music labels. What does it do? Rightsholders can pre-determine rules for when content matches are found — choosing to block a whole video from being viewed, monetize the video by running ads against it, or track the video’s viewership stats. Webform Who is it for? Available in more than 80 languages, all rightsholders have access to the webform, which we’ve built as a streamlined and efficient way to submit copyright removal requests. **What does it do? ** Rightsholders enter a few details of their request, which is then reviewed by YouTube to see if it meets legal requirements for removing the reported content. Rights holders have access to powerful features, including the ability to ask YouTube to automatically prevent copies of the removed content from being reuploaded. Copyright Match Tool Who’s it for? It helps creators and rights holders protect their content by automatically finding videos that are the same or very similar to ones previously uploaded. What does it do? If a match is found, the creator or the rights holder is notified. She can then review the video that potentially reused their content and decide whether to request the video’s removal. Content ID Who’s it for? Rightsholders who have the most complex rights management needs and experience heavy reposting of copyrighted material, like movie studios and music labels. What does it do? Rightsholders can pre-determine rules for when content matches are found — choosing to block a whole video from being viewed, monetize the video by running ads against it, or track the video’s viewership stats. How YouTube Addresses Copyright Claims Appeals The majority of copyright claims and removal requests on YouTube come from our automatic detection technology. We empower uploaders to report wrongful takedown requests, and we measure how often creators push back against removals and Content ID claims in our Copyright Transparency Report . Of the more than 1 billion Content ID claims made between July 2023 and December 2023, fewer than 1% have been disputed. Over 65% of those disputes succeeded, because claimants either voluntarily released the claim or did not respond within the 30-day window, resulting in the claim’s release. ( Source ) Explore more YouTube Copyright Transparency Report Copyright and Rights Management Center How to use the Copyright Match tool 額外的結構化內容: • Webform Who is it for? Available in more than 80 languages, all rightsholders have access to the webform, which we’ve built as a streamlined and efficient way to submit copyright removal requests. What does it do? Rightsholders enter a few details of their request, which is then reviewed by YouTube to see if it meets legal requirements for removing the reported content. Rights holders have access to powerful features, including the ability to ask YouTube to automatically prevent copies of the removed content from being reuploaded. • Copyright Match Tool Who’s it for? It helps creators and rights holders protect their content by automatically finding videos that are the same or very similar to ones previously uploaded. What does it do? If a match is found, the creator or the rights holder is notified. She can then review the video that potentially reused their content and decide whether to request the video’s removal. • Content ID Who’s it for? Rightsholders who have the most complex rights management needs and experience heavy reposting of copyrighted material, like movie studios and music labels. What does it do? Rightsholders can pre-determine rules for when content matches are found — choosing to block a whole video from being viewed, monetize the video by running ads against it, or track the video’s viewership stats. 2025-10-17 06:14:31 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 2/19 個網址 2025-10-17 06:14:31 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/about/ 2025-10-17 06:14:31 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/about/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/about/ 的第 1/3 次請求 2025-10-17 06:14:31 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20e04ca50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1f42ebda94c78fdc3a719d647587ba05 2025-10-17 06:14:31 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d2e4790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1f42ebda94c78fdc3a719d647587ba05 2025-10-17 06:14:31 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d2e7710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1f42ebda94c78fdc3a719d647587ba05 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_5287b63d_f6t6g91l 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:14:31 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:14:32 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:14:32 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409837215824 (1/3) 2025-10-17 06:14:32 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/about/ 2025-10-17 06:14:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:14:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/about/ 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/about/ 2025-10-17 06:14:33 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:14:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:14:35 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:14:35 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:14:35 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:14:35 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:14:39 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 81 2025-10-17 06:14:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 20/21 2025-10-17 06:14:41 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 81,內容可能已加載完成 2025-10-17 06:14:41 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:14:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 2/19 2025-10-17 06:14:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:14:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 20/21 2025-10-17 06:14:51 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:14:51 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/about/team 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://poket.easy.co/collections/裙子 (實際 URL: https://poket.easy.co/collections/%E8%A3%99%E5%AD%90) 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 103491 字節 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 417 字節 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 134 字節 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 221 字節 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 367 字節,約 94 個詞,84 行 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 1423464 登入 註冊帳號 登入 0 購物車 已加入購物車 查看購物車 ( 0 ) 繼續購物 裙子 排列方式 : 特色 按字母順序, A-Z 按字母順序, Z-A 價錢, 從低到高 價錢, 從高到低 日期, 從新到舊 日期, 從舊到新 抱歉,該類別還未有任何商品。 額外的結構化內容: • 品牌故事 • 付款與運送 • 售後服務 • b/powder • 文青家 • 紅唇歐膩家 • 太妍歐膩家 • cm家 • 泰熙歐膩家 • Baby家 • REVE+ • 上身 短袖 長袖 毛衣 大學T • 短袖 • 長袖 • 毛衣 • 大學T • 下身 裙子 褲子 • 裙子 • 褲子 • 洋裝 • 背心 • 外套 • 短袖 • 長袖 • 毛衣 • 大學T • 裙子 • 褲子 • • 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:14:53 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:14:53 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=127):已完成 21/21 個網址 2025-10-17 06:14:53 - INFO - main - [url_processor.py:285] - process_url - UI審核: 開始審核主頁面: https://poket.easy.co/ 2025-10-17 06:14:53 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 4537 字符 2025-10-17 06:14:53 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:14:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 2/19 2025-10-17 06:14:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:15:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:15:03 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 294 2025-10-17 06:15:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:15:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:15:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 2/19 2025-10-17 06:15:04 - 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-17 06:15:04 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.961秒 2025-10-17 06:15:04 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 11.018秒 2025-10-17 06:15:04 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:15:04 - INFO - main - [url_processor.py:324] - process_url - UI審核: 主頁面審核通過: https://poket.easy.co/ 2025-10-17 06:15:04 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 1/20: https://poket.easy.co/ 2025-10-17 06:15:04 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 4537 字符 2025-10-17 06:15:04 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:15:04 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 31 2025-10-17 06:15:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:15:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:15:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:15:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:15:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:15:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:15:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:15:06 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 31,內容可能已加載完成 2025-10-17 06:15:06 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:15:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:15:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 2/19 2025-10-17 06:15:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:15:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:15: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-17 06:15:15 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.126秒 2025-10-17 06:15:15 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 11.181秒 2025-10-17 06:15:15 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:15:15 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/ 2025-10-17 06:15:15 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 2/20: https://poket.easy.co/collections/韓國女裝-1 2025-10-17 06:15:15 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 3701 字符 2025-10-17 06:15:15 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:15:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:15:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 212.7MB, CPU 0.0% 2025-10-17 06:15:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:15:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:15:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:15:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:15:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:15:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:15:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:15:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:15:25 - 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-17 06:15:25 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.005秒 2025-10-17 06:15:25 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 10.064秒 2025-10-17 06:15:25 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:15:25 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/韓國女裝-1 2025-10-17 06:15:25 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 3/20: https://poket.easy.co/pages/付款與運送 2025-10-17 06:15:25 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 263 字符 2025-10-17 06:15:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:15:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 2/19 2025-10-17 06:15:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 3/21 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/about/ (實際 URL: https://about.youtube/) 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 36676 字節 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 445 字節 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 383 字節 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 229 字節 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 383 字節,約 69 個詞,8 行 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: about.youtube uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic. Learn more . OK, got it Jump to content About YouTube Our mission is to give everyone a voice and show them the world. We believe that everyone deserves to have a voice, and that the world is a better place when we listen, share and build community through our stories. 2025-10-17 06:15:29 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 3/19 個網址 2025-10-17 06:15:29 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/t/contact_us/ 2025-10-17 06:15:29 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/t/contact_us/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/t/contact_us/ 的第 1/3 次請求 2025-10-17 06:15:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20dd5a010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6021d65bab0af4808919c7e07e4d09ff 2025-10-17 06:15:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20dd5b0d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6021d65bab0af4808919c7e07e4d09ff 2025-10-17 06:15:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20dd5bcd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/6021d65bab0af4808919c7e07e4d09ff 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_4b855ac6_uluhloxi 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:15:29 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:15:30 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:15:30 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848181584 (1/3) 2025-10-17 06:15:30 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/t/contact_us/ 2025-10-17 06:15:31 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/t/contact_us/ 2025-10-17 06:15:31 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:15:31 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:15:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:15:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:15:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:15: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-17 06:15:36 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.765秒 2025-10-17 06:15:36 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.823秒 2025-10-17 06:15:36 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:15:36 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/pages/付款與運送 2025-10-17 06:15:36 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 4/20: https://poket.easy.co/collections/上身 2025-10-17 06:15:36 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 399 字符 2025-10-17 06:15:36 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/about/team (實際 URL: https://feibi-coffee.com/about/team) 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 20093 字節 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 199 字節 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 265 字節 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 349 字節 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 265 字節,約 28 個詞,16 行 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 我們的團隊 啡彼咖啡的每位夥伴都懷抱對咖啡的熱忱與堅持。 我們相信團隊的力量能創造出不凡的風味與體驗, 將熱情注入每一份產品與服務中, 讓顧客不只是喝咖啡,更感受到溫暖的心意。 職人精神 每一杯咖啡的背後,都是無數次試煉與堅持。 團隊中的烘豆師與咖啡師們秉持職人精神, 持續精進技術、挑戰極限,只為呈現最完美的風味。 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:15:37 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 4/21 個網址 2025-10-17 06:15:37 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/about/contact 2025-10-17 06:15:37 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/about/contact, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/about/contact 的第 1/3 次請求 2025-10-17 06:15:37 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209c7cc50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f7f71ddc135d7a6812f32d9dfab0d43a 2025-10-17 06:15:37 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209c3b010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f7f71ddc135d7a6812f32d9dfab0d43a 2025-10-17 06:15:37 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de2088d29d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f7f71ddc135d7a6812f32d9dfab0d43a 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_841ceb0a_r641hp3m 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:15:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:15:37 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409790803152 (1/3) 2025-10-17 06:15:37 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/about/contact 2025-10-17 06:15:38 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/about/contact 2025-10-17 06:15:38 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:15:38 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:15:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:15:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:15: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-17 06:15:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.103秒 2025-10-17 06:15:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.160秒 2025-10-17 06:15:45 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:15:45 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/上身 2025-10-17 06:15:45 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 5/20: https://poket.easy.co/collections/長袖 2025-10-17 06:15:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1877 字符 2025-10-17 06:15:46 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:15:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:15:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:15: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-17 06:15:53 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.221秒 2025-10-17 06:15:53 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.282秒 2025-10-17 06:15:53 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:15:53 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/長袖 2025-10-17 06:15:53 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 6/20: https://poket.easy.co/collections/文青家 2025-10-17 06:15:53 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 341 字符 2025-10-17 06:15:53 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:15:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:15:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:16:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:16:04 - 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-17 06:16:04 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.079秒 2025-10-17 06:16:04 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 45 字符, 總耗時: 11.137秒 2025-10-17 06:16:04 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論: 審核通過... 2025-10-17 06:16:04 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/文青家 2025-10-17 06:16:04 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 7/20: https://poket.easy.co/collections/人氣推薦 2025-10-17 06:16:04 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1409 字符 2025-10-17 06:16:04 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:16:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:16:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:16:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:16: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-17 06:16:13 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.200秒 2025-10-17 06:16:13 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.257秒 2025-10-17 06:16:13 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:16:13 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/人氣推薦 2025-10-17 06:16:13 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 8/20: https://poket.easy.co/collections/韓國包包 2025-10-17 06:16:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 342 字符 2025-10-17 06:16:13 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:16:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:16:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:16:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:16:18 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:16:18 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/about/contact 2025-10-17 06:16:20 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:16:20 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:16:20 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:16:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:16:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:16:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:16:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:16:24 - 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-17 06:16:24 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.364秒 2025-10-17 06:16:24 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.422秒 2025-10-17 06:16:24 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:16:24 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/韓國包包 2025-10-17 06:16:24 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 9/20: https://poket.easy.co/collections/洋裝 2025-10-17 06:16:24 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 340 字符 2025-10-17 06:16:24 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:16:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:16:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:16:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:16:31 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 267 2025-10-17 06:16:32 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 40 2025-10-17 06:16:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:16:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:16:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:16:34 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 40,內容可能已加載完成 2025-10-17 06:16:34 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:16: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-17 06:16:34 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.220秒 2025-10-17 06:16:34 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.278秒 2025-10-17 06:16:34 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:16:34 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/洋裝 2025-10-17 06:16:34 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 10/20: https://poket.easy.co/collections/reve 2025-10-17 06:16:34 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 343 字符 2025-10-17 06:16:34 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:16:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:16:35 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:16:35 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/t/contact_us/ 2025-10-17 06:16:37 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:16:37 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:16:37 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:16:37 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:16:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:16:40 - 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-17 06:16:40 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.900秒 2025-10-17 06:16:40 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 5.957秒 2025-10-17 06:16:40 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:16:40 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/reve 2025-10-17 06:16:40 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 11/20: https://poket.easy.co/collections/cm家 2025-10-17 06:16:40 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 341 字符 2025-10-17 06:16:40 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:16:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 50 2025-10-17 06:16:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 50,內容可能已加載完成 2025-10-17 06:16:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:16:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:16:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:16: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-17 06:16:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.832秒 2025-10-17 06:16:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.900秒 2025-10-17 06:16:48 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:16:48 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/cm家 2025-10-17 06:16:48 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 12/20: https://poket.easy.co/pages/品牌故事-1 2025-10-17 06:16:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 436 字符 2025-10-17 06:16:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:16:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 212.7MB, CPU 0.0% 2025-10-17 06:16:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:16:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:16:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:16:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:16:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:16:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 4/21 2025-10-17 06:16: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-17 06:16:57 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.063秒 2025-10-17 06:16:57 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 9.145秒 2025-10-17 06:16:57 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:16:57 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/pages/品牌故事-1 2025-10-17 06:16:57 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 13/20: https://poket.easy.co/legal/refund-policy 2025-10-17 06:16:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 583 字符 2025-10-17 06:16:57 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:17:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/about/contact (實際 URL: https://feibi-coffee.com/about/contact) 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 21262 字節 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 162 字節 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 222 字節 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 322 字節 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=True, 分數=2 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 2 選擇 trafilatura 作為最佳結果 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 162 字節,約 22 個詞,13 行 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 有任何問題或合作需求,歡迎隨時與我們聯繫。我們會盡快回覆您的訊息。 留下訊息 客服時間 週一至週五 09:00 - 18:00 Email 聯繫 feibicoffee@gmail.com 客服專線 0967226595 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 客服資訊 訂閱我們 獲取最新優惠與消息 2025-10-17 06:17:04 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 5/21 個網址 2025-10-17 06:17:04 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/ 2025-10-17 06:17:04 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/ 的第 1/3 次請求 2025-10-17 06:17: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 0x7de20a3d5dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b9abc95ac846d5e55e5a035526a63bcd 2025-10-17 06:17: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 0x7de2090b7ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b9abc95ac846d5e55e5a035526a63bcd 2025-10-17 06:17: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 0x7de2090b6410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b9abc95ac846d5e55e5a035526a63bcd 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_5eae0bd4_8jumd0m1 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:17:04 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409779956944 (1/3) 2025-10-17 06:17:04 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/ 2025-10-17 06:17:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:17:05 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/ 2025-10-17 06:17:05 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:17:05 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:17:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:17:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:17:14 - 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-17 06:17:14 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 17.388秒 2025-10-17 06:17:14 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 45 字符, 總耗時: 17.447秒 2025-10-17 06:17:14 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論: 審核通過... 2025-10-17 06:17:14 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/legal/refund-policy 2025-10-17 06:17:14 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 14/20: https://poket.easy.co/collections/口袋名單 2025-10-17 06:17:14 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 3851 字符 2025-10-17 06:17:14 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:17:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:17:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:17:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:17:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:17:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:17:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:17:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:17:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:17:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:17:26 - 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-17 06:17:26 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.899秒 2025-10-17 06:17:26 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 11.963秒 2025-10-17 06:17:26 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:17:26 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/口袋名單 2025-10-17 06:17:26 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 15/20: https://poket.easy.co/collections/baby家 2025-10-17 06:17:26 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 343 字符 2025-10-17 06:17:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:17:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 3/19 2025-10-17 06:17:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/t/contact_us/ (實際 URL: https://www.youtube.com/t/contact_us/) 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 6660 字節 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 2059 字節 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2123 字節 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2066 字節 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 2123 字節,約 347 個詞,63 行 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: JP About YouTube Community Guidelines Contact Us Careers Contact Us If you need help, please visit our Help Center . There you'll find answers to many common questions about creating an account, watching and uploading videos, and maintaining your channel. If you're unable to find what you're looking for in the Help Center, we suggest visiting our Community Help Forum . Experiencing a bug? Take a look at our Current Site Issues page to see a list of known issues we're working to fix. Media Relations Press Room This area contains media contact information, press releases, b-roll footage, FAQs, and our interactive timeline. Partner Program If you're interested in joining the YouTube Partner Program, visit our information page to learn more about it. Advertising Whether an AdAge 100 advertiser or a local retailer, everyone can broadcast their ad campaign on YouTube and tap into the world's largest online video community. Learn the basics to advertising on YouTube . Security Abuse Issues For any abuse issues on the site, please contact us through the Abuse and Policy Center . Site Security Issues If you want to report a security issue with the YouTube site, please visit us here . Legal Copyright Issues If you are the copyright owner of a video and feel it has been uploaded without your permission, please follow these directions to submit a copyright infringement notice. Content ID Program If you're interested in being part of our Content ID program, please visit the Content ID page. Inappropriate Content To report an inappropriate video on YouTube, please click the "Flag" link under the video. For details on our policy, please read the Terms of Service . Additional Contact Information Developers If you're a developer or interested in our APIs, please visit the Developer area . Submit Additional Content to Google See all opportunities to distribute your content for free across Google including gadgets, product search, local business center and books. Our Address You can contact YouTube at the address below. Google LLC, D/B/A YouTube 901 Cherry Ave. San Bruno, CA 94066 USA Fax: +1 650-253-0001 2025-10-17 06:17:31 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 4/19 個網址 2025-10-17 06:17:31 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/about/press/ 2025-10-17 06:17:31 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/about/press/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/about/press/ 的第 1/3 次請求 2025-10-17 06:17:31 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c7f5f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2b16468144a9bbd7ead1c9736a7bcde7 2025-10-17 06:17:31 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c7f4bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2b16468144a9bbd7ead1c9736a7bcde7 2025-10-17 06:17:31 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c7f71d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2b16468144a9bbd7ead1c9736a7bcde7 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_55b7c763_izqyu5om 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:17:31 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:17:32 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:17:32 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409825749072 (1/3) 2025-10-17 06:17:32 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/about/press/ 2025-10-17 06:17:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:17:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:17:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:17:34 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/about/press/ 2025-10-17 06:17:34 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:17:34 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:17:34 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:17:34 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/about/press/ 2025-10-17 06:17:36 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:17:36 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:17:36 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:17:36 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:17: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-17 06:17:37 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.490秒 2025-10-17 06:17:37 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.548秒 2025-10-17 06:17:37 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:17:37 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/baby家 2025-10-17 06:17:37 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 16/20: https://poket.easy.co/collections/外套 2025-10-17 06:17:37 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1251 字符 2025-10-17 06:17:37 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:17:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 4/19 2025-10-17 06:17:40 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 404 2025-10-17 06:17:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:17:42 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 404,內容可能已加載完成 2025-10-17 06:17:42 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:17:42 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:17:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:17: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-17 06:17:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.250秒 2025-10-17 06:17:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 8.337秒 2025-10-17 06:17:45 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:17:45 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/外套 2025-10-17 06:17:45 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 17/20: https://poket.easy.co/collections/背心 2025-10-17 06:17:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 400 字符 2025-10-17 06:17:45 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:17:46 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:17:46 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/ 2025-10-17 06:17:48 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:17:48 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:17:48 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:17:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 4/19 2025-10-17 06:17:50 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-17 06:17:50 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //img[contains(@src, 'loader')],等待其消失 2025-10-17 06:17:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:17: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-17 06:17:54 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.684秒 2025-10-17 06:17:54 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.874秒 2025-10-17 06:17:54 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:17:54 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/背心 2025-10-17 06:17:54 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 18/20: https://poket.easy.co/collections/配件 2025-10-17 06:17:54 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 340 字符 2025-10-17 06:17:54 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:17:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:17:58 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 431 2025-10-17 06:17:59 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 59 2025-10-17 06:18:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 4/19 2025-10-17 06:18:01 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 59,內容可能已加載完成 2025-10-17 06:18:01 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:18:01 - 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-17 06:18:01 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.223秒 2025-10-17 06:18:01 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.323秒 2025-10-17 06:18:01 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:18:01 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/配件 2025-10-17 06:18:01 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 19/20: https://poket.easy.co/collections/褲子 2025-10-17 06:18:01 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 399 字符 2025-10-17 06:18:01 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:18:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:18:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:18:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:18:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:18:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:18:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:18:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:18:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:18:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:18:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 4/19 2025-10-17 06:18:11 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/about/press/ (實際 URL: https://blog.youtube/) 2025-10-17 06:18:11 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 207476 字節 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 3833 字節 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 17977 字節 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 17595 字節 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 19553 字節 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 17977 字節,約 2897 個詞,366 行 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: blog.youtube uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic. Learn more . OK, got it Skip to Main Content Subscribe YouTube Official Blog Homepage Hero Slider Culture and Trends YouTube report analyzes the power of the YouTube Shopping ecosystem 1 / 5 Creator and Artist Stories Why Brandon B calls YouTube the "great equaliser" 2 / 5 Creator and Artist Stories Trixie Mattel goes behind the scenes of The Hollywood Reporter's creator issue 3 / 5 Creator and Artist Stories The business of being Giggly Squad 4 / 5 Inside YouTube New report explores YouTube's growing impact in Europe 5 / 5 Culture and Trends YouTube report analyzes the power of the YouTube Shopping ecosystem 1 / 5 Creator and Artist Stories Why Brandon B calls YouTube the "great equaliser" 2 / 5 Creator and Artist Stories Trixie Mattel goes behind the scenes of The Hollywood Reporter's creator issue 3 / 5 Creator and Artist Stories The business of being Giggly Squad 4 / 5 Inside YouTube New report explores YouTube's growing impact in Europe 5 / 5 Culture and Trends YouTube report analyzes the power of the YouTube Shopping ecosystem 1 / 5 Creator and Artist Stories Why Brandon B calls YouTube the "great equaliser" 2 / 5 Creator and Artist Stories Trixie Mattel goes behind the scenes of The Hollywood Reporter's creator issue 3 / 5 Creator and Artist Stories The business of being Giggly Squad 4 / 5 Inside YouTube New report explores YouTube's growing impact in Europe 5 / 5 Culture and Trends YouTube report analyzes the power of the YouTube Shopping ecosystem 1 / 5 Creator and Artist Stories Why Brandon B calls YouTube the "great equaliser" 2 / 5 Creator and Artist Stories Trixie Mattel goes behind the scenes of The Hollywood Reporter's creator issue 3 / 5 Creator and Artist Stories The business of being Giggly Squad 4 / 5 Inside YouTube New report explores YouTube's growing impact in Europe 5 / 5 Culture and Trends YouTube report analyzes the power of the YouTube Shopping ecosystem 1 / 5 Creator and Artist Stories Why Brandon B calls YouTube the "great equaliser" 2 / 5 Creator and Artist Stories Trixie Mattel goes behind the scenes of The Hollywood Reporter's creator issue 3 / 5 Creator and Artist Stories The business of being Giggly Squad 4 / 5 Inside YouTube New report explores YouTube's growing impact in Europe 5 / 5 Culture and Trends YouTube report analyzes the power of the YouTube Shopping ecosystem 1 / 5 Creator and Artist Stories Why Brandon B calls YouTube the "great equaliser" 2 / 5 Creator and Artist Stories Trixie Mattel goes behind the scenes of The Hollywood Reporter's creator issue 3 / 5 Creator and Artist Stories The business of being Giggly Squad 4 / 5 Inside YouTube New report explores YouTube's growing impact in Europe 5 / 5 News and Events Enriching classrooms with music education on YouTube By Katie Kurtz , Managing Director, Youth and Learning Partnerships, YouTube Oct 05, 2025 We know educators play an essential role inspiring curiosity in their students, and often rely on YouTube to enhance their lesson plans. In fact, 94% of teachers say they use YouTube in their role as a teacher 1 . So we are committed to supporting teachers with an engaging library of high quality, age appropriate content taught by world-class creators. Today, we’re excited to announce a new Music Education series, “ Think Like a Musician ”. This partnership combines the power of TED-Ed, a beloved learning channel, Education Through Music’s reputable curriculum, and professional artists to bring high-quality music education resources to teachers around the world. Each video will include comprehensive resources, such as a lesson plan and a rubric, enabling easy integration into classrooms. Every video will even include an interactive experience to encourage hands-on student engagement. Educators can confidently share this high-quality content in classroom settings via the YouTube Player for Education , a distraction-free embedded video player that is integrated inside popular educational tools. And for those not in the classroom, there is more to learn on YouTube. In fact, in the US, 92% of viewers report using YouTube to gather information and knowledge 2 . Lifelong learners can broaden their knowledge on anything from learning to code to baking bread . Check out youtube.com/learning to teach yourself something new. We appreciate all the work that teachers do - whether you’re in the classroom or behind a camera - thank you for using YouTube to help teach the world! 1 According to an Aug 2024 survey conducted by Ipsos in eleven markets (AU, BR, CA, DE, FR, ID, IN, JP, KR, UK, and US). 2 According to research by Oxford Economics We know educators play an essential role inspiring curiosity in their students, and often rely on YouTube to enhance their lesson plans. In fact, 94% of teachers say they use YouTube in their role as a teacher 1 . So we are committed to supporting teachers with an engaging library of high quality, age appropriate content taught by world-class creators. Today, we’re excited to announce a new Music Education series, “ Think Like a Musician ”. This partnership combines the power of TED-Ed, a beloved learning channel, Education Through Music’s reputable curriculum, and professional artists to bring high-quality music education resources to teachers around the world. Each video will include comprehensive resources, such as a lesson plan and a rubric, enabling easy integration into classrooms. Every video will even include an interactive experience to encourage hands-on student engagement. Educators can confidently share this high-quality content in classroom settings via the YouTube Player for Education , a distraction-free embedded video player that is integrated inside popular educational tools. And for those not in the classroom, there is more to learn on YouTube. In fact, in the US, 92% of viewers report using YouTube to gather information and knowledge 2 . Lifelong learners can broaden their knowledge on anything from learning to code to baking bread . Check out youtube.com/learning to teach yourself something new. We appreciate all the work that teachers do - whether you’re in the classroom or behind a camera - thank you for using YouTube to help teach the world! 1 According to an Aug 2024 survey conducted by Ipsos in eleven markets (AU, BR, CA, DE, FR, ID, IN, JP, KR, UK, and US). 2 According to research by Oxford Economics Culture and Trends Crushing it: The hydraulic press's decade of success By The YouTube Culture & Trends team Oct 06, 2025 The hydraulic press isn't just a piece of metalworking muscle anymore—it's become an unlikely superstar of online entertainment, thanks entirely to creators on YouTube. This content niche is a perfect example of how creators can take a heavy-duty mechanical tool and transform it into a globally addictive genre of oddly satisfying content and ASMR. The whole thing kicked off with pioneers like Finnish machinist Lauri Vuohensilta, who launched the seminal Hydraulic Press Channel , proving that the simple, dramatic destruction of a random object was a recipe for success. Since launching their channel in October 2015, Hydraulic Press Channel has received more than 6.5B views.* Today, that explosive original format lives on through channels like Crazy Hydraulic Press and the Shorts-exclusive Hydraulic Party , which deliver intense, beautifully satisfying clips of just about anything being compressed. Today, on the 10th anniversary of the first video uploaded by Hydraulic Press Channel, we celebrate the genre that turned destruction into a form of art through our unique YouTube logo (also known as the Yoodle). Then, dive into our Shorts playlist for a dose of that oddly satisfying ASMR, and prepare to be crushed by the sheer volume of amazing content. *Source: YouTube Data, Global, Lifetime The hydraulic press isn't just a piece of metalworking muscle anymore—it's become an unlikely superstar of online entertainment, thanks entirely to creators on YouTube. This content niche is a perfect example of how creators can take a heavy-duty mechanical tool and transform it into a globally addictive genre of oddly satisfying content and ASMR. The whole thing kicked off with pioneers like Finnish machinist Lauri Vuohensilta, who launched the seminal Hydraulic Press Channel , proving that the simple, dramatic destruction of a random object was a recipe for success. Since launching their channel in October 2015, Hydraulic Press Channel has received more than 6.5B views.* Today, that explosive original format lives on through channels like Crazy Hydraulic Press and the Shorts-exclusive Hydraulic Party , which deliver intense, beautifully satisfying clips of just about anything being compressed. Today, on the 10th anniversary of the first video uploaded by Hydraulic Press Channel, we celebrate the genre that turned destruction into a form of art through our unique YouTube logo (also known as the Yoodle). Then, dive into our Shorts playlist for a dose of that oddly satisfying ASMR, and prepare to be crushed by the sheer volume of amazing content. *Source: YouTube Data, Global, Lifetime News and Events Aitch and Gunna named team captains in first UK Creator Flag Football Game on October 11 By The YouTube Team Oct 02, 2025 On October 11, the NFL and YouTube are taking our celebrity flag football game overseas in an epic London matchup between two teams of creators, music artists, athletes and NFL Legends. Global music stars Aitch and Gunna will serve as team captains. Team Gunna will be quarterbacked by global flag football star Diana Flores , have NFL icon Chad “Ochocinco” Johnson join as wide receiver, and feature a roster of YouTube Creators Deestroying , Khaby Lame , Speedy Morman , Jamie Laing , Sam Thompson , and Nella Rose , alongside additional surprise guests. NFL Legend Ryan Fitzpatrick will take the field for Team Aitch, joined by an exciting lineup including YouTube Creator Adam W , U.S. flag football player Ashlea Klam, Tommy Fury, SV2, Jay Cinco, Mabel , and European women’s flag football champion Phoebe Schecter . Catch all the action, kicking off at 7:00 p.m. BST on October 11, exclusively on YouTube . On October 11, the NFL and YouTube are taking our celebrity flag football game overseas in an epic London matchup between two teams of creators, music artists, athletes and NFL Legends. Global music stars Aitch and Gunna will serve as team captains. Team Gunna will be quarterbacked by global flag football star Diana Flores , have NFL icon Chad “Ochocinco” Johnson join as wide receiver, and feature a roster of YouTube Creators Deestroying , Khaby Lame , Speedy Morman , Jamie Laing , Sam Thompson , and Nella Rose , alongside additional surprise guests. NFL Legend Ryan Fitzpatrick will take the field for Team Aitch, joined by an exciting lineup including YouTube Creator Adam W , U.S. flag football player Ashlea Klam, Tommy Fury, SV2, Jay Cinco, Mabel , and European women’s flag football champion Phoebe Schecter . Catch all the action, kicking off at 7:00 p.m. BST on October 11, exclusively on YouTube . News and Events Introducing YouTube Labs: Shape the future of AI on YouTube By Aparna Pappu , Vice President, YouTube Labs Sep 26, 2025 Today, we’re introducing YouTube Labs — a new way for users to take our cutting edge AI experiments for a test drive. YouTube Labs is a new initiative dedicated to exploring the potential of AI on YouTube. The first experiment, AI music hosts designed to deepen your listening experience by sharing relevant stories, fan trivia, and fun commentary about your favorite music on the YouTube Music app, is now live. A limited number of US-based participants can test early prototypes and experiments and influence the future of YouTube. Sign up at www.youtube.com/new . Today, we’re introducing YouTube Labs — a new way for users to take our cutting edge AI experiments for a test drive. YouTube Labs is a new initiative dedicated to exploring the potential of AI on YouTube. The first experiment, AI music hosts designed to deepen your listening experience by sharing relevant stories, fan trivia, and fun commentary about your favorite music on the YouTube Music app, is now live. A limited number of US-based participants can test early prototypes and experiments and influence the future of YouTube. Sign up at www.youtube.com/new . News and Events New forum for Creators to engage policymakers unveiled at YouTube Festival By The YouTube Team Sep 24, 2025 A new dedicated, cross party forum to champion the creator economy unveiled today at the YouTube Festival, an annual industry event in London. The new All-Party Parliamentary Group (APPG) will act as a vital bridge between the UK’s creators and Westminster. The group’s formation follows feedback from over 10,000 digital creators who took part in YouTube’s inaugural Creator Consultation earlier this summer. The new APPG’s mission is to champion the significant social and economic contributions of UK creators while working with policymakers to deepen their understanding of the digital creator economy and advocate effectively for the sector. Two former Digital Ministers — Feryal Clark MP and Lord Ed Vaizey — will co-chair the cross-party group of parliamentarians taking part. Creators are a dynamic and growing force within the creative industries with the potential to power a new era of innovation, contributing over £2.2 billion* to the UK economy and supporting over 45,000 jobs*.  However, the Consultation revealed that UK creator growth is significantly hampered by a lack of recognition. This is compounded by significant gaps in support - including skills, training, funding, studio space, and filming permits - which undermines creators' ability to innovate, reach new audiences, build their businesses, and support economic growth. The forum will tackle the most pressing challenges and opportunities facing the sector, including skills, training and funding opportunities, improvements to filming infrastructure, alongside the need for greater government and industry representation. The new group will be run by the Digital Creator Association and Influencer Marketing Trade Body, both of which represent the interests of digital creator, with support from YouTube as the next step following the Creator Consultation. * 2024 Oxford Economics Impact Report A new dedicated, cross party forum to champion the creator economy unveiled today at the YouTube Festival, an annual industry event in London. The new All-Party Parliamentary Group (APPG) will act as a vital bridge between the UK’s creators and Westminster. The group’s formation follows feedback from over 10,000 digital creators who took part in YouTube’s inaugural Creator Consultation earlier this summer. The new APPG’s mission is to champion the significant social and economic contributions of UK creators while working with policymakers to deepen their understanding of the digital creator economy and advocate effectively for the sector. Two former Digital Ministers — Feryal Clark MP and Lord Ed Vaizey — will co-chair the cross-party group of parliamentarians taking part. Creators are a dynamic and growing force within the creative industries with the potential to power a new era of innovation, contributing over £2.2 billion* to the UK economy and supporting over 45,000 jobs*.  However, the Consultation revealed that UK creator growth is significantly hampered by a lack of recognition. This is compounded by significant gaps in support - including skills, training, funding, studio space, and filming permits - which undermines creators' ability to innovate, reach new audiences, build their businesses, and support economic growth. The forum will tackle the most pressing challenges and opportunities facing the sector, including skills, training and funding opportunities, improvements to filming infrastructure, alongside the need for greater government and industry representation. The new group will be run by the Digital Creator Association and Influencer Marketing Trade Body, both of which represent the interests of digital creator, with support from YouTube as the next step following the Creator Consultation. * 2024 Oxford Economics Impact Report 1 5 YouTube Official Blog Card Grid Latest Trending Creators Experience YouTube AI Culture and Trends YouTube Music Follow along @UpdatesFromYouTube Inside ‪@LaurenZside‬ debut book "Going Under" YouTube's $3M fund for creative professionals in L.A. Pop the confetti, because ‪YouTube‬ is 20! Do you know these facts? Win it in-game, wear it IRL 🏆 #roblox #blockparty Introducing #YouTubeInSession The entertainment industry is changing thanks to fandom ‪@criticalrole‬ 1 6 Experience YouTube Everything you missed at Made On YouTube At Made on YouTube, we introduced new products and innovations to power the next decade of creation, connection, and business, on YouTube. News and Events The next 20: Powering the future of entertainment together at Made on YouTube Made On YouTube Products and Features Creation TV YouTube Shorts Live YouTube Ads ... News and Events Made On YouTube: Everything you need to know in 3 videos Products and Features Made On YouTube ... News and Events The future of YouTube: Colin & Samir’s favorite updates from Made On YouTube Made On YouTube Creators Products and Features AI Creation ... News and Events Made On YouTube 2025: Event recap in photos Made On YouTube Events Products and Features ... Read more Discover More AI Artists Health Learning and Education Made On YouTube YouTube Premium Yoodles Policy Products and Features Work Diaries Want more from The YouTube Blog? Join our newsletter! Subscribe Please check your network connection and try again. Join our newsletter to receive the latest news, trends, and features straight to your inbox! Let's get contenting! You'll receive a confirmation soon. OK, got it 2025-10-17 06:18:12 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 5/19 個網址 2025-10-17 06:18:12 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/about/policies/ 2025-10-17 06:18:12 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/about/policies/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/about/policies/ 的第 1/3 次請求 2025-10-17 06:18: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 0x7de20e04f1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d849f736fe9266fb28e1dc1663483e15 2025-10-17 06:18: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 0x7de20de01190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d849f736fe9266fb28e1dc1663483e15 2025-10-17 06:18: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 0x7de20de02090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d849f736fe9266fb28e1dc1663483e15 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_e09ae8e3_f74ka3b9 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:18:12 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:18:13 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409841435920 (1/3) 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/about/policies/ 2025-10-17 06:18:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/about/policies/ 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:18:13 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/about/policies/ 2025-10-17 06:18:14 - 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-17 06:18:14 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 12.465秒 2025-10-17 06:18:14 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 12.574秒 2025-10-17 06:18:14 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:18:14 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/褲子 2025-10-17 06:18:14 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 20/20: https://poket.easy.co/collections/裙子 2025-10-17 06:18:14 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 340 字符 2025-10-17 06:18:14 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:15 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:18:15 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:18:15 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:18:15 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:18:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:18:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:18:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:18:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.8MB, CPU 0.0% 2025-10-17 06:18:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:18:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:18:19 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 105 2025-10-17 06:18:21 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 105,內容可能已加載完成 2025-10-17 06:18:21 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:18:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 5/19 2025-10-17 06:18:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:18:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:18:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 5/21 2025-10-17 06:18:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:18:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:18:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:18:25 - 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-17 06:18:25 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.874秒 2025-10-17 06:18:25 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 10.929秒 2025-10-17 06:18:25 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:18:25 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://poket.easy.co/collections/裙子 2025-10-17 06:18:25 - INFO - main - [url_processor.py:395] - process_url - 開始判斷主頁面購物車功能 2025-10-17 06:18:25 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:25 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 4537 字符 2025-10-17 06:18:25 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:18: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-17 06:18:29 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.781秒 2025-10-17 06:18:29 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.867秒 2025-10-17 06:18:29 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:29 - INFO - main - [url_processor.py:398] - process_url - 主頁面購物車判斷: 有購物車功能 2025-10-17 06:18:29 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 1/20 購物車功能 2025-10-17 06:18:29 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:29 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 4537 字符 2025-10-17 06:18:29 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:31 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/ (實際 URL: https://feibi-coffee.com/) 2025-10-17 06:18:31 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:18:31 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:18:31 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:18:31 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 34775 字節 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 308 字節 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 402 字節 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 486 字節 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 402 字節,約 70 個詞,44 行 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 熱門商品 中焙 隨機 塔羅咖啡隨機禮盒(10入) NT$420 淺焙 濕剝 曼特寧 Madheling 濾掛(10入) NT$200 中焙 日曬 龐貝 Pompeii 單品(10入) NT$480 中焙 玫瑰藝妓 Rose Geisha 咖啡禮盒(10入) NT$900 中焙 蜜處理 貝多芬 Beethoven Blend 單品(10入) NT$430 淺焙 日曬 天堂鳥 Paradise Bird 咖啡禮盒(20入) NT$800 中焙 日曬 莫札特 Mozart Blend 濾掛(10入) NT$420 淺焙 日曬 天堂鳥 Paradise Bird 咖啡豆(半磅) NT$300 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:18:32 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 6/21 個網址 2025-10-17 06:18:32 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/19 2025-10-17 06:18:32 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/19, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/19 的第 1/3 次請求 2025-10-17 06:18: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 0x7de20a674dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c9c682ea495a1ff6b0fb71e99808acd 2025-10-17 06:18: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 0x7de20a7f8290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c9c682ea495a1ff6b0fb71e99808acd 2025-10-17 06:18: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 0x7de20a7f9050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c9c682ea495a1ff6b0fb71e99808acd 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_1144e913_8jhmuiqh 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:18:32 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409779286416 (1/3) 2025-10-17 06:18:32 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/19 2025-10-17 06:18:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:18:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:18:33 - 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-17 06:18:33 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.054秒 2025-10-17 06:18:33 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.112秒 2025-10-17 06:18:33 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:33 - INFO - main - [url_processor.py:409] - process_url - 子頁面 1 購物車判斷: 有購物車功能 2025-10-17 06:18:33 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 2/20 購物車功能 2025-10-17 06:18:33 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:33 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 3701 字符 2025-10-17 06:18:33 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/19 2025-10-17 06:18:33 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 5/19 2025-10-17 06:18:33 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:18:33 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:18:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:18: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-17 06:18:35 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.257秒 2025-10-17 06:18:35 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.412秒 2025-10-17 06:18:35 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:35 - INFO - main - [url_processor.py:409] - process_url - 子頁面 2 購物車判斷: 有購物車功能 2025-10-17 06:18:35 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 3/20 購物車功能 2025-10-17 06:18:35 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 263 字符 2025-10-17 06:18:35 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:39 - 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-17 06:18:39 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.697秒 2025-10-17 06:18:39 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.754秒 2025-10-17 06:18:39 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:39 - INFO - main - [url_processor.py:409] - process_url - 子頁面 3 購物車判斷: 有購物車功能 2025-10-17 06:18:39 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 4/20 購物車功能 2025-10-17 06:18:39 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:39 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 399 字符 2025-10-17 06:18:39 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: 7agun26rgz 2025-10-17 06:18:39 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://s9.buyplus1.com.tw/b/1944116005843614/index.php,結果將立即顯示 2025-10-17 06:18:39 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 130, Phone: 0987237269, Email: soccerfans103@gmail.com 2025-10-17 06:18:39 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=130, URL=https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:18:39 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-17 06:18:39 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #2 開始處理 URL ID: 130 2025-10-17 06:18:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:18:39 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:39 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:18:39 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://s9.buyplus1.com.tw/b/1944116005843614/index.php, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://s9.buyplus1.com.tw/b/1944116005843614/index.php 的第 1/3 次請求 2025-10-17 06:18: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 0x7de20d6e1b50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a56cc69869432414e1a0420e31eae32d 2025-10-17 06:18: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 0x7de20de03490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a56cc69869432414e1a0420e31eae32d 2025-10-17 06:18: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 0x7de20de034d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a56cc69869432414e1a0420e31eae32d 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_731f5da1_2uzkusa6 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:18:39 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:18:40 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:18:40 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848869712 (2/3) 2025-10-17 06:18:40 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:18:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:18:41 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:18:41 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:18:41 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:18:42 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-17 06:18:42 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.886秒 2025-10-17 06:18:42 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.959秒 2025-10-17 06:18:42 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:42 - INFO - main - [url_processor.py:409] - process_url - 子頁面 4 購物車判斷: 有購物車功能 2025-10-17 06:18:42 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 5/20 購物車功能 2025-10-17 06:18:42 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:42 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1877 字符 2025-10-17 06:18:42 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 5/19 2025-10-17 06:18: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-17 06:18:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.089秒 2025-10-17 06:18:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.158秒 2025-10-17 06:18:45 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:45 - INFO - main - [url_processor.py:409] - process_url - 子頁面 5 購物車判斷: 有購物車功能 2025-10-17 06:18:45 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 6/20 購物車功能 2025-10-17 06:18:45 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 341 字符 2025-10-17 06:18:45 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:18: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-17 06:18:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.603秒 2025-10-17 06:18:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.664秒 2025-10-17 06:18:48 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:48 - INFO - main - [url_processor.py:409] - process_url - 子頁面 6 購物車判斷: 有購物車功能 2025-10-17 06:18:48 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 7/20 購物車功能 2025-10-17 06:18:48 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1409 字符 2025-10-17 06:18:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:18:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:18: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-17 06:18:53 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.545秒 2025-10-17 06:18:53 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.606秒 2025-10-17 06:18:53 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:53 - INFO - main - [url_processor.py:409] - process_url - 子頁面 7 購物車判斷: 有購物車功能 2025-10-17 06:18:53 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 8/20 購物車功能 2025-10-17 06:18:53 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:53 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 342 字符 2025-10-17 06:18:53 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 5/19 2025-10-17 06:18:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:18: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-17 06:18:57 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.610秒 2025-10-17 06:18:57 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.670秒 2025-10-17 06:18:57 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:18:57 - INFO - main - [url_processor.py:409] - process_url - 子頁面 8 購物車判斷: 有購物車功能 2025-10-17 06:18:57 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 9/20 購物車功能 2025-10-17 06:18:57 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:18:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 340 字符 2025-10-17 06:18:57 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:18:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:18:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:19:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:19:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:19:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:19:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:19:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:19:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:19:02 - 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-17 06:19:02 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.317秒 2025-10-17 06:19:02 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.378秒 2025-10-17 06:19:02 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:02 - INFO - main - [url_processor.py:409] - process_url - 子頁面 9 購物車判斷: 有購物車功能 2025-10-17 06:19:02 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 10/20 購物車功能 2025-10-17 06:19:02 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:02 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 343 字符 2025-10-17 06:19:02 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:19:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:19:04 - 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-17 06:19:04 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.960秒 2025-10-17 06:19:04 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.023秒 2025-10-17 06:19:04 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:04 - INFO - main - [url_processor.py:409] - process_url - 子頁面 10 購物車判斷: 有購物車功能 2025-10-17 06:19:04 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 11/20 購物車功能 2025-10-17 06:19:04 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:04 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 341 字符 2025-10-17 06:19:05 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 5/19 2025-10-17 06:19:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:19: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-17 06:19:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.521秒 2025-10-17 06:19:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.583秒 2025-10-17 06:19:09 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:09 - INFO - main - [url_processor.py:409] - process_url - 子頁面 11 購物車判斷: 有購物車功能 2025-10-17 06:19:09 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 12/20 購物車功能 2025-10-17 06:19:09 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 436 字符 2025-10-17 06:19:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/about/policies/ (實際 URL: https://www.youtube.com/howyoutubeworks/our-policies/) 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 72166 字節 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 684 字節 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 4169 字節 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 3887 字節 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 4169 字節,約 666 個詞,105 行 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: youtube.com/howyoutubeworks uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more . Agree No thanks Jump to content Our Policies YouTube’s mission is to give everyone a voice and show them the world — and openness and free expression are at the heart of this. Our platform is a place where a broad range of perspectives are encouraged, and we don’t shy away from disagreement and debate. jump to a section How our guidelines work How we support creators Combating abuse jump to a section Our Policies How our guidelines work How we support creators Combating abuse How Community & Ad-Friendly Guidelines work Our policies help us maintain a responsible business that viewers, creators, and advertisers can rely on in order to continue to thrive on YouTube. As with any system, we sometimes make mistakes. That’s why appeals are an important part of our processes. Creators are notified when their videos are removed due to policy violations or when they may be suspended from YPP, and can appeal if they disagree with our decision. Our Community Guidelines and Advertiser-Friendly Content Guidelines are what enable us to strike this balance. Community Guidelines Content that violates our community guidelines is flagged by a mix of automated detection and human reporting — most is automatically detected — and we go to great lengths to make sure violative content isn’t widely viewed, or even viewed at all, before it’s taken down. Exceptions can be made when content has a clear educational, documentary, scientific, or artistic (EDSA) context. Advertiser-Friendly Content Guidelines Brands rely on us to protect their business interests when they’re advertising on YouTube. To help support this, we have a set of Ad-Friendly guidelines creators in the YouTube Partner Program (YPP) need to follow in order to have Ads served on their channel content and earn a share of the revenue. How we support creators Since 2007, we’ve been paying eligible creators every month through our revenue-sharing model, the YouTube Partner Program . For a creator to be eligible for YPP, they must meet a higher bar for what they share on YouTube. Creators have to follow YouTube monetization policies and we review each applicant’s channel before admitting them to YPP. We also demonetize videos that violate our Advertiser Friendly Guidelines, and suspend creators from YPP for repeat offenses. With this model, creators have a long-term incentive to reinforce YouTube’s safety and follow our policies. We also provide Creators with an array of tools to manage their content & communities: Manage Experiences Channel Guidelines help creators set what kind of conversations they want to have on their channel. Creators can hold potentially inappropriate comments for review, hide certain individuals, block words, assign moderation privileges, and more. How to set channel guidelines Channel Management We provide creators with an array of products that help them decide how to manage their channels. How to manage posts and comments Privacy & Safety Resources The privacy and safety of creators on YouTube is important to us, and we provide a range of tools & resources to support them. How to use privacy and safety tools How YouTube Partners with Industry Experts to Combat Abuse Content that’s meant to praise, promote, or aid violent extremist or criminal organizations is not allowed on YouTube. We rely on many factors — like certain government and international organization designations — to determine what constitutes criminal or terrorist organizations. We’re also a founding member of the Global Internet Forum to Counter Terrorism (GIFCT) , where we work with other tech companies to keep terrorist content off the web — and provide training and other resources to smaller companies facing similar challenges. Explore more New tools to protect creators and artists How we're helping creators disclose altered or synthetic content Testing new ways to offer viewers more context and information on videos 2025-10-17 06:19:10 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 6/19 個網址 2025-10-17 06:19:10 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/ 2025-10-17 06:19:10 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/ 的第 1/3 次請求 2025-10-17 06:19:10 - 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 0x7de20ddbbc90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/caee37754e97724c75091ad004fe71e3 2025-10-17 06:19:10 - 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 0x7de20ddb9ed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/caee37754e97724c75091ad004fe71e3 2025-10-17 06:19:10 - 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 0x7de20ddbb0d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/caee37754e97724c75091ad004fe71e3 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_c4877d0b_u4id7oxk 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:19:10 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:19:11 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:19:11 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848571472 (2/3) 2025-10-17 06:19:11 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/ 2025-10-17 06:19:11 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: .container 2025-10-17 06:19:11 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:19:11 - 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-17 06:19:11 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.114秒 2025-10-17 06:19:11 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.181秒 2025-10-17 06:19:11 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:11 - INFO - main - [url_processor.py:409] - process_url - 子頁面 12 購物車判斷: 有購物車功能 2025-10-17 06:19:11 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 13/20 購物車功能 2025-10-17 06:19:11 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:11 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 583 字符 2025-10-17 06:19:11 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/ 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:19:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:19:13 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:19:14 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:19:14 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:19:14 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/19 2025-10-17 06:19: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-17 06:19:15 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.700秒 2025-10-17 06:19:15 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.853秒 2025-10-17 06:19:15 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:15 - INFO - main - [url_processor.py:409] - process_url - 子頁面 13 購物車判斷: 有購物車功能 2025-10-17 06:19:15 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 14/20 購物車功能 2025-10-17 06:19:15 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:15 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 3851 字符 2025-10-17 06:19:15 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:19:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:19:16 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:19:16 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:19:16 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:19:17 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 39 2025-10-17 06:19:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 6/19 2025-10-17 06:19:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:19:19 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 39,內容可能已加載完成 2025-10-17 06:19:19 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:19:21 - 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-17 06:19:21 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.125秒 2025-10-17 06:19:21 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 6.248秒 2025-10-17 06:19:21 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:21 - INFO - main - [url_processor.py:409] - process_url - 子頁面 14 購物車判斷: 有購物車功能 2025-10-17 06:19:21 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 15/20 購物車功能 2025-10-17 06:19:21 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:21 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 343 字符 2025-10-17 06:19:21 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:19:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:19:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:19:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:19:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:19:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:19:26 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 278 2025-10-17 06:19:26 - 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-17 06:19:26 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.564秒 2025-10-17 06:19:26 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.720秒 2025-10-17 06:19:26 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:26 - INFO - main - [url_processor.py:409] - process_url - 子頁面 15 購物車判斷: 有購物車功能 2025-10-17 06:19:26 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 16/20 購物車功能 2025-10-17 06:19:26 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:26 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1251 字符 2025-10-17 06:19:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:27 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 54 2025-10-17 06:19:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 6/19 2025-10-17 06:19: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-17 06:19:29 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.692秒 2025-10-17 06:19:29 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.751秒 2025-10-17 06:19:29 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:29 - INFO - main - [url_processor.py:409] - process_url - 子頁面 16 購物車判斷: 有購物車功能 2025-10-17 06:19:29 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 17/20 購物車功能 2025-10-17 06:19:29 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:29 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 400 字符 2025-10-17 06:19:29 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:29 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 54,內容可能已加載完成 2025-10-17 06:19:29 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:19:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:19:32 - 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-17 06:19:32 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.838秒 2025-10-17 06:19:32 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.896秒 2025-10-17 06:19:32 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:32 - INFO - main - [url_processor.py:409] - process_url - 子頁面 17 購物車判斷: 有購物車功能 2025-10-17 06:19:32 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 18/20 購物車功能 2025-10-17 06:19:32 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:32 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 340 字符 2025-10-17 06:19:32 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:19:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:19:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:19: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-17 06:19:35 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.291秒 2025-10-17 06:19:35 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.354秒 2025-10-17 06:19:35 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:35 - INFO - main - [url_processor.py:409] - process_url - 子頁面 18 購物車判斷: 有購物車功能 2025-10-17 06:19:35 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 19/20 購物車功能 2025-10-17 06:19:35 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 399 字符 2025-10-17 06:19:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:19:35 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:38 - 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-17 06:19:38 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.389秒 2025-10-17 06:19:38 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.453秒 2025-10-17 06:19:38 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:38 - INFO - main - [url_processor.py:409] - process_url - 子頁面 19 購物車判斷: 有購物車功能 2025-10-17 06:19:38 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 20/20 購物車功能 2025-10-17 06:19:38 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:19:38 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 340 字符 2025-10-17 06:19:38 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:38 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:19:38 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/ 2025-10-17 06:19:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 6/19 2025-10-17 06:19:40 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:19:40 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:19:40 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:19:40 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:19:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:19: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-17 06:19:41 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.540秒 2025-10-17 06:19:41 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.603秒 2025-10-17 06:19:41 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:19:41 - INFO - main - [url_processor.py:409] - process_url - 子頁面 20 購物車判斷: 有購物車功能 2025-10-17 06:19:41 - INFO - main - [url_processor.py:421] - process_url - 最終購物車判斷結果: 有購物車功能 (檢查了 21 個頁面) 2025-10-17 06:19:41 - INFO - main - [url_processor.py:442] - process_url - 審核通過:21 個頁面通過,0 個頁面被模型拒審(已忽略) 2025-10-17 06:19:41 - INFO - main - [url_processor.py:460] - process_url - 檢測聯絡資訊(URL ID=127):開始在主頁面搜索 2025-10-17 06:19:41 - INFO - main - [url_processor.py:473] - process_url - 檢測聯絡資訊(URL ID=127):主頁面未找到,開始搜索 20 個子頁面 2025-10-17 06:19:41 - INFO - main - [url_processor.py:573] - process_url - URL ID 127 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證 2025-10-17 06:19:41 - INFO - main - [url_processor.py:581] - process_url - UI審核(URL ID=127):開始在主頁面搜索聯絡資訊 2025-10-17 06:19:41 - INFO - main - [url_processor.py:596] - process_url - UI審核(URL ID=127):主頁面未找到,開始搜索 20 個子頁面 2025-10-17 06:19:41 - WARNING - main - [url_processor.py:629] - process_url - UI審核(URL ID=127):身份驗證失敗,已搜索 21 個頁面,未找到聯絡資訊 2025-10-17 06:19:41 - INFO - database - [database.py:505] - update_url_status - URL ID 127 状态已更新为 completed 2025-10-17 06:19:41 - INFO - main - [url_processor.py:733] - process_url - URL ID 127 分析完成,結果: fail, API驗證: False 2025-10-17 06:19:41 - INFO - main - [url_processor.py:758] - process_url - 工作線程 #1 完成處理 URL ID: 127 2025-10-17 06:19:44 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 75 2025-10-17 06:19:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 127, UID: m5x3pd982x, 進度: 21/21 2025-10-17 06:19:46 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 75,內容可能已加載完成 2025-10-17 06:19:46 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:19:46 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:19:46 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:19:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 0/1 2025-10-17 06:19:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 2/5, 隊列大小 0, 總處理任務 2, 記憶體 211.8MB, CPU 0.0% 2025-10-17 06:19:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:19:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:19:49 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://s9.buyplus1.com.tw/b/1944116005843614/index.php (實際 URL: https://s9.buyplus1.com.tw/b/1944116005843614/index.php) 2025-10-17 06:19:49 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:19:49 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:19:49 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172224: 關閉 WebDriver 實例 2025-10-17 06:19:49 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:19:50 - INFO - database - [database.py:505] - update_url_status - URL ID 130 状态已更新为 processing 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 25414 字節 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 343 字節 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 350 字節 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 274 字節 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 160 字節 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 522 字節,約 98 個詞,53 行 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 目前不支援內嵌瀏覽器 複製賣場網址 0 登入會員享有更多服務 Facebook 登入 LINE 登入 商品分類 黑五主會場 (11) IP授權商品 (38) IP授權商品 (19) 曼城IP授權 (3) 拜仁IP授權 (2) 多特IP授權 (2) 巴塞IP授權 (1) 阿根廷IP授權 (2) 葡萄牙IP授權 (3) 利物浦IP授權 (3) 熱刺IP授權 (0) 德國IP授權 (2) 法國IP授權 (0) 義大利IP授權 (1) 25/26賽季 (10) 現貨 (7) 賣家公告 代購流程 關於代購 關於我們 聯絡我們 退換貨說明 Buy+1社群訂單整合系統 © 2015 - 2025 × 賣場目前不開放 登入 關閉 選擇登入的方式 Facebook Line 一起在BUY+1相遇 掌握幸福時光 額外的結構化內容: • IP授權商品 (19) • 曼城IP授權 (3) • 拜仁IP授權 (2) • 多特IP授權 (2) • 巴塞IP授權 (1) • 阿根廷IP授權 (2) • 葡萄牙IP授權 (3) • 利物浦IP授權 (3) • 熱刺IP授權 (0) • 德國IP授權 (2) • 法國IP授權 (0) • 義大利IP授權 (1) 2025-10-17 06:19:50 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://s9.buyplus1.com.tw/b/1944116005843614/index.php, HTML 內容大小=25414 字節 2025-10-17 06:19:50 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://s9.buyplus1.com.tw/b/1944116005843614/index.php, 發現問題數=6, 嚴重問題數=1, 耗時=0.007秒 2025-10-17 06:19:50 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_external_script(5), suspicious_inline_script(1) 2025-10-17 06:19:50 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(5), warning(1) 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2813] - find_internal_links - 從HTML靜態內容中提取了 0 個內部鏈接 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:2962] - find_internal_links - 鏈接分類完成 - 聯絡資訊頁面: 0 個(不限數量),普通頁面: 0 個(限制 20 個) 2025-10-17 06:19:50 - INFO - WebScraper - [scraper.py:3002] - find_internal_links - 最終返回 0 個鏈接 - 聯絡資訊頁面: 0 個,普通頁面: 0 個 2025-10-17 06:19:50 - INFO - main - [url_processor.py:160] - process_url - 找到 0 個內部鏈接 - 聯絡資訊頁面: 0 個(優先審核),普通頁面: 0 個(限制20個) 2025-10-17 06:19:50 - INFO - main - [url_processor.py:194] - process_url - 更新 UI 審核進度(URL ID=130):總計 1 個網址,已完成 1 個(主頁面),待審核: 0 個聯絡頁面 + 0 個普通頁面 2025-10-17 06:19:50 - INFO - main - [url_processor.py:285] - process_url - UI審核: 開始審核主頁面: https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:19:50 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 521 字符 2025-10-17 06:19:50 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:19:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 6/19 2025-10-17 06:19:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 6/21 2025-10-17 06:19:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:19:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 1/1 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/19 (實際 URL: https://feibi-coffee.com/product/19) 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 29652 字節 2025-10-17 06:19:59 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 254 字節 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 359 字節 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 443 字節 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 359 字節,約 57 個詞,39 行 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 龐貝 Pompeii 單品(10入) 0 則評論 NT$480 1 加入購物車 詳細說明 商品規格 相關推薦 靈感來自古城龐貝的沉靜與神秘,這款日曬處理的淺焙豆擁有濃郁莓果、紅葡萄、香料與一絲煙燻氣息,口感奔放但收尾乾淨,如歷史重現般帶你穿越時間。適合喜歡探索風味層次的玩家。 規格 5入(10g ±1%/入) 評級 - 品種 Bourbon 烘焙程度 中焙 風味 黑莓 / 龍眼蜜 / 香料 處理方式 日曬 海拔 1700m 貝多芬 Beethoven Blend 單品(10入) NT$430 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:20:00 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 7/21 個網址 2025-10-17 06:20:00 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/products 2025-10-17 06:20:00 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/products, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/products 的第 1/3 次請求 2025-10-17 06:20:00 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209a5c710>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d14f77f4e005dd500aa7ef283e9cee40 2025-10-17 06:20:00 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209a5dd90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d14f77f4e005dd500aa7ef283e9cee40 2025-10-17 06:20:00 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209a5f150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/d14f77f4e005dd500aa7ef283e9cee40 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_0bae8c08_w7vc8ci5 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:20: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-17 06:20:00 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.020秒 2025-10-17 06:20:00 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.078秒 2025-10-17 06:20:00 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:20:00 - INFO - main - [url_processor.py:324] - process_url - UI審核: 主頁面審核通過: https://s9.buyplus1.com.tw/b/1944116005843614/index.php 2025-10-17 06:20:00 - INFO - main - [url_processor.py:395] - process_url - 開始判斷主頁面購物車功能 2025-10-17 06:20:00 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:20:00 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 521 字符 2025-10-17 06:20:00 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:20:00 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409759476944 (1/3) 2025-10-17 06:20:00 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/products 2025-10-17 06:20:01 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/products 2025-10-17 06:20:01 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:20:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 6/19 2025-10-17 06:20:01 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:20:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:20: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-17 06:20:03 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.117秒 2025-10-17 06:20:03 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.374秒 2025-10-17 06:20:03 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:20:03 - INFO - main - [url_processor.py:398] - process_url - 主頁面購物車判斷: 無購物車功能 2025-10-17 06:20:03 - INFO - main - [url_processor.py:421] - process_url - 最終購物車判斷結果: 無購物車功能 (檢查了 1 個頁面) 2025-10-17 06:20:03 - INFO - main - [url_processor.py:442] - process_url - 審核通過:1 個頁面通過,0 個頁面被模型拒審(已忽略) 2025-10-17 06:20:03 - INFO - main - [url_processor.py:460] - process_url - 檢測聯絡資訊(URL ID=130):開始在主頁面搜索 2025-10-17 06:20:03 - INFO - main - [url_processor.py:573] - process_url - URL ID 130 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證 2025-10-17 06:20:03 - INFO - main - [url_processor.py:581] - process_url - UI審核(URL ID=130):開始在主頁面搜索聯絡資訊 2025-10-17 06:20:03 - WARNING - main - [url_processor.py:629] - process_url - UI審核(URL ID=130):身份驗證失敗,已搜索 1 個頁面,未找到聯絡資訊 2025-10-17 06:20:03 - INFO - database - [database.py:505] - update_url_status - URL ID 130 状态已更新为 completed 2025-10-17 06:20:03 - INFO - main - [url_processor.py:733] - process_url - URL ID 130 分析完成,結果: fail, API驗證: False 2025-10-17 06:20:03 - INFO - main - [url_processor.py:758] - process_url - 工作線程 #2 完成處理 URL ID: 130 2025-10-17 06:20:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 130, UID: 7agun26rgz, 進度: 1/1 2025-10-17 06:20:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 6/19 2025-10-17 06:20:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:20:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:20:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:20:18 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/ (實際 URL: https://www.youtube.com/) 2025-10-17 06:20:18 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:20:18 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:20:18 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1007807 字節 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 407 字節 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1106 字節 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1106 字節 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1106 字節,約 183 個詞,80 行 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Try searching to get started Start watching videos to help us build a feed of videos you'll love. Search Info Shopping Tap to unmute 2x If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / • Watch full video Live • • NaN / NaN 2025-10-17 06:20:19 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 7/19 個網址 2025-10-17 06:20:19 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 2025-10-17 06:20:19 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 的第 1/3 次請求 2025-10-17 06:20: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 0x7de20d9cf1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4a90672b7b759a71fd90c8163aa7c144 2025-10-17 06:20: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 0x7de20cfc8550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4a90672b7b759a71fd90c8163aa7c144 2025-10-17 06:20: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 0x7de20c3940d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4a90672b7b759a71fd90c8163aa7c144 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_9c47b2de_1jrgk65y 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:20:19 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:20:20 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:20:20 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409844461904 (1/3) 2025-10-17 06:20:20 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 2025-10-17 06:20:22 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 2025-10-17 06:20:22 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:20:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:20:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:20:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:20:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:20:24 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:20:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:20:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:20:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:20:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:20:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:20:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:20:42 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:20:42 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/products 2025-10-17 06:20:44 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:20:44 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:20:44 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:20:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:20:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:20:48 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:20:48 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 2025-10-17 06:20:51 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:20:51 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:20:51 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:20:51 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:20:54 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 692 2025-10-17 06:20:55 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 485 2025-10-17 06:20:55 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 101 2025-10-17 06:20:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:20:57 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 485,內容可能已加載完成 2025-10-17 06:20:57 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:20:57 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:20:57 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:20:57 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 101,內容可能已加載完成 2025-10-17 06:20:57 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:20:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:21:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:21:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:21:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:21:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:21:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:21:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:21:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:21:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:21:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:21:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:21:16 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:21:16 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:21:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:21:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 218.4MB, CPU 0.0% 2025-10-17 06:21:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:21:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:21:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 7/21 2025-10-17 06:21:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:21:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:21:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:21:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:21:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/products (實際 URL: https://feibi-coffee.com/products) 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:21:27 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 51934 字節 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 494 字節 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 688 字節 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 772 字節 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 688 字節,約 126 個詞,86 行 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 篩選 商品分類 所有商品 濾掛咖啡 單品咖啡 咖啡豆 最新商品 期間限定 咖啡禮盒 即期良品 烘焙度 淺焙 中焙 深焙 處理法 日曬 水洗 蜜處理 濕剝 中焙 日曬 莫札特 Mozart Blend 濾掛(10入) NT$420 中焙 隨機 塔羅咖啡隨機禮盒(10入) NT$420 淺焙 隨機 大阿牌塔羅濾掛禮盒(22入) NT$960 淺焙 日曬 天堂鳥 Paradise Bird 咖啡禮盒(20入) NT$800 中焙 玫瑰藝妓 Rose Geisha 咖啡禮盒(10入) NT$900 中焙 日曬 春樹 Haruki Blend 濾掛(10入) NT$450 淺焙 濕剝 曼特寧 Madheling 濾掛(10入) NT$200 中焙 水洗 牧羊人 The Shepherd 濾掛(10入) NT$410 淺焙 日曬 玫瑰藝妓 Rose Geisha 濾掛(10入) NT$460 淺焙 日曬 天堂鳥 Paradise Bird 咖啡豆(半磅) NT$300 中焙 水洗 巴哈 Bach Blend 咖啡豆(半磅) NT$390 淺焙 水洗 耶加雪菲 Yirgacheffe 咖啡豆(半磅) NT$380 中焙 蜜處理 貝多芬 Beethoven Blend 單品(10入) NT$430 中焙 日曬 龐貝 Pompeii 單品(10入) NT$480 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:21:28 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 8/21 個網址 2025-10-17 06:21:28 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/9 2025-10-17 06:21:28 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/9, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/9 的第 1/3 次請求 2025-10-17 06:21: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 0x7de209c4b990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/71dbc175fbf50393fa78db4b16ec1fe4 2025-10-17 06:21: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 0x7de20a350c10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/71dbc175fbf50393fa78db4b16ec1fe4 2025-10-17 06:21: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 0x7de20a3633d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/71dbc175fbf50393fa78db4b16ec1fe4 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_b4d2d24b_2jta0dmh 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:21:28 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409777951440 (1/3) 2025-10-17 06:21:28 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/9 2025-10-17 06:21:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 7/19 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/9 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ (實際 URL: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ) 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:21:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:21:30 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:21:31 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 2109111 字節 2025-10-17 06:21:31 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 335 字節 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 9759 字節 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 9759 字節 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 9759 字節,約 1647 個詞,524 行 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Tap to unmute 2x Search Watch later Share Copy link Info Shopping If playback doesn't begin shortly, try restarting your device. • Sign in to confirm you’re not a bot Share Include playlist An error occurred while retrieving sharing information. Please try again later. JYP Entertainment • 4.9M views • 6 days ago TWICE “ME+YOU” M/V Music 124M subscribers Subscribe Home Posts 話題の音楽 58 songs The Hit List The home of today's biggest and hottest hits. #hits #trending #youtubemusic 125 songs JAPANIQUE The hottest Japanese tracks from the world of J-Pop, anime, Vocaloid. This is JAPANIQUE. 57 songs J-Hits! Today's biggest and hottest J-Pop tracks, straight from Japan. #jpop #hit #new 99 songs K.iNG Today's top and trending K-Pop tracks! #kpop #hits #trending 214 songs Anison! -Anime Songs- The hottest and latest anime tracks. #anime #jpop #anison 56 songs Digital Native From virtual artists to vocaloid, check out these cutting edge sounds from Japan's internet culture. 57 songs J-Rock! The hottest tracks by today's Japanese rock bands. #jpop #rock #hit 50 songs J-Rap Flows The hottest hip-hop and rap from Japan. 50 songs Groove City The latest in Japanese soul, R&B and city pop. Welcome to Groove City. 50 songs Antenna The latest indie and alternative sounds from Japan. 50 songs Tokyo Clubbing The hottest dance and electronic inspired J-Pop and dance tracks out of Tokyo. 50 songs Boys Group Japan The newest hits from Japan's biggest boy bands. Show more Show less 新着&トレンド 96 songs RELEASED The hottest songs this week, served up fresh every Friday. #new #newmusic #newsong 55 songs Hashtag Hits Collection of the most recent viral tracks in Japan. #jpop #tiktok #viral 228 songs Catch Up Japan From emerging artists to the latest from the biggest stars, check out new music and tomorrow's J-Pop hits. 89 songs Covers Japan Listen to these cover versions of famous songs by Japanese artists. 229 songs J-Pop On The Rise Get familiar with Japan's hottest newcomers and emerging artists. 192 songs Vocaloid Hits The latest and hottest Vocaloid tracks. #vocaloid #hit #hatsunemiku 63 songs Seoul to Tokyo Straight from Seoul to Tokyo. K-Pop hits currently popular in Japan, including Japanese versions. 205 songs New J-Rock From emerging bands to the latest from the hottest artists, this is an essential preview of tomorrow's Japanese rock hits. 62 songs New J-Rap From emerging rappers to the latest from the hottest artists, this is an essential preview of tomorrow's Japanese hip-hop/rap hits. 133 songs Retake Japan Notable self-covers and alternate versions of J-Pop Hits, including unplugged versions. 90 songs Showtime A collection of songs from Japanese TV stars, actors, performers. Show more Show less 新着ミュージックビデオ 4:41 4:41 Now playing 4:41 4:41 Now playing Snow Man 'TRUE LOVE' Music Video Snow Man Snow Man Official Artist Channel • • 21M views 11 days ago CC 3:59 3:59 Now playing 3:59 3:59 Now playing スピッツ / 灯を護る Spitz / Protect the Light spitzclips spitzclips Official Artist Channel • • 1.3M views 10 days ago CC 4:08 4:08 Now playing 4:08 4:08 Now playing TWICE “ME+YOU” M/V JYP Entertainment JYP Entertainment Verified • • 4.9M views 6 days ago CC 2:58 2:58 Now playing 2:58 2:58 Now playing DECO*27 - Marshmallow feat. Hatsune Miku DECO*27 DECO*27 Official Artist Channel • • 3.1M views 8 days ago CC 3:23 3:23 Now playing 3:23 3:23 Now playing BABYMONSTER - ‘WE GO UP’ M/V BABYMONSTER BABYMONSTER Official Artist Channel • • 67M views 6 days ago CC 5:34 5:34 Now playing 5:34 5:34 Now playing Mrs. GREEN APPLE「GOOD DAY」Official Music Video Mrs. GREEN APPLE Mrs. GREEN APPLE Official Artist Channel • • 5.5M views 2 weeks ago CC 3:59 3:59 Now playing 3:59 3:59 Now playing Taylor Swift - The Fate of Ophelia (Official Music Video) Taylor Swift Taylor Swift Official Artist Channel • • 64M views 10 days ago 3:51 3:51 Now playing 3:51 3:51 Now playing i-dle 'どうしよっかな (Where Do We Go)' M/V i-dle (아이들) i-dle (아이들) Official Artist Channel • • 23M views 13 days ago CC 3:19 3:19 Now playing 3:19 3:19 Now playing Kento Nakajima (w/English Subtitles!) 'IDOLIC' Music Video Kento Nakajima Official YouTube Channel Kento Nakajima Official YouTube Channel Official Artist Channel • • 8.5M views 2 weeks ago CC 2:53 2:53 Now playing 2:53 2:53 Now playing JO1 | 'Handz In My Pocket' Official MV JO1 JO1 Official Artist Channel • • 10M views 2 weeks ago CC 4:07 4:07 Now playing 4:07 4:07 Now playing KENSHI YONEZU, HIKARU UTADA - JANE DOE Kenshi Yonezu 米津玄師 and Hikaru Utada Kenshi Yonezu 米津玄師 and Hikaru Utada Official Artist Channel • • 19M views 3 weeks ago CC 3:43 3:43 Now playing 3:43 3:43 Now playing Hearts2Hearts 하츠투하츠 'Pretty Please' MV SMTOWN SMTOWN Verified • • 7.7M views 3 weeks ago CC Show more Show less 秋🍁 110 songs Autumn J-Pop J-Pop collection for the Autumn season. 142 songs Acoustic Japan A collection of acoustic J-Pop songs to help you unwind after a long day. 60 songs SSW The latest hits from Japan's "SSWs", or singer-songwriters. 97 songs J-Rock to Feel Autumn Breeze A collection of J-Rock when you're feeling a bit nostalgic in Autumn. 173 songs Walking With J-Pop J-Pop songs with chill and relaxing vibes for your walk. 118 songs Sports Songs Japan A selection of sports-themed J-Pop songs. 146 songs J-Drama TV Hits The hottest J-Pop being used in Japanese dramas now. #jpop #hit #dramatic 50 songs Mellow Pop Classics Slow-burning, mellow pop hits from the '80s until today. 126 songs Relaxing J-Pop A collection of chill J-pop songs to relax and take the edge off. #relaxing #jpop #healing 135 songs Japan Ballads Immerse yourself in the world of J-Pop ballads with these beautiful melodies and soft lyrics. 52 songs Soulful Sunset A collection of soulful songs perfect for the autumn season vibe. 64 songs mindful fall self-care for the mind Show more Show less 洋楽プレイリスト 50 songs Pop Certified Today's biggest and best pop songs. 100 songs Chroma: Today's Dance Hits A radiant display of current Dance music, with Tiësto 50 songs Maximum Decibels: Today's Rock Hits The best rock tracks from up-and-coming acts as well as the hottest new music from today's biggest stars. 142 songs On Everything: Today's Hip-Hop Hits The hottest hip-hop tracks out now... and that's on everything. 50 songs Today's Indie Hits Your guide to the state of indie music right now, from the seminal to the undiscovered. 97 songs Highline: Today's R&B Hits Your destination for today's top R&B tracks. Show more Show less チャート 100 videos Top 100 Songs Japan YouTube Music Global Charts • Playlist Updated today View full playlist 100 videos Top 100 Music Videos Japan YouTube Music Global Charts • Playlist Updated today View full playlist 20 videos Trending 20 Japan Playlist Updated today View full playlist 100 videos Top 100 Songs Global YouTube Music Global Charts • Playlist Updated today View full playlist 100 videos Top 100 Music Videos Global YouTube Music Global Charts • Playlist Updated today View full playlist Show more Show less ムードにあわせて 86 songs Sing-along J-Pop Sing-along to these new and classic J-pop hits. #jpop #hits #singalong 176 songs Stay Positive Be happy with these positive J-Pop hits! 126 songs Relaxing J-Pop A collection of chill J-pop songs to relax and take the edge off. #relaxing #jpop #healing 154 songs J-Pop Stress Busters A collection of powerful and positive J-Pop songs. #stress #jpop #angry 199 songs Love Songs Japan Your all-time J-Pop love songs are all here. #jpop #lovesong #ballad 66 songs J-Lofi A collection of relaxing tunes for some peaceful reflection while at home. 95 songs Lofi Loft Kick back and coast to these chillhop and lofi beats. #hiphop #chill #beats Show more Show less 懐かしの音楽 135 songs Japan Big Hits The biggest J-Pop hits that are familiar to millions. #jpop #best #hit 103 songs The Hits: ‘10s Japan The biggest J-Pop hits of the 2010s. #jpop #10s #hit 100 songs Japan Hits: '00s Relive the Japanese pop music scene of the 2000s. #jpop #00s #hit 98 songs Japan Hits: '90s Travel back to the "CD Bubble" of the '90s with the biggest J-Pop songs of the decade. #jpop #90s #essentials 106 songs Japan Hits: '80s Relive the Japanese '80s with this collection. #jpop #80s #hit 100 songs Japan Hits: '70s A non-stop mix of 70's big Japanese hits. 85 songs Heisei Era Hits Relive Japan's Heisei era with these J-pop hits from 1989 to 2019. #jpop #hit #heisei 81 songs Showa Era Hits A collection of nostalgic Kayokyoku (traditional Japanese pop) and timeless classics from Japan's Showa era (1926 - 1989). 62 songs Replay Japan Enjoy the biggest J-Pop hits from the last few years. #jpop #essentials #best 51 songs J-Rock Replay Notable J-Rock hits from the last few years 54 songs J-Rap Replay Notable J-Rap hits from the last few years Show more Show less Tap to unmute 2x Search Copy link Info Shopping If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. 0:00 0:00 / 0:00 Live • Watch full video • • NaN / NaN 2025-10-17 06:21:32 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 8/19 個網址 2025-10-17 06:21:32 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/creators/ 2025-10-17 06:21:32 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/creators/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/creators/ 的第 1/3 次請求 2025-10-17 06:21: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 0x7de20e03e8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ae79e75d20368b60dc485ff1e93ef0d8 2025-10-17 06:21: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 0x7de203786810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ae79e75d20368b60dc485ff1e93ef0d8 2025-10-17 06:21: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 0x7de203790190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ae79e75d20368b60dc485ff1e93ef0d8 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_bf23e90b_pkv_nwih 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:21:32 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:21:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:21:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:21:33 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:21:33 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409821213200 (1/3) 2025-10-17 06:21:33 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/creators/ 2025-10-17 06:21:34 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/creators/ 2025-10-17 06:21:34 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:21:35 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:21:35 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:21:35 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/creators/ 2025-10-17 06:21:37 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:21:37 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:21:37 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:21:37 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:21:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 8/19 2025-10-17 06:21:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 152 2025-10-17 06:21:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:21:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 152,內容可能已加載完成 2025-10-17 06:21:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:21:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 8/19 2025-10-17 06:21:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:22:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 8/19 2025-10-17 06:22:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:22:11 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:22:11 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/9 2025-10-17 06:22:13 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:22:13 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:22:13 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:22:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 8/19 2025-10-17 06:22:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:22:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:22:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:22:23 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 280 2025-10-17 06:22:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:22:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:22:24 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 59 2025-10-17 06:22:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 8/19 2025-10-17 06:22:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:22:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:22:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:22:26 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 59,內容可能已加載完成 2025-10-17 06:22:26 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/creators/ (實際 URL: https://www.youtube.com/creators/) 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 142343 字節 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 2202 字節 2025-10-17 06:22:31 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 5854 字節 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 5495 字節 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 2107 字節 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 7973 字節,約 1244 個詞,227 行 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: youtube.com/creators uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more . Agree No thanks Jump to content Make money while recommending products you love with YouTube Shopping. How it works Everything you need to create on YouTube No matter what kind of information, advice, or help you’re looking for, this is the spot. FEATURED Earn more with YouTube Shopping Learn how to set up YouTube Shopping and start earning. See how it works How things work Getting started on YouTube Everything you need to create and manage a channel. Building your community Tips & tricks to find, nurture, and build an audience. How to make money on YouTube Explore all ways you can get paid on YouTube. Growing your channel Tools to help you create, connect, and grow. Policies & Guidelines Get the explanations behind the rules. How to get involved How we support, recognize, and celebrate Creators. Top questions Creators have questions and we’ve got answers. We compiled the most common questions we get with answers, plus links to helpful how tos and help center articles. So you can get all the info you need, fast. 01 How do I start creating on YouTube? 02 How do I grow my channel? 03 How do I make edits to my channel? 04 How do I promote my videos? 05 How does the algorithm work? Creator basics: how to set up and customize your channel There are a few ways to get started on YouTube. We offer up different formats and functionalities, giving you the flexibility to create everything from Shorts, which are vertical videos that run 60 seconds or less, to longer form videos. No matter what you’re creating, you’ll need to start by creating a YouTube Channel. First you need to sign into YouTube using a Google Account. Once you’re signed in, click ‘Create Account’, and choose whether it’s for you or for your business. You can then create a YouTube channel on your account, upload videos, leave comments, and create Shorts and playlists. Next, you’ll want to upload your videos! Uploading is easy. You just sign into your YouTube account and then click on the “Create” icon. If you’re planning to upload a longer form video, select “upload video” and then choose your desired video file - you can upload 15 files at a time! If you’d like to upload a YouTube Short , you’ll need to be signed into YouTube mobile, where you’ll tap ‘Create’ and then ‘Create a Short’. From here you can either upload a video from your camera roll or create using our suite of lightweight tools. Help your videos stand out & keep viewers watching Growing your channel is all about creating videos viewers want to watch and accurately presenting them to the audience. When doing so, here’s a few tips to keep in mind. With each video, think carefully about the title, description, and thumbnail you plan to use - these should all accurately reflect your content and let viewers know what they can expect from the video. If you’re a Shorts creator, think about how the first 1-2 seconds of your content can grab viewers scrolling through the video feed! Once you’ve got viewers watching, you can redirect their attention via hashtags, playlists , cards , end screens , and more. Navigating YouTube Studio YouTube Studio is your home base for posting videos and making edits to your channel. To update your channel’s basic info like name, profile picture , and banner, just log in and tap ‘Customisation’ to see your options. You can also make changes to your channel using the Studio Mobile app. You can tap ‘Your Channel’ and then ‘Edit Channel’ to update and edit how your channel looks to your viewers. Note that you can only change your channel’s name three times every 90 days. Read more about managing your channel Promoting your videos Promoting your videos is all about getting the word out there. On YouTube, you can use tools like cards, end screens, Stories, and Community Posts to drive viewers to a specific piece of content! Off-platform, think about promoting your videos on your socials and relevant communities, podcasts, or platforms that align with your content and your intended audience. Read more about promoting your videos How YouTube recommends videos using "the algorithm" Our search and discovery systems are built to find videos that match viewers’ individual interests. We recommend videos based on things such as: what your audience watches and doesn’t watch, how much time they spend watching, what they like and dislike, if they mark a video as ‘not interested’, and on satisfaction surveys. So, rather than trying trying to find a secret code to these systems, focus instead on making videos that you think will resonate with your audience. A great tool here is YouTube Analytics, which provides data that can help you understand how your existing content is performing and provide insights for future videos! See all questions Resources Learn From getting started to improving your channel’s performance, these resources help you continue to learn and grow. Updates, news, and education from experts and Creators. YouTube Creators Channel Support If you have a problem, we’re here to help you solve it. Fix upload problems, troubleshoot account issues, and more. Get the breakdown on topics most important to Creators. Help Center The place to ask questions and provide feedback. Community Forum Connect Ask questions, find answers, and understand more about YouTube via our social channels and email. The latest tools, tips, and inspiration for Creators like you. @YouTubeCreators Real-time answers. Available in: English, Español, Português, Deutsch, Français, Pусский, 日本語, and Bahasa Indonesia. @TeamYouTube Get the latest information and resources in your inbox. YouTube Emails 額外的結構化內容: • Getting started on YouTube Everything you need to create and manage a channel. • Building your community Tips & tricks to find, nurture, and build an audience. • How to make money on YouTube Explore all ways you can get paid on YouTube. • Growing your channel Tools to help you create, connect, and grow. • Policies & Guidelines Get the explanations behind the rules. • How to get involved How we support, recognize, and celebrate Creators. • 01 How do I start creating on YouTube? • 02 How do I grow my channel? • 03 How do I make edits to my channel? • 04 How do I promote my videos? • 05 How does the algorithm work? • First you need to sign into YouTube using a Google Account. • Once you’re signed in, click ‘Create Account’, and choose whether it’s for you or for your business. • You can then create a YouTube channel on your account, upload videos, leave comments, and create Shorts and playlists. • Uploading is easy. You just sign into your YouTube account and then click on the “Create” icon. • If you’re planning to upload a longer form video, select “upload video” and then choose your desired video file - you can upload 15 files at a time! • If you’d like to upload a YouTube Short, you’ll need to be signed into YouTube mobile, where you’ll tap ‘Create’ and then ‘Create a Short’. From here you can either upload a video from your camera roll or create using our suite of lightweight tools. 2025-10-17 06:22:32 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 9/19 個網址 2025-10-17 06:22:32 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 2025-10-17 06:22:32 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 的第 1/3 次請求 2025-10-17 06:22: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 0x7de20dccf890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/86f65a76b90d9a0fd4957cd665ed1c24 2025-10-17 06:22: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 0x7de20dcf9cd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/86f65a76b90d9a0fd4957cd665ed1c24 2025-10-17 06:22: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 0x7de20dcf9650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/86f65a76b90d9a0fd4957cd665ed1c24 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_199093c9_42c9r9pr 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:22:32 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409847795856 (1/3) 2025-10-17 06:22:32 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 2025-10-17 06:22:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:22:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:22:34 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 2025-10-17 06:22:35 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:22:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:22:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:22:42 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:22:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:22:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 8/21 2025-10-17 06:22:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 244.3MB, CPU 0.0% 2025-10-17 06:22:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:22:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:22:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/9 (實際 URL: https://feibi-coffee.com/product/9) 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 30134 字節 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 288 字節 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 405 字節 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 489 字節 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 405 字節,約 65 個詞,44 行 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 天堂鳥 Paradise Bird 咖啡禮盒(20入) 1 則評論 NT$800 1 加入購物車 詳細說明 商品規格 相關推薦 如同其名,這是一款充滿熱帶風情的中淺焙咖啡豆,帶有芒果、鳳梨、百香果的濃郁果香,酸甜迷人。喝起來像是一場陽光灑落的南洋探險,適合想要感受熱情與自由的你。 規格 20入(10g ±1% / 入) 評級 - 品種 藝妓 烘焙程度 淺焙 風味 百香果 / 蔗糖蜜 / 可可 處理方式 日曬 海拔 1800m 隨機 塔羅咖啡隨機禮盒(10入) NT$420 大阿牌塔羅濾掛禮盒(22入) NT$960 玫瑰藝妓 Rose Geisha 咖啡禮盒(10入) NT$900 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:22:56 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 9/21 個網址 2025-10-17 06:22:56 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/20 2025-10-17 06:22:56 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/20, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/20 的第 1/3 次請求 2025-10-17 06:22:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20a351510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/65475cfb753a97a2797d27e7ae352e4d 2025-10-17 06:22:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209947010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/65475cfb753a97a2797d27e7ae352e4d 2025-10-17 06:22:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209947850>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/65475cfb753a97a2797d27e7ae352e4d 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_4eface0d_c1gi3z7k 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:22:56 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:22:57 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:22:57 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409776793424 (1/3) 2025-10-17 06:22:57 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/20 2025-10-17 06:22:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:22:58 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/20 2025-10-17 06:22:58 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:22:58 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:22:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:23:07 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:23:07 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 2025-10-17 06:23:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:23:09 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:23:09 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:23:09 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:23:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:23:09 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:23:14 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 2316 2025-10-17 06:23:16 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 2316,內容可能已加載完成 2025-10-17 06:23:16 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:23:16 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:23:16 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:23:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:23:17 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:23:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:23:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:23:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:23:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:23:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:23:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:23:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:23:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:23:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:23:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:23:38 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:23:38 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/20 2025-10-17 06:23:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:23:40 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:23:40 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:23:40 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:23:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw (實際 URL: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw) 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:23:49 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:23:50 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 6756699 字節 2025-10-17 06:23:51 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 278 2025-10-17 06:23:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 9/19 2025-10-17 06:23:52 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 59 2025-10-17 06:23:52 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1059 字節 2025-10-17 06:23:53 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 31344 字節 2025-10-17 06:23:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:23:54 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 59,內容可能已加載完成 2025-10-17 06:23:54 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:23:56 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 31344 字節 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 31344 字節,約 4782 個詞,2668 行 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History News Top stories Sports Entertainment Business Technology World National Science Health 維新 • 自民に関するニュース 24:11 24:11 Now playing 24:11 24:11 24:11 Now playing 【報ステ全文】連立入り?野党一本化?“消滅”の不安も…日本維新の会・吉村代表に聞く【報道ステーション】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 50K views 4 hours ago 23:51 23:51 Now playing 23:51 23:51 23:51 Now playing 【維新・吉村代表に生直撃】「高市総裁から『閣内に入ってもらいたい』と」自民×維新“急接近” 過去に都構想めぐり対立も…自民と連立で維新は大丈夫?【news23】|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 28K views 5 hours ago 5:01 5:01 Now playing 5:01 5:01 5:01 Now playing 【解説】維新が提示…12の“条件”とは 副首都構想や“政治とカネ”も… 連立の可能性…どんな政権に? 日テレNEWS 日テレNEWS Verified • • 55K views 7 hours ago 29:36 29:36 Now playing 29:36 29:36 29:36 Now playing 自民と連立を組むのか 維新・藤田共同代表を直撃【WBSインタビュー未公開版】 テレ東BIZ テレ東BIZ Verified • • 33K views 8 hours ago 28:21 28:21 Now playing 28:21 28:21 28:21 Now playing 自民×維新連立の可能性は「98%」 源流は同じ両党が「先祖返り」指摘も 連立組む時期が焦点に 今の自民は「泥船」でも「副首都構想」推し進めたい維新が高市総裁に急接近【きょうの深掘り】 ABCテレビニュース ABCテレビニュース • • 2.8K views 9 hours ago 7:03 7:03 Now playing 7:03 7:03 7:03 Now playing [Uncut] LDP Policy Research Council Chairman Says "We Share Awareness of Issues"; LDP and IDP Con... 共同通信 KYODO NEWS 共同通信 KYODO NEWS • • 99K views 10 hours ago 20:05 20:05 Now playing 20:05 20:05 20:05 Now playing What are the Ishin Party's intentions? The decision to enter into negotiations with the LDP is ba... MBS NEWS MBS NEWS Verified • • 24K views 10 hours ago 4:59 4:59 Now playing 4:59 4:59 4:59 Now playing 【自民党・井林辰憲衆院議員に聞く】自民と維新の連立協議に地元議員は“不安” 「公明との水面下での協議続ける」=静岡 SBSnews6 SBSnews6 • • 6.1K views 10 hours ago 6:54 6:54 Now playing 6:54 6:54 6:54 Now playing 自民・維新の連立はあるか?首相指名は「合意まとまれば高市総裁の名前は当然」と吉村代表 立憲・野田氏は「ギリギリまでがんばる」 FNNプライムオンライン FNNプライムオンライン Verified • • 31K views 10 hours ago 21:49 21:49 Now playing 21:49 21:49 21:49 Now playing [Emergency Live Special] Yoshimura "trusts" Agriculture Minister Koizumi, "the leading candidate ... カンテレNEWS カンテレNEWS Verified • • 298K views 11 hours ago 2:11 2:11 Now playing 2:11 2:11 2:11 Now playing Japan Restoration Party: "Leave it to the executive team" [Policy discussions with LDP with coali... 大阪NEWS【テレビ大阪ニュース】 大阪NEWS【テレビ大阪ニュース】 • • 584 views 12 hours ago 16:28 16:28 Now playing 16:28 16:28 16:28 Now playing 【タカハシ解説】与野党の駆け引き激化…次の総理大臣は誰に? 高市総裁と野党党首会談相次ぐ 読売テレビニュース 読売テレビニュース Verified • • 115K views 22 hours ago Show more Show less Live now: News LIVE LIVE Now playing LIVE LIVE Now playing 【朝ニュースライブ】最新ニュースと生活情報(10月17日) ──THE LATEST NEWS SUMMARY(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 9.6K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】最新天気ニュース・地震情報 2025年10月17日(金)/天気回復して束の間の秋晴れ 週末は再び雨のため日差しの有効活用を〈ウェザーニュースLiVEモーニング・松本真央/山口剛央〉 ウェザーニュース ウェザーニュース Verified • • 6.6K watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】朝のニュース(Japan News Digest Live)最新情報など|TBS NEWS DIG(10月17日) TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 4.8K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】10/17 朝ニュースまとめ 最新情報を厳選してお届け ANNnewsCH ANNnewsCH Verified • • 4K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】テレ朝NEWS24 日本の最新ニュースを24時間ライブ配信 Japan News 24H LIVE ANNnewsCH ANNnewsCH Verified • • 1.2K watching LIVE LIVE Now playing LIVE LIVE Now playing 【24h LIVE】最新ニュースをライブ配信中! | TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 674 watching LIVE LIVE Now playing LIVE LIVE Now playing 【24H NEWS LIVE】 最新ニュース ライブ配信中 ──24H LATEST NEWS LIVE NOW from JAPAN, Tokyo, NIPPON TV(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 480 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】朝のニュース 10月17日〈FNNプライムオンライン〉 FNNプライムオンライン FNNプライムオンライン Verified • • 576 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】渋谷スクランブル交差点 / Shibuya Scramble Crossing Live Camera【LIVE】ANN・テレ朝 ANNnewsCH ANNnewsCH Verified • • 333 watching LIVE LIVE Now playing LIVE LIVE Now playing 【万博ライブカメラ】閉幕後 東ゲートの様子は?【LIVE CAM】EXPO2025, OSAKA, KANSAI, JAPAN 読売テレビニュース 読売テレビニュース Verified • • 203 watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】万博会場ライブカメラ EXPO2025 Osaka, Kansai, Japan〈カンテレNEWS〉 カンテレNEWS カンテレNEWS Verified • • 165 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブカメラ】羽田空港 "T2" HANEDA,Tokyo International Airport(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 144 watching LIVE LIVE Now playing LIVE LIVE Now playing 【政治ニュース】自民×維新 連立の可能性“どんな政権に?”── 政治ニュースまとめ (日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 279 watching LIVE LIVE Now playing LIVE LIVE Now playing 【北海道ニュース24〜HTBニュースLIVE】北海道で起きた事件や事故、災害などを24時間配信中! HTB北海道ニュース HTB北海道ニュース • • 104 watching LIVE LIVE Now playing LIVE LIVE Now playing 【アメリカ】「報道規制」に反発で“引っ越し” ほぼ全メディア署名拒否 / イスラム組織ハマス「回収可能な全ての遺体を引き渡した」と発表 イスラエル側は反発──ニュースライブ(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 116 watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】大阪・伊丹空港ライブカメラ  飛行機の離着陸や空港の様子は? OSAKA Itami Airport【生配信】 MBS NEWS MBS NEWS Verified • • 103 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】ついに閉幕 大阪・関西万博会場の今 LIVE streaming Expo2025 Osaka, Kansai, Japan【夢洲・横浜冷凍屋上】 ABCテレビニュース ABCテレビニュース • • 88 watching LIVE LIVE Now playing LIVE LIVE Now playing 【NagoyaTV NEWS LIVE 24】Most Recent News from Aichi Gifu and Mie Prefecture, Japan メ〜テレニュース メ〜テレニュース Verified • • 60 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】羽田空港 第1ターミナルのライブカメラ 現在の様子は?Haneda Airport's Terminal 1| TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 55 watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】新宿駅前のライブカメラ 現在の様子は? Shinjuku, Tokyo JAPAN | TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 54 watching LIVE LIVE Now playing LIVE LIVE Now playing LIVE: NHK WORLD-JAPAN News NHK WORLD-JAPAN NHK WORLD-JAPAN • • 93 watching Show more Show less プーチン • トランプに関するニュース 1:45 1:45 Now playing 1:45 1:45 1:45 Now playing 米ロ首脳会談をハンガリーで開催へ トランプ大統領がSNSに投稿 時期は未定(2025年10月17日) ANNnewsCH ANNnewsCH Verified • • 328 views 50 minutes ago 1:13 1:13 Now playing 1:13 1:13 1:13 Now playing トランプ大統領とプーチン大統領が電話会談 「今後2週間のうちに行われる」ハンガリーで直接会談へ ウクライナでの戦闘終結めぐり|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 905 views 1 hour ago 1:29 1:29 Now playing 1:29 1:29 1:29 Now playing 【速報】トランプ大統領「プーチン大統領とハンガリーで会談する」ウクライナ戦闘終結巡り|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 5K views 3 hours ago Show more Show less ハマスに関するニュース 1:14 1:14 Now playing 1:14 1:14 1:14 Now playing 【イスラム組織ハマス】「回収可能な全ての遺体を引き渡した」と発表 イスラエル側は反発 日テレNEWS 日テレNEWS Verified • • 38K views 13 hours ago 1:19 1:19 Now playing 1:19 1:19 1:19 Now playing Israeli military pressures for return of bodies テレ東BIZ テレ東BIZ Verified • • 36K views 18 hours ago 2:04 2:04 Now playing 2:04 2:04 2:04 Now playing ハマス新たに人質遺体2体返還 「私の一言で…」トランプ氏が戦闘再開可能と示唆(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 19K views 20 hours ago 0:49 0:49 Now playing 0:49 0:49 0:49 Now playing ハマス返還の遺体“人質とは別人の遺体” パレスチナ人とみられる イスラエル軍は早期の返還求める|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 31K views 1 day ago 0:38 0:38 Now playing 0:38 0:38 0:38 Now playing 【速報】イスラエル、ガザ物資制限 ハマス遺体返還遅れ対抗 共同通信 KYODO NEWS 共同通信 KYODO NEWS • • 19K views 1 day ago 3:38 3:38 Now playing 3:38 3:38 3:38 Now playing ガザ合意に早くも亀裂……遺体返還が遅れイスラエルは検問所開かず パレスチナ人7人の殺害も BBC News Japan BBC News Japan Verified • • 70K views 1 day ago 1:53 1:53 Now playing 1:53 1:53 1:53 Now playing Hamas releases 20 hostages kidnapped two years ago as US President Trump visits Israel 読売新聞オンライン動画 読売新聞オンライン動画 • • 1.3K views 3 days ago 0:21 0:21 Now playing 0:21 0:21 0:21 Now playing Hamas releases hostages in Gaza #Mainichi Shimbun #News #Hamas #Israel 毎日新聞 毎日新聞 Verified • • 2.6K views 3 days ago 1:11 1:11 Now playing 1:11 1:11 1:11 Now playing ハマスによるイスラエルの人質解放が始まる パレスチナ自治区ガザ 朝日新聞 朝日新聞 Verified • • 17K views 3 days ago 1:23 1:23 Now playing 1:23 1:23 1:23 Now playing 【ガザ地区で発砲】イスラエル軍が住民に 6人死亡 日テレNEWS 日テレNEWS Verified • • 9.1K views 1 day ago 0:54 0:54 Now playing 0:54 0:54 0:54 Now playing One body returned by Hamas may be a different person, sparking Israeli backlash [WBS] テレ東BIZ テレ東BIZ Verified • • 29K views 1 day ago 1:24 1:24 Now playing 1:24 1:24 1:24 Now playing ハマス返還の人質遺体は別人か ガザ住民の可能性も…前回の一時停戦時も取り違え(2025年10月15日) ANNnewsCH ANNnewsCH Verified • • 22K views 1 day ago Show more Show less 公明に関するニュース 24:32 24:32 Now playing 24:32 24:32 24:32 Now playing [Uncut] Japanese Communist Party leader Tamura holds press conference: Will he mention the "next ... 日テレNEWS 日テレNEWS Verified • • 26K views 13 hours ago 0:57 0:57 Now playing 0:57 0:57 0:57 Now playing 公明党の連立離脱で揺れる衆院選北海道4区 自民・中村氏が出馬意向固めるも公明・佐藤氏の動向は依然不透明 HTB北海道ニュース HTB北海道ニュース • • 166K views 1 day ago 1:21 1:21 Now playing 1:21 1:21 1:21 Now playing 自民 最大で32議席減の可能性 「去年の衆院選で自公協力なし」でJNN分析|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 7.3K views 1 day ago 5:02 5:02 Now playing 5:02 5:02 5:02 Now playing 高市早苗総裁「総理のイス諦めない」 公明離脱を謝罪 長期「総総分離」案が浮上【知ってもっと】【グッド!モーニング】(2025年10月15日) ANNnewsCH ANNnewsCH Verified • • 95K views 1 day ago 0:44 0:44 Now playing 0:44 0:44 0:44 Now playing 高市総裁の陳謝に東海地方の議員は… 連立解消で自民党が両院議員懇談会 CBCニュース【CBCテレビ公式】 CBCニュース【CBCテレビ公式】 • • 28K views 1 day ago 5:28 5:28 Now playing 5:28 5:28 5:28 Now playing 公明党「連立離脱」熊本でも驚きの声 どうなる?政権の枠組み【熊本】 (25/10/13 19:00) TKUofficial TKUofficial • • 12K views 2 days ago 13:46 13:46 Now playing 13:46 13:46 13:46 Now playing 【タカオカ解説】新政権どうなる?与野党“駆け引き”加速 相次ぐ会談で連立模索の動き 新政権には何が必要? 読売テレビニュース 読売テレビニュース Verified • • 257K views 2 days ago 26:23 26:23 Now playing 26:23 26:23 26:23 Now playing [Prime Ministerial Election] "The most likely outcome is a minority ruling party with Takaichi as... MBS NEWS MBS NEWS Verified • • 59K views 2 days ago 12:22 12:22 Now playing 12:22 12:22 12:22 Now playing Will Komeito's withdrawal from the coalition encourage opposition cooperation? What will the next... テレ東BIZ テレ東BIZ Verified • • 59K views 2 days ago 20:28 20:28 Now playing 20:28 20:28 20:28 Now playing 【自公連立“崩壊”】「一緒にいて当たり前」が驕りに?精神科医の解説に情勢分析プロも納得 党トップは「演じてでも冷静さを」|アベヒル ABEMAニュース【公式】 ABEMAニュース【公式】 • • 33K views 2 days ago 5:12 5:12 Now playing 5:12 5:12 5:12 Now playing 自公連立離脱の波紋…静岡県内自民は「関係維持」を期待 各党駆け引き激化、国民民主の動向が焦点に SBSnews6 SBSnews6 • • 1.8K views 2 days ago 1:37 1:37 Now playing 1:37 1:37 1:37 Now playing 高市総裁“公明離脱”は「私の責任」 両院議員懇談会でおわび「首相指名の瞬間ギリギリまで努力」 FNNプライムオンライン FNNプライムオンライン Verified • • 10K views 2 days ago Show more Show less 国民 • 玉木に関するニュース 16:52 16:52 Now playing 16:52 16:52 16:52 Now playing [No Editing] Yuichiro Tamaki, leader of the Democratic Party for the People, said he would "asses... 産経ニュース 産経ニュース • • 64K views 15 hours ago 2:20 2:20 Now playing 2:20 2:20 2:20 Now playing [News] Ishin Party holds policy talks with LDP with coalition in sight. If agreement is reached, ... ANNnewsCH ANNnewsCH Verified • • 72K views 17 hours ago 1:06 1:06 Now playing 1:06 1:06 1:06 Now playing 国民・玉木代表が維新の自民との連立に向けた動きに不快感 きょうは公明党と党首会談へ FNNプライムオンライン FNNプライムオンライン Verified • • 173K views 20 hours ago 50:25 50:25 Now playing 50:25 50:25 50:25 Now playing Representative Tamaki of the People's Party appears live on the show. What are the conditions for... 日テレNEWS 日テレNEWS Verified • • 150K views 1 day ago 19:36 19:36 Now playing 19:36 19:36 19:36 Now playing 「想いは熱いですよ」国民民主党・玉木代表に聞く「“この国をよくするチャンス”をどう考える?」 一方で高市総裁は「総理になれないかもしれない女」【news23】|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 88K views 2 days ago 16:40 16:40 Now playing 16:40 16:40 16:40 Now playing “玉木総理”実現には高いハードル 立憲・国民・維新の3党が組むのは「かなり難しい」 すれ違うスタンス、お互いのライバル意識も足枷に 政治ジャーナリスト解説【きょうの深掘り】 ABCテレビニュース ABCテレビニュース • • 18K views 2 days ago 46:59 46:59 Now playing 46:59 46:59 46:59 Now playing Democratic Party for the People leader Tamaki: "Unifying opposition candidates is premised on agr... テレ東BIZ テレ東BIZ Verified • • 76K views 2 days ago 1:54 1:54 Now playing 1:54 1:54 1:54 Now playing 自民・古屋選対委員長、公明の連立離脱に「本当の保守が戻るという人も」 連携維持を探る公明議員も (25/10/13 18:05) メ〜テレニュース メ〜テレニュース Verified • • 63K views 3 days ago 5:54 5:54 Now playing 5:54 5:54 5:54 Now playing 自民と連携か、野党結集か…国民・玉木代表の思惑とは【スーパーJチャンネル】(2025年10月13日) ANNnewsCH ANNnewsCH Verified • • 22K views 3 days ago 4:14 4:14 Now playing 4:14 4:14 4:14 Now playing 【解説】首相狙いで玉木代表“争奪戦”激化…次期政権の枠組みめぐり玉木氏は「自民+維新」連携の可能性にあせり? FNNプライムオンライン FNNプライムオンライン Verified • • 18K views 1 day ago 9:39 9:39 Now playing 9:39 9:39 9:39 Now playing 【直撃】“玉木首相”への覚悟は? 連携で“ゆずれない条件”語る 日テレNEWS 日テレNEWS Verified • • 40K views 2 days ago 1:13 1:13 Now playing 1:13 1:13 1:13 Now playing 与野党双方から“アプローチ”受ける国民民主党 「政策一致できる政党と連携」の構え崩さず|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 55K views 2 days ago Show more Show less 【名古屋“暴走”3人死傷】71歳運転の車、制限速度の2倍超のスピードか 専門家「複雑で危険な道路」 4:12 4:12 Now playing 4:12 4:12 4:12 Now playing 【名古屋“暴走”3人死傷】71歳運転の車、制限速度の2倍超のスピードか 専門家「複雑で危険な道路」 日テレNEWS 日テレNEWS Verified • • 21K views 6 hours ago 18:21 18:21 Now playing 18:21 18:21 18:21 Now playing Three dead and injured in car reportedly traveling at around 60 km/h / Full details of burglary /... CBCニュース【CBCテレビ公式】 CBCニュース【CBCテレビ公式】 • • 25K views 10 hours ago 1:01 1:01 Now playing 1:01 1:01 1:01 Now playing 横断歩道に突っ込む軽乗用車、カメラが捉える 名古屋駅前事故 朝日新聞 朝日新聞 Verified • • 2.5K views 11 hours ago 0:47 0:47 Now playing 0:47 0:47 0:47 Now playing A 71-year-old man was indicted on suspicion of dangerous driving resulting in death or injury in ... メ〜テレニュース メ〜テレニュース Verified • • 5K views 11 hours ago 6:22 6:22 Now playing 6:22 6:22 6:22 Now playing 事故直後、ぼうぜんと立つ男 制限速度25kmの“2倍超え”の時速60kmか 名駅近くで3人死傷 中京テレビNEWS 中京テレビNEWS • • 159K views 14 hours ago 1:17 1:17 Now playing 1:17 1:17 1:17 Now playing 時速60キロで横断歩道に…カーブ曲がる限界速度超え突っ込んだか 71歳男を危険運転致死傷で送検 名古屋暴走3人死傷 FNNプライムオンライン FNNプライムオンライン Verified • • 9.1K views 17 hours ago 0:32 0:32 Now playing 0:32 0:32 0:32 Now playing [Breaking News] Suspect indicted for dangerous driving resulting in death and injury in accident ... 共同通信 KYODO NEWS 共同通信 KYODO NEWS • • 18K views 17 hours ago 1:37 1:37 Now playing 1:37 1:37 1:37 Now playing 名古屋駅前 3人死傷事故 時速約60kmでカーブに進入か(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 3.1K views 18 hours ago 0:32 0:32 Now playing 0:32 0:32 0:32 Now playing 危険運転致死傷に切り替え捜査 現場にブレーキ痕なし…猛スピードで横断歩道に突っ込んだか 1人死亡 名古屋駅前暴走事故|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 7.4K views 19 hours ago 1:10 1:10 Now playing 1:10 1:10 1:10 Now playing 【防犯カメラ映像】名古屋駅近くの下広井町交差点で3人はねられる事故 軽乗用車運転の71歳男を逮捕 中日新聞デジタル編集部 中日新聞デジタル編集部 • • 97K views 1 day ago 4:03 4:03 Now playing 4:03 4:03 4:03 Now playing 【名古屋市高齢ドライバー事故】「人にぶつかっていない」と否認 71歳男、事故直後に救助せず“ぼう然”と 日テレNEWS 日テレNEWS Verified • • 24K views 8 hours ago 1:52 1:52 Now playing 1:52 1:52 1:52 Now playing 時速60キロほどのスピード出ていたか 名古屋駅前で歩行者はねられ3人死傷 71歳男運転の軽乗用車 カーブ曲がりきれなかったとみて捜査 CBCニュース【CBCテレビ公式】 CBCニュース【CBCテレビ公式】 • • 10K views 11 hours ago Show more Show less 露天風呂“清掃中”に男性行方不明 クマ被害か 岩手・北上市(2025年10月17日) 1:38 1:38 Now playing 1:38 1:38 1:38 Now playing 露天風呂“清掃中”に男性行方不明 クマ被害か 岩手・北上市(2025年10月17日) ANNnewsCH ANNnewsCH Verified • • 990 views 50 minutes ago 5:33 5:33 Now playing 5:33 5:33 5:33 Now playing 岩手・露天風呂清掃中にクマに襲われた?従業員が行方不明 全国でクマ襲撃による死者 過去最多の7人 札幌では住宅地でハンターが駆除…銃声2発【news23】|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 5.9K views 6 hours ago 7:55 7:55 Now playing 7:55 7:55 7:55 Now playing 【各地でクマ出没】車に“体当たり” 住宅街に銃声鳴り響く瞬間も 日テレNEWS 日テレNEWS Verified • • 13K views 6 hours ago 4:18 4:18 Now playing 4:18 4:18 4:18 Now playing 保育園にクマ出没 温泉では従業員不明…露天風呂付近で血痕「動物による被害の可能性高い」 東北など各地でクマ被害 FNNプライムオンライン FNNプライムオンライン Verified • • 14K views 12 hours ago 3:39 3:39 Now playing 3:39 3:39 3:39 Now playing 温泉旅館の従業員が行方不明…クマ被害か 現場に約10本の毛【報道ステーション】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 21K views 7 hours ago 0:33 0:33 Now playing 0:33 0:33 0:33 Now playing 全国で相次ぐクマ被害 今年度の犠牲者7人に 過去最多 冬眠に備え活発になるクマに注意|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 3K views 19 hours ago 2:37 2:37 Now playing 2:37 2:37 2:37 Now playing 【クマ】露天風呂を清掃の男性が行方不明 やぶに引きずり込んだか 現場には複数の血痕 岩手・北上市 日テレNEWS 日テレNEWS Verified • • 327K views 10 hours ago 1:17 1:17 Now playing 1:17 1:17 1:17 Now playing クマに襲われたか…岩手・北上市の瀬美温泉で露天風呂を清掃していた男性従業員が行方不明に、付近に血痕も FNNプライムオンライン FNNプライムオンライン Verified • • 9.2K views 12 hours ago 4:21 4:21 Now playing 4:21 4:21 4:21 Now playing クマ被害か?露天風呂に血痕 岩手・温泉で従業員行方不明【スーパーJチャンネル】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 49K views 11 hours ago 1:06 1:06 Now playing 1:06 1:06 1:06 Now playing 【速報】クマ被害か…温泉旅館で露天風呂を清掃していた従業員男性が行方不明 血痕や引きずられたような跡も 岩手・北上市 日テレNEWS 日テレNEWS Verified • • 47K views 14 hours ago 1:50 1:50 Now playing 1:50 1:50 1:50 Now playing 露天風呂“清掃中”に男性が行方不明…クマ被害か 岩手(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 20K views 12 hours ago 1:43 1:43 Now playing 1:43 1:43 1:43 Now playing 【速報】クマ被害か?露天風呂に血痕 温泉地で男性が行方不明 岩手【スーパーJチャンネル】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 10K views 13 hours ago Show more Show less 札幌市北区屯田町でクマの目撃情報 付近に住宅街ひろがり警察がパトロールを強化 0:43 0:43 Now playing 0:43 0:43 0:43 Now playing 札幌市北区屯田町でクマの目撃情報 付近に住宅街ひろがり警察がパトロールを強化 HTB北海道ニュース HTB北海道ニュース • • 109 views 23 minutes ago 17:02 17:02 Now playing 17:02 17:02 17:02 Now playing October 16th (Thursday) Hokkaido #Evening News 北海道ニュースUHB 北海道ニュースUHB • • 6.6K views 9 hours ago 1:01 1:01 Now playing 1:01 1:01 1:01 Now playing 札幌市の住宅街でヒグマの出没相次ぐ 中央区で1頭を駆除 北海道新聞 どうしん動画ニュース 北海道新聞 どうしん動画ニュース • • 843 views 9 hours ago 8:58 8:58 Now playing 8:58 8:58 8:58 Now playing 300キロのヒグマが箱罠に…クマの町に学ぶ対策【スーパーJチャンネル】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 322K views 11 hours ago 2:04 2:04 Now playing 2:04 2:04 2:04 Now playing 【クマ】庭に…木に登り食事?「叫んでお母さんに教えた」 秋田では大学近くに 日テレNEWS 日テレNEWS Verified • • 3K views 11 hours ago 0:44 0:44 Now playing 0:44 0:44 0:44 Now playing 箱わなにかかったメスのクマ1頭駆除 体長約1.4メートル 「ヒグマ警報」継続中の札幌・西区|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 2.1K views 3 days ago 0:21 0:21 Now playing 0:21 0:21 0:21 Now playing 体長約2m「ヒグマを見た」札幌・北区屯田町 道道128号 警察がパトロール中 HTB北海道ニュース HTB北海道ニュース • • 1.9K views 7 hours ago 0:59 0:59 Now playing 0:59 0:59 0:59 Now playing [Bears in Sapporo: Unstoppable] A bear was spotted in a wooded area behind a house. It was 1.5 me... 北海道ニュースUHB 北海道ニュースUHB • • 1.5K views 9 hours ago 0:45 0:45 Now playing 0:45 0:45 0:45 Now playing 箱わなでヒグマ捕獲 出没が相次ぐ砂川市で【提供動画】 北海道新聞 どうしん動画ニュース 北海道新聞 どうしん動画ニュース • • 1.1K views 14 hours ago 1:53 1:53 Now playing 1:53 1:53 1:53 Now playing 【クマ】母グマか、札幌でメスのクマ1頭を駆除 “親子クマ”目撃相次ぐ カメラにも姿 日テレNEWS 日テレNEWS Verified • • 8K views 3 days ago 1:15 1:15 Now playing 1:15 1:15 1:15 Now playing Bear sightings in Sapporo's Chuo and Nishi wards this morning. A cub that appeared in Maruyama Ni... HTB北海道ニュース HTB北海道ニュース • • 4.7K views 13 hours ago 0:59 0:59 Now playing 0:59 0:59 0:59 Now playing 【札幌で止まらぬクマ出没】住宅裏の雑木林で目撃 体長1.5メートル 20分間四つん這いで穴を掘りクリを食べ山の方へ立ち去る 周辺住民は警戒―中央区では子グマ1頭が駆除<北海道> 北海道ニュースUHB 北海道ニュースUHB • • 2.1K views 10 hours ago Show more Show less 首相指名に関するニュース 1:20 1:20 Now playing 1:20 1:20 1:20 Now playing [Breaking News] Extraordinary Diet session to convene on the 21st, no agreement reached on date f... 日テレNEWS 日テレNEWS Verified • • 38K views 1 day ago 1:23 1:23 Now playing 1:23 1:23 1:23 Now playing 臨時国会を来週21日に召集 林官房長官が国会に伝達(2025年10月15日) ANNnewsCH ANNnewsCH Verified • • 19K views 1 day ago 0:39 0:39 Now playing 0:39 0:39 0:39 Now playing 【速報】臨時国会 今月21日召集を政府が正式伝達|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 5.3K views 1 day ago 1:20 1:20 Now playing 1:20 1:20 1:20 Now playing 【速報】臨時国会は21日召集 総理大臣指名選挙の日程合意ならず 日テレNEWS 日テレNEWS Verified • • 47K views 1 day ago 1:51 1:51 Now playing 1:51 1:51 1:51 Now playing 総理指名選挙めぐり与野党駆け引き 臨時国会は21日に召集へ(2025年10月15日) ANNnewsCH ANNnewsCH Verified • • 5K views 2 days ago Show more Show less 「2人に恨みはなかった」木村斗哉容疑者(22)新供述 埼玉・鶴ヶ島市の老人ホームで入所者女性2人死亡 自宅から約20キロ離れた老人ホームまで自転車で移動|TBS NEWS DIG 0:44 0:44 Now playing 0:44 0:44 0:44 Now playing 「2人に恨みはなかった」木村斗哉容疑者(22)新供述 埼玉・鶴ヶ島市の老人ホームで入所者女性2人死亡 自宅から約20キロ離れた老人ホームまで自転車で移動|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 1K views 3 hours ago 2:56 2:56 Now playing 2:56 2:56 2:56 Now playing 「カーテン開けてのぞかれた」アパート住人が語った木村斗哉容疑者(22)の人物像は 被害女性は窒息死か…埼玉・老人ホーム入所者殺害事件 FNNプライムオンライン FNNプライムオンライン Verified • • 22K views 11 hours ago 1:34 1:34 Now playing 1:34 1:34 1:34 Now playing 逮捕の男「2人に恨みはなかった」 埼玉・鶴ヶ島市の老人ホームで2人死亡の事件(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 2.8K views 11 hours ago 0:35 0:35 Now playing 0:35 0:35 0:35 Now playing 元施設職員、血付きのナイフ所持 計画的か、事前に購入 埼玉県警 時事通信映像センター 時事通信映像センター • • 7.6K views 11 hours ago 7:16 7:16 Now playing 7:16 7:16 7:16 Now playing [This morning's latest news 4 items] Get today's latest news as soon as you get to work or school... 日テレNEWS 日テレNEWS Verified • • 21K views 1 day ago 0:53 0:53 Now playing 0:53 0:53 0:53 Now playing Two women found dead at nursing home in Tsurugashima, Saitama; man who arrested them suggests murder テレ東BIZ テレ東BIZ Verified • • 7.3K views 1 day ago 0:38 0:38 Now playing 0:38 0:38 0:38 Now playing 入所女性2人流血、死亡…埼玉県鶴ヶ島市の老人ホーム 読売新聞オンライン動画 読売新聞オンライン動画 • • 11K views 1 day ago 0:57 0:57 Now playing 0:57 0:57 0:57 Now playing 老人ホーム入所者2人死亡 元職員確保 殺害ほのめかす 埼玉 共同通信 KYODO NEWS 共同通信 KYODO NEWS • • 3.2K views 1 day ago 1:02 1:02 Now playing 1:02 1:02 1:02 Now playing 高齢女性2人が血を流し倒れる、搬送後に死亡確認 埼玉の高齢者施設 朝日新聞 朝日新聞 Verified • • 1.6K views 1 day ago 0:17 0:17 Now playing 0:17 0:17 0:17 Now playing Two female residents die at a nursing home in Saitama; suspicious person caught on security camer... 毎日新聞 毎日新聞 Verified • • 8.1K views 1 day ago 0:32 0:32 Now playing 0:32 0:32 0:32 Now playing 「2人に恨みはなかった」元施設職員・木村斗哉容疑者(22) 老人ホームで80代入所者女性2人死亡 埼玉・鶴ヶ島市|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 6.5K views 9 hours ago 1:24 1:24 Now playing 1:24 1:24 1:24 Now playing 「4桁の暗証番号を入力して鍵を開けた」元職員の22歳男を送検 暗証番号は変更せず 埼玉老人ホーム女性2人殺害 FNNプライムオンライン FNNプライムオンライン Verified • • 12K views 17 hours ago Show more Show less 「帰ってきてくれてありがとう」14年ぶりに…東日本大震災で行方不明の6歳【報道ステーション】(2025年10月16日) 1:45 1:45 Now playing 1:45 1:45 1:45 Now playing 「帰ってきてくれてありがとう」14年ぶりに…東日本大震災で行方不明の6歳【報道ステーション】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 3.7K views 7 hours ago 5:01 5:01 Now playing 5:01 5:01 5:01 Now playing 【東日本大震災から14年】「おかえり」6歳子どもの遺骨、家族のもとへ 母「帰ってきてくれてありがとう」 日テレNEWS 日テレNEWS Verified • • 9.1K views 8 hours ago 2:19 2:19 Now playing 2:19 2:19 2:19 Now playing "We were a family of four" Remains of missing 6-year-old girl returned to her family 14 years and... TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 45K views 11 hours ago 1:51 1:51 Now playing 1:51 1:51 1:51 Now playing 「帰ってくれてありがとう」東日本大震災で行方不明…当時6歳の女児遺骨が家族のもとに 14年7カ月ぶりの再会 FNNプライムオンライン FNNプライムオンライン Verified • • 10K views 11 hours ago 3:14 3:14 Now playing 3:14 3:14 3:14 Now playing 14 years after the disaster, remains of girl missing in tsunami returned to family 朝日新聞 朝日新聞 Verified • • 1.3K views 12 hours ago 1:13 1:13 Now playing 1:13 1:13 1:13 Now playing 宮城・南三陸町で見つかった遺体 東日本大震災で不明の6歳女の子と判明(2025年10月9日) ANNnewsCH ANNnewsCH Verified • • 5.2K views 6 days ago 4:32 4:32 Now playing 4:32 4:32 4:32 Now playing 「喜び半分…こんな形でという寂しさも半分」行方不明の6歳女児 両親の元へ、東日本大震災から14年7か月|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 7.7K views 11 hours ago 2:57 2:57 Now playing 2:57 2:57 2:57 Now playing 14年越しで身元判明 当時6歳の山根捺星さん東日本大震災で行方不明に「おかえり、がんばったね」 FNNプライムオンライン FNNプライムオンライン Verified • • 463K views 6 days ago 0:58 0:58 Now playing 0:58 0:58 0:58 Now playing [News] Remains discovered are those of a 6-year-old girl who went missing during the Great East J... ANNnewsCH ANNnewsCH Verified • • 216K views 6 days ago 2:19 2:19 Now playing 2:19 2:19 2:19 Now playing 「私たち4人家族だったよね」行方不明の女児(6)の遺骨 家族のもとに 東日本大震災から14年7か月 「喜びも半分 寂しさも半分」|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 57K views 13 hours ago 1:34 1:34 Now playing 1:34 1:34 1:34 Now playing 発見遺骨は東日本大震災で不明の6歳女児 砂浜清掃で発見、DNA鑑定などで特定【知っておきたい!】【グッド!モーニング】(2025年10月10日) ANNnewsCH ANNnewsCH Verified • • 3.2K views 6 days ago Show more Show less 【17日の天気】全国的に晴れ 洗濯日和に 2:59 2:59 Now playing 2:59 2:59 2:59 Now playing 【17日の天気】全国的に晴れ 洗濯日和に 日テレNEWS 日テレNEWS Verified • • 1.8K views 10 hours ago 2:38 2:38 Now playing 2:38 2:38 2:38 Now playing [Friday, October 17th] Parasols are more useful than umbrellas. It's a clear, dry day with hot su... MBS NEWS MBS NEWS Verified • • 5.4K views 11 hours ago 3:56 3:56 Now playing 3:56 3:56 3:56 Now playing 【10月17日 関東の天気】 あす1週間ぶりの秋晴れ|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 7.1K views 12 hours ago 2:02 2:02 Now playing 2:02 2:02 2:02 Now playing 【お天気どうなる】17日は“貴重な晴れ” 19日からは本格的な秋を感じる気温に テレビ金沢NEWS テレビ金沢NEWS • • 1.1K views 12 hours ago 6:19 6:19 Now playing 6:19 6:19 6:19 Now playing [Weekend Weather] Rain and wind across the country, temperatures plummet on Sunday, making it fee... ウェザーニュース ウェザーニュース Verified • • 66K views 17 hours ago 3:28 3:28 Now playing 3:28 3:28 3:28 Now playing あす(17日)は広い範囲で秋晴れ予想 土曜日(18日)は日本海側から次第に雨が降りだし風も強まる見込み|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 5.3K views 13 hours ago 1:50 1:50 Now playing 1:50 1:50 1:50 Now playing 【お天気どうなる】15日の日中に晴れ間 16日は風雨強まる見込み 19日から一気に気温下がり“本格的な秋”に テレビ金沢NEWS テレビ金沢NEWS • • 435 views 2 days ago 3:04 3:04 Now playing 3:04 3:04 3:04 Now playing [Weekly Weather] Temperatures will drop nationwide next week, making autumn feel more intense. Ho... ウェザーニュース ウェザーニュース Verified • • 11K views 1 day ago 2:21 2:21 Now playing 2:21 2:21 2:21 Now playing [There will be rough weather on the 16th and 18th] Sunny weather will not last long over the weekend ウェザーニュース ウェザーニュース Verified • • 27K views 1 day ago 2:33 2:33 Now playing 2:33 2:33 2:33 Now playing [Weekly Weather] Autumn has finally arrived in earnest / The season has made a big step forward s... ウェザーニュース ウェザーニュース Verified • • 31K views 2 days ago 2:02 2:02 Now playing 2:02 2:02 2:02 Now playing 【秋雨前線】本州付近に停滞 連休明けは広範囲で曇りや雨 ウェザーニュース ウェザーニュース Verified • • 46K views 4 days ago Show more Show less 【全国の天気】秋雨前線通過中 北陸で強い雨 あすの晴天は「広範囲&長時間」【スーパーJチャンネル】(2025年10月16日) 3:24 3:24 Now playing 3:24 3:24 3:24 Now playing 【全国の天気】秋雨前線通過中 北陸で強い雨 あすの晴天は「広範囲&長時間」【スーパーJチャンネル】(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 5.8K views 13 hours ago 0:29 0:29 Now playing 0:29 0:29 0:29 Now playing Weather on October 16th テレ東BIZ テレ東BIZ Verified • • 4.2K views 18 hours ago 1:02 1:02 Now playing 1:02 1:02 1:02 Now playing 【土砂災害などに注意警戒呼び掛け】能登は16日昼過ぎまで“非常に激しい雨”に 加賀は夕方まで“激しい雨” #shorts テレビ金沢NEWS テレビ金沢NEWS • • 1.6K views 19 hours ago 2:58 2:58 Now playing 2:58 2:58 2:58 Now playing 【天気】日中は東北~九州北部の広い範囲で雨 西・東日本では落雷や突風・急な強い雨に注意 日テレNEWS 日テレNEWS Verified • • 16K views 23 hours ago 2:25 2:25 Now playing 2:25 2:25 2:25 Now playing [Heavy Rain Information] A low pressure system accompanied by a front passes through Hokuriku, an... ウェザーニュース ウェザーニュース Verified • • 14K views 1 day ago 3:41 3:41 Now playing 3:41 3:41 3:41 Now playing 【16日 きょうの天気】傘の手放せない一日 北・東日本は上着必須 一方、西日本は季節外れの暑さ続く|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 17K views 1 day ago 4:01 4:01 Now playing 4:01 4:01 4:01 Now playing [Thursday, October 16th] Bring large umbrellas across the region. Watch out for severe thundersto... MBS NEWS MBS NEWS Verified • • 6.6K views 1 day ago 1:33 1:33 Now playing 1:33 1:33 1:33 Now playing 全国的に雨 北陸など警報級の大雨の恐れ 四国や九州は暑さ続く(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 1.2K views 18 hours ago 0:31 0:31 Now playing 0:31 0:31 0:31 Now playing Weather on October 15th テレ東BIZ テレ東BIZ Verified • • 5.4K views 1 day ago 1:02 1:02 Now playing 1:02 1:02 1:02 Now playing 【土砂災害などに注意警戒呼び掛け】能登は16日昼過ぎまで“非常に激しい雨”に 加賀は夕方まで“激しい雨” テレビ金沢NEWS テレビ金沢NEWS • • 1.7K views 19 hours ago 3:08 3:08 Now playing 3:08 3:08 3:08 Now playing 【16日の天気】全国的に雨 日本海側中心に激しく降るところも 日テレNEWS 日テレNEWS Verified • • 10K views 1 day ago 1:22 1:22 Now playing 1:22 1:22 1:22 Now playing [Weather forecast] Beware of rain in western Japan! Umbrellas will be needed from the afternoon ウェザーニュース ウェザーニュース Verified • • 8.4K views 1 day ago Show more Show less 企業献金に関するニュース 2:09 2:09 Now playing 2:09 2:09 2:09 Now playing 公明と国民が企業団体献金でタッグ(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 3K views 7 hours ago 18:23 18:23 Now playing 18:23 18:23 18:23 Now playing [Uncut] Following the meeting between the party leaders and secretary-general of the Komeito Part... 日テレNEWS 日テレNEWS Verified • • 30K views 12 hours ago 30:16 30:16 Now playing 30:16 30:16 30:16 Now playing [Uncut] Following the meeting between the party leader and secretary-general of the Democratic Pa... 日テレNEWS 日テレNEWS Verified • • 18K views 12 hours ago 16:29 16:29 Now playing 16:29 16:29 16:29 Now playing 【速報】国民民主との党首・幹事長会談終え 公明・斉藤代表、西田幹事長がコメント 日テレNEWS 日テレNEWS Verified • • 119K views 14 hours ago 17:30 17:30 Now playing 17:30 17:30 17:30 Now playing 【速報】公明との党首・幹事長会談終え 国民・玉木代表がコメント 日テレNEWS 日テレNEWS Verified • • 317K views 15 hours ago 6:48 6:48 Now playing 6:48 6:48 6:48 Now playing [Uncut] Komeito Secretary-General Nishida comments after meeting with the Democratic Party for th... 日テレNEWS 日テレNEWS Verified • • 20K views 2 days ago Show more Show less “わいせつ画像”AIで生成・販売か「性的ディープフェイク」2万点以上作成の男を逮捕…進化するAIに「法整備追いつかず」【news23】|TBS NEWS DIG 3:26 3:26 Now playing 3:26 3:26 3:26 Now playing “わいせつ画像”AIで生成・販売か「性的ディープフェイク」2万点以上作成の男を逮捕…進化するAIに「法整備追いつかず」【news23】|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 5.2K views 6 hours ago 0:54 0:54 Now playing 0:54 0:54 0:54 Now playing わいせつ動画をネット公開した疑いで20代の男ら逮捕 同僚や知人女性の顔写真使い生成AIで“フェイクポルノ”動画作成 60人近くが被害か カンテレNEWS カンテレNEWS Verified • • 44K views 12 hours ago 1:35 1:35 Now playing 1:35 1:35 1:35 Now playing 「反響大きく収益見込めると」生成AIで作った“芸能人に似せたわいせつ画像”ネットで公開か…31歳男を逮捕 FNNプライムオンライン FNNプライムオンライン Verified • • 10K views 17 hours ago 1:37 1:37 Now playing 1:37 1:37 1:37 Now playing 生成AIで芸能人のわいせつ画像 「ディープフェイク」悪用し販売か 男を逮捕(2025年10月16日) ANNnewsCH ANNnewsCH Verified • • 5.8K views 18 hours ago 1:07 1:07 Now playing 1:07 1:07 1:07 Now playing Man arrested for creating sexually explicit deepfake images of idols and other people using gener... テレ東BIZ テレ東BIZ Verified • • 24K views 18 hours ago 2:45 2:45 Now playing 2:45 2:45 2:45 Now playing 生成AIで女性芸能人模した“性的ディープフェイク”2万点作成・販売か 31歳男を逮捕 専門家から「日本で法整備が追いついていない」と指摘も|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 17K views 13 hours ago 0:54 0:54 Now playing 0:54 0:54 0:54 Now playing 生成AIで女性芸能人を模したわいせつ画像を作成し販売か 会社員の31歳男を逮捕 生成AIで著名人模した“性的ディープフェイク”の摘発は全国初 警視庁|TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 18K views 19 hours ago Show more Show less Tap to unmute 2x Search Info Shopping If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / Live • Watch full video • • NaN / NaN 2025-10-17 06:23:57 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 10/19 個網址 2025-10-17 06:23:57 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/gaming 2025-10-17 06:23:57 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/gaming, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/gaming 的第 1/3 次請求 2025-10-17 06:23: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 0x7de2032f31d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a2b00fb623ee01810c9661c819a56b82 2025-10-17 06:23: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 0x7de2032f3390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a2b00fb623ee01810c9661c819a56b82 2025-10-17 06:23: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 0x7de2032f3a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a2b00fb623ee01810c9661c819a56b82 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_92047235_teumk226 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:23:57 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:23:58 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:23:58 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409667674832 (1/3) 2025-10-17 06:23:58 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/gaming 2025-10-17 06:23:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:23:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:24:00 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/gaming 2025-10-17 06:24:01 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:24:01 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:24:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:24:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:24:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 10/19 2025-10-17 06:24:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:24:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:24:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:24:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:24:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:24:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:24:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:24:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:24:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:24:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:24:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:24:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:24:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:24:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 10/19 2025-10-17 06:24:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 9/21 2025-10-17 06:24:17 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:24:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-17 06:24:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 432.1MB, CPU 0.0% 2025-10-17 06:24:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:24:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:24:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:24:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/20 (實際 URL: https://feibi-coffee.com/product/20) 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:24:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 10/19 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 30652 字節 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 244 字節 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 370 字節 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 454 字節 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 370 字節,約 58 個詞,44 行 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 玫瑰藝妓 Rose Geisha 咖啡禮盒(10入) 0 則評論 NT$900 1 加入購物車 詳細說明 商品規格 相關推薦 來自巴拿馬藝妓品種的極品咖啡豆,入口即感受到如玫瑰花香般的優雅芬芳,伴隨茉莉、柑橘與白桃的層次交錯。酸質細緻、餘韻悠長,適合想要體驗精品極致風味的你。 規格 - 評級 - 品種 - 烘焙程度 中焙 風味 - 處理方式 - 海拔 - 隨機 塔羅咖啡隨機禮盒(10入) NT$420 大阿牌塔羅濾掛禮盒(22入) NT$960 天堂鳥 Paradise Bird 咖啡禮盒(20入) NT$800 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:24:24 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 10/21 個網址 2025-10-17 06:24:24 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/18 2025-10-17 06:24:24 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/18, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/18 的第 1/3 次請求 2025-10-17 06:24: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 0x7de209fb8dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/994b6e5b9ee7395f849ed072118b3b08 2025-10-17 06:24: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 0x7de209fb8990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/994b6e5b9ee7395f849ed072118b3b08 2025-10-17 06:24: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 0x7de209946b90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/994b6e5b9ee7395f849ed072118b3b08 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_b3e0f8cd_zrr6ws3c 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:24:24 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:24:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:24:25 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:24:25 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409780476240 (1/3) 2025-10-17 06:24:25 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/18 2025-10-17 06:24:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:24:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-17 06:24:25 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/18 2025-10-17 06:24:25 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:24:26 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:24:26 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/gaming 2025-10-17 06:24:26 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:24:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:24:28 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:24:28 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:24:28 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:24:28 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:24:32 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 170 2025-10-17 06:24:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:24:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:24:34 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 170,內容可能已加載完成 2025-10-17 06:24:34 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:24:34 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:24:34 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:24:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 10/19 2025-10-17 06:24:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:24:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 10/19 2025-10-17 06:24:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:24:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 10/19 2025-10-17 06:24:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:25:06 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:25:06 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/18 2025-10-17 06:25:06 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/gaming (實際 URL: https://www.youtube.com/gaming) 2025-10-17 06:25:06 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:25:06 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:25:06 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:25:07 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:25:07 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:25:07 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:25:07 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1341235 字節 2025-10-17 06:25:07 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 686 字節 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2810 字節 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 2810 字節 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 2810 字節,約 447 個詞,194 行 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Gaming Featured 28:09 28:09 Now playing Push Na 3000 Trophy a Hog Rider Aréna v Clash Royale! Jakub Destro Jakub Destro Verified 22K views 3 days ago 21:15 21:15 Now playing 1 vs 1.000.000 Forintos Steal A Brainrot Bázis!🤯 Venc30 Venc30 Verified 87K views 7 days ago 22:58 22:58 Now playing ВСИЧКИ СРЕЩУ МЕН 😭 СУМО В GTA xXShadowHexXx xXShadowHexXx Verified 19K views 12 days ago 21:01 21:01 Now playing STÁČÍM KILOMETRY?! 🤫| Car Dealer #2 HouseBox HouseBox Verified 87K views 4 days ago 29:12 29:12 Now playing Neue Spiele, ungeahnte Comebacks und Unreal wird auch ohne "Engine" besser! - Trailer-Rotation GameStar GameStar Verified 123K views 4 days ago Top live games Auto-generated by YouTube View all Pokémon Legends: Z-A 66K watching worldwide Roblox 53K watching worldwide Free Fire 31K watching worldwide Battlefield 6 20K watching worldwide League of Legends 16K watching worldwide Clash Royale 14K watching worldwide Trending videos Hot and fresh View all 36:40 36:40 Now playing モンストニュース[10/16]モンストの最新情報をお届けします!【モンスト公式】 モンスト(モンスターストライク)公式 モンスト(モンスターストライク)公式 Verified 578K views · 15 hours ago 17:01 17:01 Now playing The price of cola has exceeded its limit, so I'm playing a super expensive stupid game that costs... からすまAチャンネル からすまAチャンネル Verified 322K views · 11 hours ago 18:36 18:36 Now playing SHAKA [MADTOWN] reunites with Kuromu Yono, whose face is "in a different league" SHAKAch SHAKAch 153K views · 13 hours ago 19:17 19:17 Now playing This is the ultimate seriousness. "Super Ultimate Izanami" descends [Monster Strike] がみくん がみくん 201K views · 10 hours ago 1:35:09 1:35:09 Now playing 【🔴モンストLIVE配信】超究極『黄泉国の主宰神 イザナミ』に初見で挑む!!【しろ】 しろ しろ 243K views · Streamed 11 hours ago 8:49:23 8:49:23 Now playing 【 GTA5 MADTOWN 】Day12 おれらHYPE5 なるせ部 なるせ部 Verified 411K views · Streamed 4 hours ago Search Info Shopping Tap to unmute 2x If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / • Watch full video Live • • NaN / NaN 2025-10-17 06:25:08 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 11/19 個網址 2025-10-17 06:25:08 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/account 2025-10-17 06:25:08 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/account, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/account 的第 1/3 次請求 2025-10-17 06:25:08 - 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 0x7de2032f1a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bfa05d44bc266bc90edfdf4d21162813 2025-10-17 06:25:08 - 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 0x7de1ffab0e90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bfa05d44bc266bc90edfdf4d21162813 2025-10-17 06:25:08 - 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 0x7de1ffab2810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/bfa05d44bc266bc90edfdf4d21162813 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_67d5959f_uoh8b3rk 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:25:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 11/19 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:25:08 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409897699088 (1/3) 2025-10-17 06:25:08 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/account 2025-10-17 06:25:10 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/account 2025-10-17 06:25:10 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:25:10 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:25:10 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:25:10 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/account 2025-10-17 06:25:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:25:12 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:25:12 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:25:12 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:25:12 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:25:16 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 101 2025-10-17 06:25:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:25:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:25:18 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 101,內容可能已加載完成 2025-10-17 06:25:18 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:25:18 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 291 2025-10-17 06:25:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 11/19 2025-10-17 06:25:19 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 54 2025-10-17 06:25:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:25:21 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 54,內容可能已加載完成 2025-10-17 06:25:21 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:25:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:25:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:25:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:25:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:25:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 11/19 2025-10-17 06:25:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:25:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:25:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:25:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 11/19 2025-10-17 06:25:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 10/21 2025-10-17 06:25:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:25:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 350.7MB, CPU 0.0% 2025-10-17 06:25:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:25:51 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/18 (實際 URL: https://feibi-coffee.com/product/18) 2025-10-17 06:25:51 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:25:51 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:25:51 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 29667 字節 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 251 字節 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 365 字節 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 449 字節 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 365 字節,約 57 個詞,39 行 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 貝多芬 Beethoven Blend 單品(10入) 0 則評論 NT$430 1 加入購物車 詳細說明 商品規格 相關推薦 這是一款帶有強烈節奏感的中深焙配方豆,前段是濃郁可可與焦糖香,中段迸出黑莓與紅酒的成熟氣息,尾韻帶有輕微煙燻。如同貝多芬的樂章,有著磅礡情感與細緻變化,適合搭配義式機或手沖。 規格 10入(10g ±1%/入) 評級 - 品種 Typica 烘焙程度 中焙 風味 烤堅果 / 太妃糖 / 奶油 處理方式 蜜處理 海拔 1400m 龐貝 Pompeii 單品(10入) NT$480 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:25:52 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 11/21 個網址 2025-10-17 06:25:52 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/17 2025-10-17 06:25:52 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/17, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/17 的第 1/3 次請求 2025-10-17 06:25:52 - 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 0x7de20a536e10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b21f36eeb38bd8cf6ceca2ca2b021cd7 2025-10-17 06:25:52 - 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 0x7de209fb91d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b21f36eeb38bd8cf6ceca2ca2b021cd7 2025-10-17 06:25:52 - 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 0x7de209fb9610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b21f36eeb38bd8cf6ceca2ca2b021cd7 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_559e4dca_xj4y4vwb 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:25:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 11/19 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:25:52 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409783561808 (1/3) 2025-10-17 06:25:52 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/17 2025-10-17 06:25:53 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/17 2025-10-17 06:25:53 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:25:53 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:25:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:25:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:26:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 11/19 2025-10-17 06:26:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:26:06 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/account (實際 URL: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Faccount%26feature%3Dredirect_login&dsh=S-549884435%3A1760653509126290&hl=en&ifkv=AfYwgwUd0T6UxeHednXfjiU8fGuq4-7IoPLKFtubwtViRvUT5tA8UoFN5JP4uv3GaffeJcXfO3me&passive=true&service=youtube&uilel=3&flowName=GlifWebSignIn&flowEntry=ServiceLogin) 2025-10-17 06:26:06 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:26:06 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:26:06 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:26:06 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1144606 字節 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 252 字節 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 193 字節 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 252 字節 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 1026 字節 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1231 字節,約 239 個詞,102 行 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Sign in to continue to YouTube Not your computer? Use a Private Window to sign in. Learn more about using Guest mode Next Create account For my personal use For my child For work or my business 額外的結構化內容: • For my personal use • For my child • For work or my business • Afrikaans • azərbaycan • bosanski • català • Čeština • Cymraeg • Dansk • Deutsch • eesti • English (United Kingdom) • English (United States) • Español (España) • Español (Latinoamérica) • euskara • Filipino • Français (Canada) • Français (France) • Gaeilge • galego • Hrvatski • Indonesia • isiZulu • íslenska • Italiano • Kiswahili • latviešu • lietuvių • magyar • Melayu • Nederlands • norsk • o‘zbek • polski • Português (Brasil) • Português (Portugal) • română • shqip • Slovenčina • slovenščina • srpski (latinica) • Suomi • Svenska • Tiếng Việt • Türkçe • Ελληνικά • беларуская • български • кыргызча • қазақ тілі • македонски • монгол • Русский • српски (ћирилица) • Українська • ქართული • հայերեն • ‫עברית‬‎ • ‫اردو‬‎ • ‫العربية‬‎ • ‫فارسی‬‎ • አማርኛ • नेपाली • मराठी • हिन्दी • অসমীয়া • বাংলা • ਪੰਜਾਬੀ • ગુજરાતી • ଓଡ଼ିଆ • தமிழ் • తెలుగు • ಕನ್ನಡ • മലയാളം • සිංහල • ไทย • ລາວ • မြန်မာ • ខ្មែរ • 한국어 • 中文(香港) • 日本語 • 简体中文 • 繁體中文 • Help • Privacy • Terms 2025-10-17 06:26:07 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 12/19 個網址 2025-10-17 06:26:07 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 2025-10-17 06:26:07 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 的第 1/3 次請求 2025-10-17 06:26: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 0x7de20dd77210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/32e1fc5f025b46bb2d3cc55bafd62b7a 2025-10-17 06:26: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 0x7de20dd74dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/32e1fc5f025b46bb2d3cc55bafd62b7a 2025-10-17 06:26: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 0x7de20dd76ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/32e1fc5f025b46bb2d3cc55bafd62b7a 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_b4e9c57e__i2_usze 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:26:07 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848298192 (1/3) 2025-10-17 06:26:07 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 2025-10-17 06:26:10 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 2025-10-17 06:26:10 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:26:12 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:26:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 12/19 2025-10-17 06:26:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:26:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:26:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:26:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:26:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:26:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:26:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 12/19 2025-10-17 06:26:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:26:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:26:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:26:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:26:34 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:26:34 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/17 2025-10-17 06:26:36 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:26:36 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:26:36 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:26:36 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:26:36 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 2025-10-17 06:26:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 12/19 2025-10-17 06:26:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:26:38 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:26:38 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:26:38 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:26:38 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:26:42 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 425 2025-10-17 06:26:44 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 425,內容可能已加載完成 2025-10-17 06:26:44 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:26:44 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:26:44 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:26:46 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 283 2025-10-17 06:26:47 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 53 2025-10-17 06:26:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 12/19 2025-10-17 06:26:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:26:49 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 53,內容可能已加載完成 2025-10-17 06:26:49 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:26:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 12/19 2025-10-17 06:26:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:27:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:27:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:27:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:27:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:27:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:27:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:27:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:27:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:27:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 12/19 2025-10-17 06:27:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 11/21 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw (實際 URL: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw) 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:27:17 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:27:18 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1975564 字節 2025-10-17 06:27:18 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 335 字節 2025-10-17 06:27:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:27:18 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 6145 字節 2025-10-17 06:27:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 6145 字節 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 6145 字節,約 1097 個詞,464 行 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Tap to unmute 2x Search Watch later Share Copy link Info Shopping If playback doesn't begin shortly, try restarting your device. • Sign in to confirm you’re not a bot Share Include playlist An error occurred while retrieving sharing information. Please try again later. MLB • 1.1M views • 1 day ago Dodgers vs. Brewers NLCS Game 2 Highlights (10/14/25) | MLB Highlights Sports 74.5M subscribers Subscribe Highlights View all 23:53 23:53 Now playing 23:53 23:53 23:53 Now playing Blue Jays CRUSH Mariners🔥 A-Rod, Big Papi & Derek Jeter react to Toronto's Game 3 Win in ALCS FOX Sports FOX Sports • • 166K views 18 hours ago 2:38 2:38 Now playing 2:38 2:38 2:38 Now playing Big Papi thinks Brewers are in TOUGH SPOT after Dodgers DOMINATE Game 2 of NLCS | MLB on FOX FOX Sports FOX Sports • • 47K views 22 hours ago 20:22 20:22 Now playing 20:22 20:22 20:22 Now playing Dodgers vs. Brewers NLCS Game 2 Highlights (10/14/25) | MLB Highlights MLB MLB • • 1.1M views 1 day ago 11:34 11:34 Now playing 11:34 11:34 11:34 Now playing Match Highlights , AFC U-17 Women’s Asian Cup 2026MYANMAR 7 - 0 MACAU Pyone Play Sports Pyone Play Sports • • 157K views 1 day ago 44:55 44:55 Now playing 44:55 44:55 44:55 Now playing Mariners at Blue Jays | ALCS Game 3 #FirstPitch | MLB on FOX FOX Sports FOX Sports • • 83K views Streamed 22 hours ago 9:31 9:31 Now playing 9:31 9:31 9:31 Now playing Mariners' DOMINATE Game 2 of ALCS 🤯 Can Blue Jays BOUNCE BACK? Big Papi, A-Rod & Jeter React! FOX Sports FOX Sports • • 233K views 2 days ago Show more Show less Trending View all 0:48 0:48 Now playing 0:48 0:48 0:48 Now playing 3 Top Players Who Are Not Interested in the Major Leagues #sports #shorts #professionalbaseball #... 野球情報ストリーム 野球情報ストリーム • • 1.9M views 8 days ago 0:50 0:50 Now playing 0:50 0:50 0:50 Now playing 4 teams whose strength will be significantly reduced by players moving to the majors #sports #sho... 野球情報ストリーム 野球情報ストリーム • • 501K views 4 days ago 0:48 0:48 Now playing 0:48 0:48 0:48 Now playing A perfectly executed wheel play. 🤌 #dodgers #sports #losangeles Los Angeles Dodgers Los Angeles Dodgers • • 688K views 9 days ago 0:25 0:25 Now playing 0:25 0:25 0:25 Now playing Hype us up, Yoshinobu! #dodgers #sports #losangeles Los Angeles Dodgers Los Angeles Dodgers • • 431K views 2 weeks ago 0:31 0:31 Now playing 0:31 0:31 0:31 Now playing The Los Angeles Dodgers are heading to the NLCS! #dodgers #sports #losangeles Los Angeles Dodgers Los Angeles Dodgers • • 133K views 6 days ago 5:00 5:00 Now playing 5:00 5:00 5:00 Now playing RED HOT Dodgers have Phillies 'Running into a BUZZSAW' 😳 Big Papi, A-Rod & Derek Jeter weigh in FOX Sports FOX Sports • • 145K views 9 days ago Show more Show less Live View all LIVE LIVE Now playing LIVE LIVE Now playing ⚾🔴EN VIVO: MILWAUKEE BREWERS VS LOS ANGELES DODGERS -⚾ SERIE DE CAMPEONATO 2025 - PLAYOFFS 🏆 NLCS Esquina Caliente Esquina Caliente • • 3.3K watching LIVE LIVE Now playing LIVE LIVE Now playing GRÊMIO x SÃO PAULO com NILSON CESAR AO VIVO | Brasileirão | 28ª RODADA | 29/09/25 CANAL DO NILSON CESAR [Rádio De Pai pra Filho] CANAL DO NILSON CESAR [Rádio De Pai pra Filho] • • 3.4K watching LIVE LIVE Now playing LIVE LIVE Now playing Round 1, MPO | 2025 Disc Golf Pro Tour Championship Disc Golf Pro Tour Disc Golf Pro Tour • • 3.8K watching LIVE LIVE Now playing LIVE LIVE Now playing 🔴MLB SERIES DE CAMPEONATO: BREWERS VS DODGERS EN VIVO esPortals esPortals • • 3.3K watching LIVE LIVE Now playing LIVE LIVE Now playing GRÊMIO X SÃO PAULO - 16/10/2025 - BRASILEIRÃO - AO VIVO Energia 97 FM Energia 97 FM • • 5K watching LIVE LIVE Now playing LIVE LIVE Now playing 【大谷翔平 出場!】【ドジャース戦ライブ】10/17(金曜日) ドジャース VS ブリュワーズ リーグ優勝決定シリーズGAME3 観戦ライブ #大谷翔平 #山本由伸 #ライブ配信 BaseBallファン BaseBallファン • • 4K watching Show more Show less From the Athletes View all 13:10 13:10 Now playing 13:10 13:10 13:10 Now playing Stephen Curry & Bryson DeChambeau Link Up To Break 50 On The Golf Course - Behind The Scenes Stephen Curry Stephen Curry • • 14K views 7 hours ago 0:14 0:14 Now playing 0:14 0:14 0:14 Now playing Can’t get away from this sound… crew here all post season #mlb #mlbonfox #yankees #postseason Alex Rodriguez Alex Rodriguez • • 22K views 3 days ago 14:53 14:53 Now playing 14:53 14:53 14:53 Now playing Julian Edelman's Sports Bucket List Games With Names Games With Names • • 8.1K views 3 days ago 18:25 18:25 Now playing 18:25 18:25 18:25 Now playing Kansas City Chiefs Fans Share Their Favorite Stories Games With Names Games With Names • • 16K views 4 days ago 4:30 4:30 Now playing 4:30 4:30 4:30 Now playing VIRNA EXALTA LUCIANO DO VALLE: "ELE REVOLUCIONOU O VÔLEI" | VIRNA - PODCAST DENILSON SHOW Denílson Show Denílson Show • • 24K views 6 days ago 9:04 9:04 Now playing 9:04 9:04 9:04 Now playing VIRNA CONTA BASTIDORES DO PERÍODO EM QUE JOGOU VÔLEI DE PRAIA | VIRNA - PODCAST DENILSON SHOW Denílson Show Denílson Show • • 4.8K views 6 days ago Show more Show less 10:25 10:25 Now playing 10:25 10:25 10:25 Now playing [Uncut] Yamamoto: "I pitched with confidence" Dodgers win two straight games in championship series 共同通信 KYODO NEWS 共同通信 KYODO NEWS • • 61K views 1 day ago Tap to unmute 2x Search Info Shopping If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / Live • Watch full video • • NaN / NaN 2025-10-17 06:27:19 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 13/19 個網址 2025-10-17 06:27:19 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/@Esther_Anastasia_/community 2025-10-17 06:27:19 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/@Esther_Anastasia_/community, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/@Esther_Anastasia_/community 的第 1/3 次請求 2025-10-17 06:27:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 344.7MB, CPU 0.0% 2025-10-17 06:27:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/17 (實際 URL: https://feibi-coffee.com/product/17) 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:27:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:27: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 0x7de20dc36cd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/16260b0b052ac50616dcdbb9c6e65d41 2025-10-17 06:27: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 0x7de20c6f13d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/16260b0b052ac50616dcdbb9c6e65d41 2025-10-17 06:27: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 0x7de20cd36090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/16260b0b052ac50616dcdbb9c6e65d41 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_58a7766d_ch6xkjj9 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:27:19 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 29213 字節 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 225 字節 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 336 字節 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 420 字節 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 336 字節,約 54 個詞,38 行 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 莫札特 Mozart Blend 濾掛(10入) 0 則評論 NT$420 1 加入購物車 詳細說明 商品規格 相關推薦 這是一款靈感來自古典樂之父的中焙綜合豆,風味如交響樂般層層展開。前段帶有可可與榛果香氣,中段轉為紅酒般的果酸,尾韻溫潤滑順。適合喜歡優雅又不失豐富變化的咖啡愛好者。 規格 10入(10g ±1%/入) 評級 - 品種 Caturra 烘焙程度 中焙 風味 可可 / 藍莓 / 黑糖 處理方式 日曬 海拔 1300m 尚無推薦商品 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:27:20 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409831267920 (1/3) 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/@Esther_Anastasia_/community 2025-10-17 06:27:20 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 12/21 個網址 2025-10-17 06:27:20 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/LoginPage 2025-10-17 06:27:20 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/LoginPage, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/LoginPage 的第 1/3 次請求 2025-10-17 06:27:20 - 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 0x7de209014d10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c765d57ba5b7c6e4dd26289dc38196e5 2025-10-17 06:27:20 - 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 0x7de209017290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c765d57ba5b7c6e4dd26289dc38196e5 2025-10-17 06:27:20 - 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 0x7de209fb9610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c765d57ba5b7c6e4dd26289dc38196e5 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_0d7c75da_48pf_grk 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:27:20 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:27:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:27:21 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:27:21 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409790634320 (1/3) 2025-10-17 06:27:21 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/LoginPage 2025-10-17 06:27:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:27:22 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/LoginPage 2025-10-17 06:27:22 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:27:22 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:27:23 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/@Esther_Anastasia_/community 2025-10-17 06:27:23 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:27:24 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:27:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:27:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.04 秒,結果: 0 2025-10-17 06:27:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:27:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:27:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:27:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:27:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:27:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:27:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:27:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:27:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:27:48 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:27:48 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/@Esther_Anastasia_/community 2025-10-17 06:27:50 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:27:50 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:27:50 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:27:50 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:27:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:27:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:27:54 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 83 2025-10-17 06:27:56 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 83,內容可能已加載完成 2025-10-17 06:27:56 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:27:56 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:27:56 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:28:02 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:28:02 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/LoginPage 2025-10-17 06:28:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:28:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:28:04 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:28:04 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:28:04 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:28:15 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 172 2025-10-17 06:28:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:28:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:28:16 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 31 2025-10-17 06:28:18 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 31,內容可能已加載完成 2025-10-17 06:28:18 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:28:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:28:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:28:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:28:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:28:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:28:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:28:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 13/19 2025-10-17 06:28:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:28:28 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/@Esther_Anastasia_/community (實際 URL: https://www.youtube.com/@Esther_Anastasia_/community) 2025-10-17 06:28:28 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:28:28 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:28:28 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1052385 字節 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 718 字節 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1478 字節 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1478 字節 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1478 字節,約 240 個詞,92 行 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History ‎⁨Esther Ch. 埃斯特⁩’s Community Public This Community is a space for you to explore posts and conversations from the creator and other viewers. Stay tuned as opportunities to participate become available to you. ...more This Community is a space for you to explore posts and conversations from the creator and other viewers. Stay tuned as opportunities to participate become available to you. ...more ...more Previous Top Newest Creator posts Next What's on your mind? 0/ Search Info Shopping Tap to unmute 2x If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / • Watch full video Live • • NaN / NaN 2025-10-17 06:28:29 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 14/19 個網址 2025-10-17 06:28:29 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 2025-10-17 06:28:29 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 的第 1/3 次請求 2025-10-17 06:28:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20cdc6f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/da3a58f91d6cbde4811229c30cbd7743 2025-10-17 06:28:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d209410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/da3a58f91d6cbde4811229c30cbd7743 2025-10-17 06:28:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d260150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/da3a58f91d6cbde4811229c30cbd7743 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_927dbd9a__v6divur 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:28:29 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:28:30 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:28:30 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409820918864 (1/3) 2025-10-17 06:28:30 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 2025-10-17 06:28:32 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 2025-10-17 06:28:32 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:28:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:28:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:28:37 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:28:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:28:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/LoginPage (實際 URL: https://feibi-coffee.com/LoginPage) 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:28:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 12/21 2025-10-17 06:28:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:28:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 23473 字節 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 227 字節 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 143 字節 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 227 字節 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 227 字節,約 39 個詞,30 行 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: PRODUCT 全部商品 單品咖啡 濾掛咖啡 咖啡豆 ABOUT FEIBI 品牌故事 團隊介紹 聯絡我們 EVENT 滿千免運 ARTICLE 何為精品咖啡? 會員登入/註冊 會員登入 啟動今日的咖啡時光 ☕ 忘記密碼了嗎? 還不是會員?立即註冊! © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 訂閱 獲取最新優惠與消息 2025-10-17 06:28:48 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 13/21 個網址 2025-10-17 06:28:48 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/promotions/free-shipping 2025-10-17 06:28:48 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/promotions/free-shipping, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/promotions/free-shipping 的第 1/3 次請求 2025-10-17 06:28: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 0x7de209e0edd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e7345cc464fee74008ac7129bdf16207 2025-10-17 06:28: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 0x7de20a6767d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e7345cc464fee74008ac7129bdf16207 2025-10-17 06:28: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 0x7de20a676650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/e7345cc464fee74008ac7129bdf16207 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_82803e46_s2s8qyy0 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:28:48 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:28:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:28:49 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:28:49 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409790625616 (1/3) 2025-10-17 06:28:49 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/promotions/free-shipping 2025-10-17 06:28:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 343.7MB, CPU 0.0% 2025-10-17 06:28:50 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/promotions/free-shipping 2025-10-17 06:28:51 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:28:51 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:28:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:28:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:28:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:28:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:28:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:29:01 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:29:01 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 2025-10-17 06:29:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:29:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:29:03 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:29:03 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:29:03 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:29:03 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:29:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:29:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:29:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:29:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:29:07 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 928 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 928,內容可能已加載完成 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:29:09 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: 7yuyzj2r7y 2025-10-17 06:29:09 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://chutaiselect.com/,結果將立即顯示 2025-10-17 06:29:09 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 131, Phone: 0919876033, Email: ritatsai5228@gmail.com 2025-10-17 06:29:09 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=131, URL=https://chutaiselect.com/ 2025-10-17 06:29:09 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列 2025-10-17 06:29:09 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #3 開始處理 URL ID: 131 2025-10-17 06:29:09 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://chutaiselect.com/ 2025-10-17 06:29:09 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False) 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/ 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/ 的第 1/3 次請求 2025-10-17 06:29: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 0x7de20dbbf350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a231b824cac30be24aa1bd2380a37632 2025-10-17 06:29: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 0x7de20df70590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a231b824cac30be24aa1bd2380a37632 2025-10-17 06:29: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 0x7de20ddf01d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/a231b824cac30be24aa1bd2380a37632 2025-10-17 06:29:09 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_7cde5000_a0ns249z 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:29:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:29:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:29:10 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409838880016 (1/3) 2025-10-17 06:29:10 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/ 2025-10-17 06:29:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 0/1 2025-10-17 06:29:15 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/ 2025-10-17 06:29:15 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:29:15 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:29:16 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:29:16 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/ 2025-10-17 06:29:18 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:29:18 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:29:18 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:29:18 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:29:18 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:29:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:29:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0 2025-10-17 06:29:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:29:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 0/1 2025-10-17 06:29:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:29:22 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:29:24 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:29:24 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:29:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:29:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:29:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:29:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:29:31 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:29:31 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/promotions/free-shipping 2025-10-17 06:29:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:29:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:29:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 0/1 2025-10-17 06:29:33 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:29:33 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:29:33 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:29:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:29:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0 2025-10-17 06:29:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:29:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 0/1 2025-10-17 06:29:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 14/19 2025-10-17 06:29:43 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 343 2025-10-17 06:29:43 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig (實際 URL: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig) 2025-10-17 06:29:43 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:29:43 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:29:43 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:29:44 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:29:44 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:29:44 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:29:44 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 3745784 字節 2025-10-17 06:29:44 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 39 2025-10-17 06:29:45 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 335 字節 2025-10-17 06:29:46 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 13550 字節 2025-10-17 06:29:46 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 39,內容可能已加載完成 2025-10-17 06:29:46 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:29:47 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 13550 字節 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 13550 字節,約 2018 個詞,1058 行 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Live Tap to unmute 2x Search Watch later Share Copy link Info Shopping If playback doesn't begin shortly, try restarting your device. • Sign in to confirm you’re not a bot Share Include playlist An error occurred while retrieving sharing information. Please try again later. 【ライブカメラ】羽田空港 "T2" HANEDA,Tokyo International Airport(日テレNEWS LIVE) 日テレNEWS LIVE 148 watching Watch Live Live Now View all LIVE LIVE Now playing LIVE LIVE Now playing POV Girls Stomping Fermentation Bricks — Traditional Chinese Winemaking in Action StreetFood Cam StreetFood Cam • • 2.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【お金持ちでも貧乏谷へ】被害急増中!資産を減らす可能性が高い、詐欺、ぼったくりランキング2025。守る力を軽視してはいけないよん【10月17日8時30分まで】 両学長 リベラルアーツ大学 両学長 リベラルアーツ大学 Verified • • 17K watching LIVE LIVE Now playing LIVE LIVE Now playing 【大谷翔平 出場!】【ドジャース戦ライブ】10/17(金曜日) ドジャース VS ブリュワーズ リーグ優勝決定シリーズGAME3 観戦ライブ #大谷翔平 #山本由伸 #ライブ配信 BaseBallファン BaseBallファン • • 4.2K watching LIVE LIVE Now playing LIVE LIVE Now playing 【朝ニュースライブ】最新ニュースと生活情報(10月17日) ──THE LATEST NEWS SUMMARY(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 9.5K watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】朝のニュース(Japan News Digest Live)最新情報など|TBS NEWS DIG(10月17日) TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 4.9K watching LIVE LIVE Now playing LIVE LIVE Now playing いざカロスへ。全力で楽しむ"ポケモンZ-A" クリアまで激闘生中継【ポケモンZA】実況プレイ #3 もこうの実況 もこうの実況 Verified • • 4.4K watching LIVE LIVE Now playing LIVE LIVE Now playing 🍕#InfinitePizza 🍅Live Gameplay🐍#shorts #ysshorts #shortfeed 【にゃんバロ~😼👍】#縦型配信 #雑談【#無限ピザ 】 ꧁༒☬Unknown☬༒꧂ ꧁༒☬Unknown☬༒꧂ • • 125 watching LIVE LIVE Now playing LIVE LIVE Now playing 【 朝活/FreeTalk 】ん~~~ッッッおはよ?【#綺々羅々ヴィヴィ #hololiveDEV_IS #FLOWGLOW】 Vivi Ch. 綺々羅々ヴィヴィ - FLOW GLOW Vivi Ch. 綺々羅々ヴィヴィ - FLOW GLOW • • 5.8K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】10/17 朝ニュースまとめ 最新情報を厳選してお届け ANNnewsCH ANNnewsCH Verified • • 4.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【歌舞伎町町声掛け配信】終電逃した子に声掛け!in歌舞伎町 #kabukicho リアル動画配信 なめだるまジャン Real LIVE VIDEO リアル動画配信 なめだるまジャン Real LIVE VIDEO • • 1.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【 #KZHCUPinLoL 】練習DAY2¦パニクらずに頑張る🔥毎日やんねん〖にじさんじ/椎名唯華〗 椎名唯華 / Shiina Yuika 椎名唯華 / Shiina Yuika Verified • • 4.7K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】最新天気ニュース・地震情報 2025年10月17日(金)/天気回復して束の間の秋晴れ 週末は再び雨のため日差しの有効活用を〈ウェザーニュースLiVEモーニング・松本真央/山口剛央〉 ウェザーニュース ウェザーニュース Verified • • 6.3K watching Show more Show less Recent Live Streams View all 1:01:50 1:01:50 Now playing 1:01:50 1:01:50 1:01:50 Now playing 【#生スバル】スバルの小屋 ゲスト:いろは!/IROHA Suba Free Talk【ホロライブ/大空スバル】 Subaru Ch. 大空スバル Subaru Ch. 大空スバル Verified • • 242K views Streamed 9 hours ago 6:00:52 6:00:52 Now playing 6:00:52 6:00:52 6:00:52 Now playing 【 CS Finalステージ LIVE 】 10/16 阪神タイガース 対 横浜DeNAベイスターズ CSFinalステージをみんなで一緒に観戦ライブ #全試合無料ライブ配信 #阪神 #実況 #ライブ ちろる ちろる Verified • • 457K views Streamed 8 hours ago 3:53:42 3:53:42 Now playing 3:53:42 3:53:42 3:53:42 Now playing 【緊急生放送】いい加減にしろ…迷惑行為を繰り返すツイキャス配信者"藤沢なな"の悪質行為を全公開…アイドルグループのメンバーが運営の家に?他メンバーが告発…フォーエイト48の事務所から被害をうけた?女性 コレコレチャンネル KoreTube コレコレチャンネル KoreTube Verified • • 1.3M views Streamed 3 days ago 41:31 41:31 Now playing 41:31 41:31 41:31 Now playing 百田尚樹チャンネル生放送 百田尚樹チャンネル 百田尚樹チャンネル • • 178K views Streamed 9 hours ago 59:41 59:41 Now playing 59:41 59:41 59:41 Now playing 『ONE PIECE バウンティラッシュ』エッグヘッド編クライマックス!特別生放送 Bandai Namco Entertainment Bandai Namco Entertainment Verified • • 494K views Streamed 1 day ago 2:19:24 2:19:24 Now playing 2:19:24 2:19:24 2:19:24 Now playing anan AWARD 2025【10/15(水)生配信アーカイブ】 anan anan • • 664K views Streamed 1 day ago 2:01:21 2:01:21 Now playing 2:01:21 2:01:21 2:01:21 Now playing 【生配信】落選維新が大集合!連立どうなる?忖度なし大暴露【ReHacQ】 ReHacQ−リハック−【公式】 ReHacQ−リハック−【公式】 • • 295K views Streamed 7 hours ago 29:36 29:36 Now playing 29:36 29:36 29:36 Now playing 今夜 10/15(水)22時 から「たまき生配信」緊急ライブチャットを開催! たまきチャンネル たまきチャンネル • • 432K views Streamed 1 day ago 4:09:04 4:09:04 Now playing 4:09:04 4:09:04 4:09:04 Now playing 【#ホロライブ甲子園2025】桜咲高校3年目春‼⚾夏大会へ向けて!!!!!!【ホロライブ/さくらみこ】 Miko Ch. さくらみこ Miko Ch. さくらみこ Official Artist Channel • • 295K views Streamed 6 hours ago 6:06:00 6:06:00 Now playing 6:06:00 6:06:00 6:06:00 Now playing Table-1 | Day-5 | ITTF-ATTU 28th Asian Table Tennis Championship Bhubaneshwar 2025 ATTU ATTU • • 493K views Streamed 1 day ago 1:48:41 1:48:41 Now playing 1:48:41 1:48:41 1:48:41 Now playing ありがとう万博!感謝の振り返り生配信、やで。 吉村洋文チャンネル 吉村洋文チャンネル • • 226K views Streamed 2 days ago 45:30 45:30 Now playing 45:30 45:30 45:30 Now playing 【緊急配信】会社名も公開!バッパ翔太氏のスポンサーは中国共産主義青年団の関係企業!! (前半)#BappaShota #中国 古是三春_篠原常一郎 古是三春_篠原常一郎 • • 90K views Streamed 8 hours ago Show more Show less Upcoming Live Streams View all Upcoming Upcoming Now playing Upcoming Upcoming Now playing Exégesis de 2 Coríntios 5 Márcio André Márcio André • • 3 waiting Scheduled for 10/17/25, 6:20 AM Upcoming Upcoming Now playing Upcoming Upcoming Now playing Play Steal A Brainrot with Max Circus Maximus Circus Maximus Verified • • 4 waiting Scheduled for 10/17/25, 6:20 AM Upcoming Upcoming Now playing Upcoming Upcoming Now playing Astrologer raju maharaj is live Astrologer raju maharaj Astrologer raju maharaj • • Scheduled for 10/17/25, 6:20 AM LIVE LIVE Now playing LIVE LIVE Now playing ias में पूछे गए सवाल L M Motivation is live! L M Motivation L M Motivation • • 16 watching Upcoming Upcoming Now playing Upcoming Upcoming Now playing UNO SOLO ESTÁ NOCHE 🤫 ???🤫 POCHO NUMEROLOGÍA2 POCHO NUMEROLOGÍA2 • • Scheduled for 10/17/25, 6:21 AM LIVE LIVE Now playing LIVE LIVE Now playing REIGN CHANNEL is live! REIGN CHANNEL REIGN CHANNEL • • LIVE LIVE Now playing LIVE LIVE Now playing 17th Oct प्रातः 0358 लाइव ब्रह्म मुहूर्त ध्यान, Brahma Muhurta Dhyana(नीचे अवश्य पढ़ो) Meditation Gita Online Gita Online Verified • • 45 watching Upcoming Upcoming Now playing Upcoming Upcoming Now playing Live mais cedo/ Você é meu convidado Alaíde Oliveira - "A Resenhista do Rio de Janeiro" Alaíde Oliveira - "A Resenhista do Rio de Janeiro" • • 3 waiting Scheduled for 10/17/25, 6:30 AM Upcoming Upcoming Now playing Upcoming Upcoming Now playing Arati 10/16/2025 VedantaSTL VedantaSTL • • 4 waiting Scheduled for 10/17/25, 6:30 AM Upcoming Upcoming Now playing Upcoming Upcoming Now playing Hiiiiiii I love you 😍😍😍😍#rebornbaby #rebornmommy #crochet 🦋ButterflyWings Crochet🦋 🦋ButterflyWings Crochet🦋 • • Scheduled for 10/17/25, 6:30 AM Upcoming Upcoming Now playing Upcoming Upcoming Now playing Porque seus pacientes não melhoram? (e que o tratamento integrado revela que ninguém te contou Instituto Fabio Soler Instituto Fabio Soler • • 1 waiting Scheduled for 10/17/25, 6:30 AM Show more Show less Live Now - News View all LIVE LIVE Now playing LIVE LIVE Now playing 【朝ニュースライブ】最新ニュースと生活情報(10月17日) ──THE LATEST NEWS SUMMARY(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 9.5K watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】朝のニュース(Japan News Digest Live)最新情報など|TBS NEWS DIG(10月17日) TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 4.9K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】10/17 朝ニュースまとめ 最新情報を厳選してお届け ANNnewsCH ANNnewsCH Verified • • 4.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】最新天気ニュース・地震情報 2025年10月17日(金)/天気回復して束の間の秋晴れ 週末は再び雨のため日差しの有効活用を〈ウェザーニュースLiVEモーニング・松本真央/山口剛央〉 ウェザーニュース ウェザーニュース Verified • • 6.3K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】朝のニュース 10月17日〈FNNプライムオンライン〉 FNNプライムオンライン FNNプライムオンライン Verified • • 723 watching LIVE LIVE Now playing LIVE LIVE Now playing 【政治ニュース】自民×維新 連立の可能性“どんな政権に?”── 政治ニュースまとめ (日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 359 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ】テレ朝NEWS24 日本の最新ニュースを24時間ライブ配信 Japan News 24H LIVE ANNnewsCH ANNnewsCH Verified • • 1.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【LIVE】万博会場ライブカメラ EXPO2025 Osaka, Kansai, Japan〈カンテレNEWS〉 カンテレNEWS カンテレNEWS Verified • • 158 watching LIVE LIVE Now playing LIVE LIVE Now playing 【24H NEWS LIVE】 最新ニュース ライブ配信中 ──24H LATEST NEWS LIVE NOW from JAPAN, Tokyo, NIPPON TV(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 498 watching LIVE LIVE Now playing LIVE LIVE Now playing 【アメリカ】「報道規制」に反発で“引っ越し” ほぼ全メディア署名拒否 / イスラム組織ハマス「回収可能な全ての遺体を引き渡した」と発表 イスラエル側は反発──ニュースライブ(日テレNEWS LIVE) 日テレNEWS 日テレNEWS Verified • • 107 watching LIVE LIVE Now playing LIVE LIVE Now playing 【24h LIVE】最新ニュースをライブ配信中! | TBS NEWS DIG TBS NEWS DIG Powered by JNN TBS NEWS DIG Powered by JNN Verified • • 674 watching LIVE LIVE Now playing LIVE LIVE Now playing 【万博ライブカメラ】閉幕後 東ゲートの様子は?【LIVE CAM】EXPO2025, OSAKA, KANSAI, JAPAN 読売テレビニュース 読売テレビニュース Verified • • 194 watching Show more Show less Live Now - Gaming View all LIVE LIVE Now playing LIVE LIVE Now playing いざカロスへ。全力で楽しむ"ポケモンZ-A" クリアまで激闘生中継【ポケモンZA】実況プレイ #3 もこうの実況 もこうの実況 Verified • • 4.4K watching LIVE LIVE Now playing LIVE LIVE Now playing 🍕#InfinitePizza 🍅Live Gameplay🐍#shorts #ysshorts #shortfeed 【にゃんバロ~😼👍】#縦型配信 #雑談【#無限ピザ 】 ꧁༒☬Unknown☬༒꧂ ꧁༒☬Unknown☬༒꧂ • • 125 watching LIVE LIVE Now playing LIVE LIVE Now playing CHRISTMAS SPECIAL GRANNY CHEPTER 1 LIVE Techny Vvv Techny Vvv • • 6.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【 #KZHCUPinLoL 】練習DAY2¦パニクらずに頑張る🔥毎日やんねん〖にじさんじ/椎名唯華〗 椎名唯華 / Shiina Yuika 椎名唯華 / Shiina Yuika Verified • • 4.7K watching LIVE LIVE Now playing LIVE LIVE Now playing 【ポケモンza】最新作!色違いポケモンと出会うのが夢です#2【ぶいすぽ / 猫汰つな】 猫汰つな / Nekota Tsuna 猫汰つな / Nekota Tsuna Verified • • 3.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【朝活テトリス99】早起き大成功 エレオノール ch エレオノール ch • • 119 watching LIVE LIVE Now playing LIVE LIVE Now playing 【マッチョショット Macho Shot】初見コメントが筋肉を救う💪縦型限界チャレンジ🔥 ねこかみ ねこかみ • • 236 watching LIVE LIVE Now playing LIVE LIVE Now playing 🔴マッチョショット Macho Shot 10万点いけるかなPart45 #shortfeed #shorts ホルス・カワシマ / Horus Kawashima ホルス・カワシマ / Horus Kawashima • • 227 watching LIVE LIVE Now playing LIVE LIVE Now playing 【 #KZHCUPinLoL 】今日も今日とてTeam1mid視点【 伊波ライ / にじさんじ 】 伊波ライ / Inami Rai【にじさんじ】 伊波ライ / Inami Rai【にじさんじ】 • • 2.5K watching LIVE LIVE Now playing LIVE LIVE Now playing 【 #KZHCUPinLoL 】らいじん士官学校生活 in KZHCUP 【にじさんじ/鷹宮リオン ローレンイロアス エクスアルビオ 伊波ライ 椎名唯華 らいじん】 鷹宮リオン / Rion Takamiya 鷹宮リオン / Rion Takamiya Verified • • 1.7K watching 10:47:17 10:47:17 Now playing 10:47:17 10:47:17 10:47:17 Now playing 【マルチプレイ】おついちの「Battlefield™ 6 」【2BRO.】 おついちTube おついちTube Verified • • 52K views Streamed 2 minutes ago LIVE LIVE Now playing LIVE LIVE Now playing 【 Pokémon LEGENDS Z-A 】3枠目!シリーズ最新作!!王覇山、3年ぶりのレジェンズ旅。( ミアレシティにぜってーおいで )【 にじさんじ┊︎葉山舞鈴 】 葉山舞鈴 / Ohayama Ch. 葉山舞鈴 / Ohayama Ch. Verified • • 2.8K watching Show more Show less Live Now - Sport View all LIVE LIVE Now playing LIVE LIVE Now playing 【大谷翔平 出場!】【ドジャース戦ライブ】10/17(金曜日) ドジャース VS ブリュワーズ リーグ優勝決定シリーズGAME3 観戦ライブ #大谷翔平 #山本由伸 #ライブ配信 BaseBallファン BaseBallファン • • 4.2K watching LIVE LIVE Now playing LIVE LIVE Now playing 【大谷出場!リアルラジオ風実況】ドジャースVSブルワーズリーグV決定シリーズ第3戦をラジオ風に実況ライブ応援! #大谷翔平 #dodgers #ドジャース #MLBLIVE #MLBライブ #野球 チャーくんの本気でスポーツ実況ch チャーくんの本気でスポーツ実況ch • • 1.4K watching LIVE LIVE Now playing LIVE LIVE Now playing 🔴MLB SERIES DE CAMPEONATO: BREWERS VS DODGERS EN VIVO esPortals esPortals • • 3.3K watching LIVE LIVE Now playing LIVE LIVE Now playing さわかみ S.LEAGUE 25-26 S.TWO ショートボード第3戦 第29回 茨城サーフィンクラシック プロアマオープン DAY2 S.LEAGUE OFFICIAL S.LEAGUE OFFICIAL • • 323 watching LIVE LIVE Now playing LIVE LIVE Now playing 【ライブ配信】MotoGP™︎第19戦オーストラリアGP フリープラクティス1(全クラス)|2025シーズン 日テレスポーツ【公式】 日テレスポーツ【公式】 Verified • • 542 watching LIVE LIVE Now playing LIVE LIVE Now playing ⚾🔴EN VIVO: MILWAUKEE BREWERS VS LOS ANGELES DODGERS -⚾ SERIE DE CAMPEONATO 2025 - PLAYOFFS 🏆 NLCS Esquina Caliente Esquina Caliente • • 3.6K watching LIVE LIVE Now playing LIVE LIVE Now playing 🔴 Serie de Campeonatos LN 🔴 Milwaukee Brewers vs Los Ángeles Dodgers ll Postseason 2025 VirGame Show VirGame Show • • 250 watching LIVE LIVE Now playing LIVE LIVE Now playing Milwaukee BREWERS vs Los Angeles DODGERS, en Vivo. (16-Oct-25) SAPEMACO SAPEMACO • • 2.1K watching LIVE LIVE Now playing LIVE LIVE Now playing 【Day7 B podium】第59回全日本サーフィン選手権大会(2025) NSAsurf NSAsurf • • 133 watching LIVE LIVE Now playing LIVE LIVE Now playing Dodgers VS Brewers Live | MLB National League Championship Series Game 2025 RickWanders RickWanders • • 667 watching LIVE LIVE Now playing LIVE LIVE Now playing Los Angeles Dodgers vs Milwaukee Brewers ⚾ MLB NLCS Game 3 🟢 MLB Play By Play LIVE STREAM in 3D. Valhalla Sports Talk Valhalla Sports Talk • • 1.9K watching LIVE LIVE Now playing LIVE LIVE Now playing SERIE DE CAMPEONATO / DODGERS DE LOS ANGELES vs CERVECEROS MILWAKEE / POST TEMPOTADA MLB 2025 BeisbolySoftbol.com BeisbolySoftbol.com Verified • • 44 watching Show more Show less Tap to unmute 2x Search Copy link Info Shopping If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. 0:00 0:00 / 0:00 Live • Watch full video • • NaN / NaN 2025-10-17 06:29:48 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 15/19 個網址 2025-10-17 06:29:48 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/ads/ 2025-10-17 06:29:48 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/ads/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/ads/ 的第 1/3 次請求 2025-10-17 06:29: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 0x7de20dd74b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/45ffcdbf7f3bf94c463e0528fc218d86 2025-10-17 06:29: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 0x7de20dd76a10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/45ffcdbf7f3bf94c463e0528fc218d86 2025-10-17 06:29: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 0x7de20dd76210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/45ffcdbf7f3bf94c463e0528fc218d86 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_b1e8d4cf_hpqcoo4r 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:29:48 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:29:49 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:29:49 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848295824 (1/3) 2025-10-17 06:29:49 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/ads/ 2025-10-17 06:29:51 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/ads/ 2025-10-17 06:29:51 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:29:51 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:29:51 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:29:51 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/ads/ 2025-10-17 06:29:53 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:29:53 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:29:53 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:29:53 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/ (實際 URL: https://chutaiselect.com/) 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:29:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 0/1 2025-10-17 06:29:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 15/19 2025-10-17 06:29:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:29:54 - INFO - database - [database.py:505] - update_url_status - URL ID 131 状态已更新为 processing 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 206031 字節 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 534 字節 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 156 字節 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 156 字節,約 24 個詞,20 行 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu H O M E . . C.T.Select 打造「 優雅恆久 」的生活態度。 透過時間的流動,展現內在的從容,用慵懶自在;陪妳走過每一段日常。 . . 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:29:54 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://chutaiselect.com/, HTML 內容大小=206031 字節 2025-10-17 06:29:54 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://chutaiselect.com/, 發現問題數=5, 嚴重問題數=2, 耗時=0.036秒 2025-10-17 06:29:54 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_inline_script(2), suspicious_external_script(2), form(1) 2025-10-17 06:29:54 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(3), warning(2) 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2813] - find_internal_links - 從HTML靜態內容中提取了 24 個內部鏈接 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://chutaiselect.com/about-us/ (匹配: /about) 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2962] - find_internal_links - 鏈接分類完成 - 聯絡資訊頁面: 1 個(不限數量),普通頁面: 23 個(限制 20 個) 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2993] - find_internal_links - 普通頁面數量 (23) 超過限制 (20),保留前 20 個 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:3002] - find_internal_links - 最終返回 21 個鏈接 - 聯絡資訊頁面: 1 個,普通頁面: 20 個 2025-10-17 06:29:54 - INFO - WebScraper - [scraper.py:2665] - _is_contact_info_page - ✓ 聯絡資訊頁面(優先審核): https://chutaiselect.com/about-us/ (匹配: /about) 2025-10-17 06:29:54 - INFO - main - [url_processor.py:160] - process_url - 找到 21 個內部鏈接 - 聯絡資訊頁面: 1 個(優先審核),普通頁面: 20 個(限制20個) 2025-10-17 06:29:55 - INFO - main - [url_processor.py:194] - process_url - 更新 UI 審核進度(URL ID=131):總計 22 個網址,已完成 1 個(主頁面),待審核: 1 個聯絡頁面 + 20 個普通頁面 2025-10-17 06:29:55 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/about-us/ 2025-10-17 06:29:55 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/about-us/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/about-us/ 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/about-us/ 的第 1/3 次請求 2025-10-17 06:29:55 - 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 0x7de20ddf0b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/debc61baa613c5756451d3f8851c579c 2025-10-17 06:29:55 - 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 0x7de20cdb4a50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/debc61baa613c5756451d3f8851c579c 2025-10-17 06:29:55 - 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 0x7de20cdb5890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/debc61baa613c5756451d3f8851c579c 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_b6cf3c9d_yfkzs6ov 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:29:55 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409876621136 (1/3) 2025-10-17 06:29:55 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/about-us/ 2025-10-17 06:29:56 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/about-us/ 2025-10-17 06:29:56 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:29:56 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:29:56 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:29:56 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/about-us/ 2025-10-17 06:29:57 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 219 2025-10-17 06:29:58 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:29:58 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:29:58 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:29:58 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:29:58 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:29:59 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 219,內容可能已加載完成 2025-10-17 06:29:59 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:30:02 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 82 2025-10-17 06:30:04 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 82,內容可能已加載完成 2025-10-17 06:30:04 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:30:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:30:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 15/19 2025-10-17 06:30:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 1/22 2025-10-17 06:30:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:30:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:30:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:30:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:30:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:30:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:30:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:30:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:30:15 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loader')],等待其消失 2025-10-17 06:30:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 15/19 2025-10-17 06:30:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 1/22 2025-10-17 06:30:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 13/21 2025-10-17 06:30:16 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/promotions/free-shipping (實際 URL: https://feibi-coffee.com/promotions/free-shipping) 2025-10-17 06:30:16 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:30:16 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:30:16 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 23594 字節 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 101 字節 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 315 字節 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 399 字節 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 108 字節 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 435 字節,約 47 個詞,31 行 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 滿千免運優惠開跑 活動期間內,單筆訂單未稅金額滿 NT$1,000 , 即可享受免運優惠。 免輸入折扣碼 結帳自動套用 台灣本島限定 活動規則 單筆訂單金額(不含運費)滿 NT$1,000 自動套用免運優惠。 系統於結帳時自動判斷是否符合條件,無需輸入折扣碼。 本活動僅限台灣本島地區適用。 若取消部分商品導致金額未達門檻,免運優惠將自動取消。 活動不與其他免運活動重複,並僅適用指定配送方式(如 7-11/宅配)。 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 額外的結構化內容: • 單筆訂單金額(不含運費)滿 NT$1,000 自動套用免運優惠。 • 系統於結帳時自動判斷是否符合條件,無需輸入折扣碼。 • 本活動僅限台灣本島地區適用。 • 若取消部分商品導致金額未達門檻,免運優惠將自動取消。 2025-10-17 06:30:17 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 14/21 個網址 2025-10-17 06:30:17 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/SpecialtyCoffeePage 2025-10-17 06:30:17 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/SpecialtyCoffeePage, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/SpecialtyCoffeePage 的第 1/3 次請求 2025-10-17 06:30:17 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20a30f310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/528127874314296ea29041a1a896fa36 2025-10-17 06:30:17 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de2088a3e10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/528127874314296ea29041a1a896fa36 2025-10-17 06:30:17 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20a6621d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/528127874314296ea29041a1a896fa36 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_2207a0e4_hje34qu7 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:30:17 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:30:18 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:30:18 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409787062608 (1/3) 2025-10-17 06:30:18 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/SpecialtyCoffeePage 2025-10-17 06:30:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:30:19 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/SpecialtyCoffeePage 2025-10-17 06:30:19 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:30:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.1MB, CPU 0.0% 2025-10-17 06:30:19 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:30:19 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:30:19 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/SpecialtyCoffeePage 2025-10-17 06:30:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 376.5MB, CPU 0.0% 2025-10-17 06:30:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:30:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:30:21 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:30:21 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:30:21 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:30:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:30:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:30:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:30:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:30:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:30:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 15/19 2025-10-17 06:30:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 14/21 2025-10-17 06:30:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 1/22 2025-10-17 06:30:31 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 1102 2025-10-17 06:30:32 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 60 2025-10-17 06:30:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:30:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 60,內容可能已加載完成 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/about-us/ (實際 URL: https://chutaiselect.com/about-us/) 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 204307 字節 2025-10-17 06:30:34 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 527 字節 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 149 字節 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 527 字節,約 92 個詞,76 行 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select H O M E 選單切換按鈕 B l o g C.T.Select 選單切換按鈕 Apparel 選單切換按鈕 Dress Jacket Skirt Coat Pants Accessories 選單切換按鈕 Bag face Shoes Hat belt Men Other CART 選單切換按鈕 我的帳號 結帳 NOTICE 選單切換按鈕 訂購須知 退換貨須知 搜尋關鍵字: 搜尋 搜尋 C.T.Select Main Menu H O M E 選單切換按鈕 B l o g C.T.Select 選單切換按鈕 Apparel 選單切換按鈕 Dress Jacket Skirt Coat Pants Accessories 選單切換按鈕 Bag face Shoes Hat belt Men Other CART 選單切換按鈕 我的帳號 結帳 NOTICE 選單切換按鈕 訂購須知 退換貨須知 訂購前請先詳閱 . 請詳閱 購買須知 及 退換貨流程 若有任何需要協助或有疑問 請聯絡我們: ritatsai5228@gmail.com 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:30:35 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 2/22 個網址 2025-10-17 06:30:35 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/ 2025-10-17 06:30:35 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/ 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/ 的第 1/3 次請求 2025-10-17 06:30:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c9f13d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8fe78656dd3fc2773747f57ee2faea59 2025-10-17 06:30:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20cc14f10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8fe78656dd3fc2773747f57ee2faea59 2025-10-17 06:30:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20cc16910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8fe78656dd3fc2773747f57ee2faea59 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_95f95f9e_2m_o9qjg 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:30:35 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409830082576 (1/3) 2025-10-17 06:30:35 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/ 2025-10-17 06:30:36 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/ 2025-10-17 06:30:36 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:30:36 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:30:36 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:30:36 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/ 2025-10-17 06:30:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 14/21 2025-10-17 06:30:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 2/22 2025-10-17 06:30:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 15/19 2025-10-17 06:30:38 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:30:38 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:30:38 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:30:38 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:30:38 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:30:42 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 85 2025-10-17 06:30:44 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 85,內容可能已加載完成 2025-10-17 06:30:44 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/ads/ (實際 URL: https://www.youtube.com/ads/) 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 83078 字節 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1498 字節 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 2855 字節 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1746 字節 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 2855 字節,約 196 個詞,87 行 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: youtube.com/ads では、サービスの提供および品質向上とトラフィックの分析に Cookie が使用されています。同意すると、広告の配信や、表示されるコンテンツと広告のパーソナライズにも Cookie が使用されます。 詳細 。 同意する 同意しない コンテンツに移動 LINE で相談* 平日(土日祝日除く)9時~18時、こちらよりLINE公式アカウントを追加 0120 680 034 今すぐ開始 LINE で相談* 平日(土日祝日除く)9時~18時、こちらよりLINE公式アカウントを追加 0120 680 034 今すぐ開始 LINE で相談* 平日(土日祝日除く)9時~18時、こちらよりLINE公式アカウントを追加 0120 680 034 今すぐ開始 YouTube 広告で ビジネスの成長を促進 潜在顧客に適切なタイミングでリーチ。チャンネルの注目度を高め、ビジネスに成果を 広告掲載を開始 仕組みを学ぶ YouTube 広告で新しい顧客を見つけましょう 身近なグルメたちはもちろん、全国各地でファッションのトレンドを追う人々。オンラインで検索、閲覧、視聴しているこうしたユーザーに、より多くの場所でリーチできるようにしましょう。YouTube なら、お客様のビジネスにとって特に重要なユーザーに広告を表示できます。 百聞は一見にしかずという言葉がありますが、1 本の動画にはそれ以上の価値があります。 Majestic Heli Ski、オーナー、 Njord Rota 氏 機会を逃さずメッセージを届ける 予算に合わせた方法で、視聴者たちの購買行動を促しましょう。YouTube 広告は適切なタイミングで適切なユーザー層にメッセージを届けることができます。 適切な機会を捉え、関連性の高いユーザー層へ的確にアプローチできました。 Spark Foundry、 Kim Thompson 氏 期待する成果を得る YouTube 広告を利用すれば、ユーザーに商品やサービスを選んでもらいやすくなります。購入の機会や、チャンネル登録者数、サイトへのアクセス数などを増やしましょう。 YouTube で広告掲載を開始してから、年間の売上がほぼ倍になりました。 Tulane's Closet、オーナー兼デベロッパー、 Stephanie Syberg 氏 YouTube 広告で新しい顧客を見つけましょう 身近なグルメたちはもちろん、全国各地でファッションのトレンドを追う人々。オンラインで検索、閲覧、視聴しているこうしたユーザーに、より多くの場所でリーチできるようにしましょう。YouTube なら、お客様のビジネスにとって特に重要なユーザーに広告を表示できます。 百聞は一見にしかずという言葉がありますが、1 本の動画にはそれ以上の価値があります。 Majestic Heli Ski、オーナー、 Njord Rota 氏 機会を逃さずメッセージを届ける 予算に合わせた方法で、視聴者たちの購買行動を促しましょう。YouTube 広告は適切なタイミングで適切なユーザー層にメッセージを届けることができます。 適切な機会を捉え、関連性の高いユーザー層へ的確にアプローチできました。 Spark Foundry、 Kim Thompson 氏 期待する成果を得る YouTube 広告を利用すれば、ユーザーに商品やサービスを選んでもらいやすくなります。購入の機会や、チャンネル登録者数、サイトへのアクセス数などを増やしましょう。 YouTube で広告掲載を開始してから、年間の売上がほぼ倍になりました。 Tulane's Closet、オーナー兼デベロッパー、 Stephanie Syberg 氏 2 X 視聴者は、YouTube で目にしたものを購入する可能性は通常の倍になると回答しています 1 。 70 % 視聴者の 70% 以上が、YouTube で新しいブランドを認知していると回答しています 2 。 4 X 視聴者は、ブランドや商品、サービスに関する情報を探すために、他のプラットフォームに比べ、YouTube を 4 倍高い頻度で利用すると回答しています 3 。 優れた広告を制作するために知っておくべきこと 効果的な YouTube の広告は初心者の方でも簡単に作成できます。お手持ちのスマートフォンで動画を撮影したり、無料のツールやリソースを活用したり、動画制作をサポートしてくれる制作会社などのパートナーを探すことができます。 詳細 YouTube 広告の利用を開始する 今すぐ開始 1 競合他社の平均との比較。出典: Google/Talkshoppe、米国、whyVideo study、n=2,000、18~64 歳の一般動画ユーザー、2020 年 2 月 2、3 出典: Google/Talkshoppe、米国、whyVideo study、n=2,000、18~64 歳の一般動画ユーザー、2020 年 2 月 この特典の利用規約: 以下の規約において、「Google 広告」とは Google 広告または Google 広告のスマート アシスト キャンペーンのいずれか該当するサービスを意味するものとします。 請求先住所がアメリカ国内のお客様のみが対象となる特典です。プロモーション コードはお 1 人につき 1 回のみご利用いただけます。 この特典を有効にするには: 2020 年 12 月 31 日までに、アカウントにプロモーション コードを入力してください。特典プログラムに参加するには、初めて作成した Google 広告アカウントで広告の最初のインプレッションが発生してから 14 日以内にコードをご入力ください。 クレジットを獲得するには: コードの入力後 30 日以内に、キャンペーンの広告掲載費用が税抜き 50 ドルに達する必要があります。50 ドル分の費用をお支払いいただいただけでは、要件を満たしたことになりません。50 ドル分の費用に算入されるのは、コード入力後に発生した広告費用のみです。 上記 2 と 3 を完了すると、通常であれば 5 日以内に、アカウントの [料金概略] にクレジットが反映されます。 クレジットを適用できるのはコードの入力後に発生した広告費用のみであり、コード入力前に発生した費用は対象になりません。 クレジットを使い切っても、特に通知は届きません。その後に発生した広告費用は、ご指定のお支払い方法で請求させていただきます。広告の継続を希望しない場合は、キャンペーンをいつでも一時停止または削除できます。 プロモーション クレジットの適用を受けるには、Google 広告からアカウントへの請求が適切に処理され、アカウントが良好な状態に保たれている必要があります。 利用規約の全文はこちらでご覧いただけます 2025-10-17 06:30:45 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 16/19 個網址 2025-10-17 06:30:45 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/premium 2025-10-17 06:30:45 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/premium, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/premium 的第 1/3 次請求 2025-10-17 06:30:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20ddca590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/62953256fbf14fa8ea6565d744f4acd4 2025-10-17 06:30:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20ddcafd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/62953256fbf14fa8ea6565d744f4acd4 2025-10-17 06:30:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20ddcaed0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/62953256fbf14fa8ea6565d744f4acd4 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_622a2fc5_o_1jjfos 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:30:45 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:30:46 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:30:46 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409848651216 (1/3) 2025-10-17 06:30:46 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/premium 2025-10-17 06:30:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 14/21 2025-10-17 06:30:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 2/22 2025-10-17 06:30:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:30:50 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/premium 2025-10-17 06:30:50 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:30:52 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:31:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:31:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 14/21 2025-10-17 06:31:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 2/22 2025-10-17 06:31:04 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/SpecialtyCoffeePage (實際 URL: https://feibi-coffee.com/SpecialtyCoffeePage) 2025-10-17 06:31:04 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:31:04 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:31:04 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:31:04 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 24142 字節 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 916 字節 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1073 字節 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 966 字節 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 117 字節 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1202 字節,約 105 個詞,56 行 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 什麼是精品咖啡? 精品咖啡(Specialty Coffee)是一種從種植到沖煮的每一階段都經過嚴格控管的高品質咖啡。根據國際咖啡品質協會(CQI)的定義,必須經由專業杯測人員評分超過 80 分以上,才能被歸類為精品咖啡。它不僅僅是一種飲品,更是承載著咖啡農、烘豆師與咖啡師用心與技術的藝術品。 精品咖啡的起源與浪潮 精品咖啡的興起源於第三波咖啡浪潮,這波浪潮重視咖啡豆的來源、處理方式、風味層次以及與產地的連結。第一波咖啡強調大量、快速生產;第二波開始注重品質與品牌體驗,而第三波則強調精品精神,倡導公平貿易、可溯源的咖啡供應鏈。 三大特徵判斷精品咖啡 1. 可追溯產地 精品咖啡通常具備清楚的產地資訊,包括國家、莊園名稱、處理廠與處理法,從產地到消費者透明可查。 2. 風味層次豐富 相較於商業豆,精品咖啡帶有更細緻的風味輪廓,例如水果酸、花香、堅果味、可可香等,並擁有乾淨且持久的餘韻。 3. 處理與杯測嚴格 精品豆多由手工挑選與分級,並需通過 Q Grader 杯測師評分達 80 分以上,品質受到全球標準認可。 精品咖啡 × 單品咖啡 × 配方豆 差異圖解 精品咖啡(品質標準) • CQI 標準,杯測分數 80+。 • 強調可追溯、處理透明、瑕疵率低。 單品咖啡(單一來源) • 來自單一產區/莊園/批次。 • 風味更能體現產地個性。 配方豆(混合調性) • 多產地混合,追求穩定口感與產量。 • 常見於義式配方、門市常備豆。 CQI 與 Q Grader 是什麼? CQI(Coffee Quality Institute)是國際非營利組織,致力於咖啡品質教育與發展。其杯測師 Q Grader 須通過多項測試,具備感官鑑定能力,負責為精品咖啡打分數,標準涵蓋香氣、酸值、甜度、餘韻、口感等多項目。 常見精品處理法 水洗處理 保留果酸與清爽感,常見於衣索比亞、哥倫比亞等地。 日曬處理 帶有濃厚果香與甜感,處理方式耗時且講究氣候條件。 蜜處理 介於水洗與日曬之間,擁有果香與滑順口感,常見於中美洲地區。 精品咖啡的文化與未來 精品咖啡不只是產品,更是一種文化運動。它推動永續農業、支持小農、關注產地與消費端的公平性,並形塑現代人對「好咖啡」的重新定義。隨著消費者對品質與風味越趨講究,精品咖啡的影響力與價值將持續擴展。 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 額外的結構化內容: • • CQI 標準,杯測分數 80+。 • • 強調可追溯、處理透明、瑕疵率低。 • • 來自單一產區/莊園/批次。 • • 風味更能體現產地個性。 • • 多產地混合,追求穩定口感與產量。 • • 常見於義式配方、門市常備豆。 2025-10-17 06:31:05 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 15/21 個網址 2025-10-17 06:31:05 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/13 2025-10-17 06:31:05 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/13, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/13 的第 1/3 次請求 2025-10-17 06:31:05 - 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 0x7de20a660dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/492375251d84b9ebaccecf0e4fbb366f 2025-10-17 06:31:05 - 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 0x7de209fb94d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/492375251d84b9ebaccecf0e4fbb366f 2025-10-17 06:31:05 - 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 0x7de209fb8e50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/492375251d84b9ebaccecf0e4fbb366f 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_99cdc932_zv3134rg 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:31:05 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409789672656 (1/3) 2025-10-17 06:31:05 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/13 2025-10-17 06:31:06 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/13 2025-10-17 06:31:06 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:31:06 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:31:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:31:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 2/22 2025-10-17 06:31:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/ (實際 URL: https://chutaiselect.com/) 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 206026 字節 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 534 字節 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 156 字節 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 156 字節,約 24 個詞,20 行 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu H O M E . . C.T.Select 打造「 優雅恆久 」的生活態度。 透過時間的流動,展現內在的從容,用慵懶自在;陪妳走過每一段日常。 . . 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:31:15 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 3/22 個網址 2025-10-17 06:31:15 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:31:15 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/shop-2-2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/shop-2-2/ 的第 1/3 次請求 2025-10-17 06:31:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c8c5ad0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f83f57539f796e538e8eb770dcc6ebfd 2025-10-17 06:31:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c8c78d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f83f57539f796e538e8eb770dcc6ebfd 2025-10-17 06:31:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c8c5dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f83f57539f796e538e8eb770dcc6ebfd 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_6445c3bd_ohv761qg 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:31:15 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:31:16 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:31:16 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409826599440 (1/3) 2025-10-17 06:31:16 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:31:16 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:31:16 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/premium 2025-10-17 06:31:17 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:31:17 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:31:17 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:31:17 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:31:17 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:31:18 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:31:18 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:31:18 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:31:18 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:31:19 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:31:19 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:31:19 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:31:19 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:31:19 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:31:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:31:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:31:22 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 181 2025-10-17 06:31:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:31:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:31:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 3/22 2025-10-17 06:31:23 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 204 2025-10-17 06:31:24 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 181,內容可能已加載完成 2025-10-17 06:31:24 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:31:24 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:31:24 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:31:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:31:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:31:25 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 204,內容可能已加載完成 2025-10-17 06:31:25 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:31:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:31:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:31:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:31:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:31:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 3/22 2025-10-17 06:31:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:31:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:31:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 3/22 2025-10-17 06:31:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:31:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:31:47 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:31:47 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/13 2025-10-17 06:31:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:31:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:31:49 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:31:49 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:31:49 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:31:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 346.7MB, CPU 0.0% 2025-10-17 06:31:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:31:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 16/19 2025-10-17 06:31:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:31:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 3/22 2025-10-17 06:31:55 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/shop-2-2/ (實際 URL: https://chutaiselect.com/shop-2-2/) 2025-10-17 06:31:55 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:31:55 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:31:55 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 258730 字節 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1392 字節 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 952 字節 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 934 字節 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 1069 字節 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 2033 字節,約 323 個詞,241 行 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu 打造日常選物的美好時光 : ) 顯示第 1 至 12 項結果,共 40 項 選擇規格 Coat Sleep & Smile 短T 評分 0 滿分 5 NT$ 520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Dress 休閒感慵懶二件式短褲衛衣 評分 0 滿分 5 NT$ 1,690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 分手的決心開襟衫 評分 0 滿分 5 NT$ 640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Pants 巴黎高雅灰西裝褲 評分 0 滿分 5 NT$ 1,290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Shoes 微厚底拼接設計感涼鞋 評分 0 滿分 5 NT$ 690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 早秋兩件式灰白針織上衣 評分 0 滿分 5 NT$ 590 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 暖紫系小姊姊上衣 評分 0 滿分 5 NT$ 490 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 棉麻休閒上衣 評分 0 滿分 5 NT$ 520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 特價 選擇規格 Skirt 每人都要有一件的米白牛仔裙 評分 0 滿分 5 NT$ 490 原始價格:NT$490。 NT$ 420 目前價格:NT$420。 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 水洗感薄棉休閒牛仔襯衫 評分 0 滿分 5 NT$ 790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 法式海軍風條紋針織上衣 評分 0 滿分 5 NT$ 790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 法式甜蜜粉Je t’aime上衣 評分 0 滿分 5 NT$ 690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Coat Sleep & Smile 短T評分 0 滿分 5 NT$520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Dress 休閒感慵懶二件式短褲衛衣評分 0 滿分 5 NT$1,690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 分手的決心開襟衫評分 0 滿分 5 NT$640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Pants 巴黎高雅灰西裝褲評分 0 滿分 5 NT$1,290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Shoes 微厚底拼接設計感涼鞋評分 0 滿分 5 NT$690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 早秋兩件式灰白針織上衣評分 0 滿分 5 NT$590 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 暖紫系小姊姊上衣評分 0 滿分 5 NT$490 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 棉麻休閒上衣評分 0 滿分 5 NT$520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 特價 選擇規格 Skirt 每人都要有一件的米白牛仔裙評分 0 滿分 5 NT$490 原始價格:NT$490。NT$420目前價格:NT$420。 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 水洗感薄棉休閒牛仔襯衫評分 0 滿分 5 NT$790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 法式海軍風條紋針織上衣評分 0 滿分 5 NT$790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 法式甜蜜粉Je t’aime上衣評分 0 滿分 5 NT$690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 1 • 2 • 3 • 4 • → 2025-10-17 06:31:56 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 4/22 個網址 2025-10-17 06:31:56 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/cart/ 2025-10-17 06:31:56 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/cart/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/cart/ 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/cart/ 的第 1/3 次請求 2025-10-17 06:31:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20c73f1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/0b4d2443b998ddc532ddc272db6ab413 2025-10-17 06:31:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d8dd1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/0b4d2443b998ddc532ddc272db6ab413 2025-10-17 06:31:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d8dcb10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/0b4d2443b998ddc532ddc272db6ab413 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_88243cc0_4lka96i1 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:31:56 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409844593040 (1/3) 2025-10-17 06:31:56 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/cart/ 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/premium (實際 URL: https://www.youtube.com/premium) 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:31:57 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1135345 字節 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/cart/ 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 4988 字節 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/cart/ 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 6235 字節 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 6235 字節 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 6235 字節,約 1033 個詞,184 行 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Relax, learn, and explore – without interruption YouTube and YouTube Music ad-free, offline, and in the background 1-month trial for ¥0 • Plans starting from ¥780​/month • Benefits vary by plan • Cancel anytime Try 1 month for ¥0 Or save money with an annual, family or student plan You'll be reminded 7 days before your trial ends. Recurring billing. Free trial for eligible new members only. Restrictions apply. Pick your plan Individual Monthly ¥1,280​/month 1-month trial for ¥0 Free trial for eligible new members only. Restrictions apply. Annual 12 months for ¥12,800​ Save 15% vs. monthly plan Doesn't automatically renew. Restrictions apply. Try 1 month for ¥0 Family Monthly ¥2,280​/month 1-month trial for ¥0 Add up to 5 family members (ages 13+) in your household. Free trial for eligible new members only. Restrictions apply. Try 1 month for ¥0 Student Monthly ¥780​/month 1-month trial for ¥0 Eligible students only. Annual verification required. Free trial for eligible new members only. Restrictions apply. Try 1 month for ¥0 Save 39% with Premium Lite* With Premium Lite, watch YouTube ad-free on everything but music and Shorts. Premium Lite New Monthly ¥780​/month 1-month trial for ¥0 Most videos ad-free* Ad-free YouTube Music Downloads Background play *Ads may appear on music content, Shorts, and when you search or browse. Restrictions apply. Try 1 month for ¥0 * 39% cheaper than the Premium Monthly Individual plan Exclusive features — only on Premium Stream videos without interruptions. Immerse yourself in more of your favorite content, ad-free. Plus, stream music ad-free on the YouTube Music app Get 100+ million official songs and podcasts, plus hard-to-find live tracks, remixes, DJ sets, and covers. Watch videos offline Download your favorite videos to enjoy them anytime, anywhere, with or without internet. Play YouTube in the background Continue watching your videos whether your screen is off or you’re using other apps. Compare memberships Premium ¥1,280​/month Cancel anytime Try 1 month for ¥0 New Premium Lite ¥780​/month Cancel anytime Try 1 month for ¥0 Ad-free YouTube videos Ad-free Most videos ad-free* Ad-free YouTube Kids Ad-free Most videos ad-free* Ad-free YouTube Music app Download and play offline Background play *About ads on Premium Lite Ads may appear on music content, Shorts, and when you search or browse. Ready to try Premium? 1-month trial for ¥0 • Then ¥1,280⁠/⁠month • Cancel anytime Try 1 month for ¥0 Recurring billing. Restrictions apply. Your questions, answered What's included with Premium? Premium offers an ad-free experience across all of YouTube and YouTube Kids. Premium membership also includes YouTube Music Premium, where you can listen to more than 100 million songs ad-free. With Premium, you can also download videos to watch offline and play videos in the background while you use other apps or your screen is locked. You can share your Premium membership with up to 5 additional household members with a family plan. Once you get a family plan, you can add members if you’re the family manager of your plan. Family members sharing a family plan must live in the same household as the family manager and have a Google account. Each family member gets their own private, personalized account. What’s the difference between Premium and Premium Lite ? Premium offers an ad-free experience across all of YouTube and YouTube Kids. Premium membership also includes YouTube Music Premium, where you can listen to more than 100 million songs ad-free. With Premium, you can also download videos to watch offline and play videos in the background while you use other apps or your screen is locked. Premium Lite is a lower-priced membership that allows you to watch most YouTube and YouTube Kids videos ad-free. Most videos won’t have ads, but ads may appear on music content, Shorts, and when you search or browse. Premium Lite doesn’t include YouTube Music Premium or advanced features like video downloads and background play. What does "most videos ad-free" mean? With Premium Lite, ads may appear on music content, Shorts, and when you search or browse. Music content includes any music focused video, for example, official music videos, covers, and dance videos. Learn more . How do I download videos and music? With Premium, you can download and watch videos and music on your mobile device using the YouTube app, the YouTube Music app, or the YouTube Kids app. You can also download videos and watch on your computer using Chrome, Edge & Opera browsers. You can watch or listen to content offline for up to 30 days without being connected to the internet. Learn more about how to watch videos offline How do I add people to my plan? You can share your YouTube Premium membership with up to 5 additional household members with a family plan. Once you get a family plan, you can add members if you’re the family manager of your plan. Family members sharing a family plan must live in the same household as the family manager and have a Google account. Each family member gets their own private, personalized account. Learn more about our family plan How do I play videos and music in the background? With Premium, background play is on by default for YouTube, YouTube Music, and YouTube Kids. This means if you're watching a video on YouTube and you leave the YouTube app, the video will keep playing in the background until you pause it. You can turn off background play anytime in your settings. Learn more about background play How can I cancel my membership? Cancel your membership by visiting the Paid Membership page. You can rejoin Premium or Premium Lite at any time. Have other questions? Visit the YouTube Help Center Tap to unmute 2x Search Info Shopping If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / Live • Watch full video • • NaN / NaN 2025-10-17 06:31:58 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 17/19 個網址 2025-10-17 06:31:58 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/reporthistory 2025-10-17 06:31:58 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/reporthistory, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/reporthistory 的第 1/3 次請求 2025-10-17 06:31:58 - 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 0x7de20d2139d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8fe0ce73237a23e40dde35d479156925 2025-10-17 06:31:58 - 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 0x7de20e04c950>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8fe0ce73237a23e40dde35d479156925 2025-10-17 06:31:58 - 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 0x7de20d2e8b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8fe0ce73237a23e40dde35d479156925 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_e639b62c_jowximbq 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:31:58 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:31:59 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:31:59 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409846396880 (1/3) 2025-10-17 06:31:59 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/reporthistory 2025-10-17 06:31:59 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 302 2025-10-17 06:32:00 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-17 06:32:00 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:32:00 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:32:00 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 62 2025-10-17 06:32:01 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/reporthistory 2025-10-17 06:32:01 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:32:02 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:32:02 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 62,內容可能已加載完成 2025-10-17 06:32:02 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:32:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:32:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 17/19 2025-10-17 06:32:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:32:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:32:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 17/19 2025-10-17 06:32:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:32:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:32:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:32:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:32:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:32:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:32:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:32:26 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:32:26 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/reporthistory 2025-10-17 06:32:28 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:32:28 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:32:28 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:32:28 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:32:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 15/21 2025-10-17 06:32:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 17/19 2025-10-17 06:32:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:32:32 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 83 2025-10-17 06:32:32 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/13 (實際 URL: https://feibi-coffee.com/product/13) 2025-10-17 06:32:32 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:32:32 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:32:32 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 30771 字節 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 334 字節 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 447 字節 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 531 字節 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 447 字節,約 74 個詞,49 行 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 曼特寧 Madheling 濾掛(10入) 0 則評論 NT$200 1 加入購物車 詳細說明 商品規格 相關推薦 曼特寧(Mandheling)咖啡 來自印尼的蘇門答臘島,特別以其 厚重醇厚的口感 與 低酸度 而聞名。 曼特寧咖啡經過傳統的「濕剝(wet hulling)」處理法,使豆子帶有濃郁的草本香氣、泥土氣息與微妙的香料味。 規格 10入(10g ±1%/入) 評級 - 品種 Typica 烘焙程度 淺焙 風味 香料 / 烤土 / 草本 處理方式 濕剝 海拔 1200m 春樹 Haruki Blend 濾掛(10入) NT$450 牧羊人 The Shepherd 濾掛(10入) NT$410 玫瑰藝妓 Rose Geisha 濾掛(10入) NT$460 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:32:33 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 16/21 個網址 2025-10-17 06:32:33 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/7 2025-10-17 06:32:33 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/7, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/7 的第 1/3 次請求 2025-10-17 06:32:33 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20a30e110>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3c93495b2fc5bc7c775c73f615eca6ae 2025-10-17 06:32:33 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209dc3210>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3c93495b2fc5bc7c775c73f615eca6ae 2025-10-17 06:32:33 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209dc0190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/3c93495b2fc5bc7c775c73f615eca6ae 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_f6994a71_m577ynms 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:32:33 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409767164944 (1/3) 2025-10-17 06:32:33 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/7 2025-10-17 06:32:34 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 83,內容可能已加載完成 2025-10-17 06:32:34 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:32:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:32:34 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:32:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.04 秒,結果: 0 2025-10-17 06:32:34 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:32:34 - 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-17 06:32:34 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/7 2025-10-17 06:32:34 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:32:35 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:32:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:32:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:32:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 17/19 2025-10-17 06:32:41 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 211 2025-10-17 06:32:42 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 96 2025-10-17 06:32:44 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 96,內容可能已加載完成 2025-10-17 06:32:44 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:32:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:32:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 17/19 2025-10-17 06:32:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:33:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 17/19 2025-10-17 06:33:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:33:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/reporthistory (實際 URL: https://www.youtube.com/reporthistory) 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 1004504 字節 2025-10-17 06:33:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:33:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 263 字節 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1568 字節 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1568 字節 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 242 字節 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1822 字節,約 293 個詞,92 行 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Sign in JP Home Shorts Subscriptions You History Sign in to like videos, comment, and subscribe. Sign in Explore Music Movies & TV Live Gaming News Sports Courses More from YouTube YouTube Premium YouTube Music YouTube Kids Settings Report history Help Send feedback About Press Copyright Contact us Creators Advertise Developers Terms Privacy Policy & Safety How YouTube works Test new features © 2025 Google LLC Home Home Shorts Shorts Subscriptions Subscriptions You You History History Thanks for reporting Any member of the YouTube community can flag content to us that they believe violates our Community Guidelines. When something is flagged, it’s not automatically taken down. Flagged content is reviewed in line with the following guidelines: Content that violates our Community Guidelines is removed from YouTube. Content that may not be appropriate for all younger audiences may be age-restricted. Reports filed for content that has been deleted by the creator cannot be shown. Learn more about reporting content on YouTube. Sign in to view your report history. Search Info Shopping Tap to unmute 2x If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / • Watch full video Live • • NaN / NaN 額外的結構化內容: • Content that violates our Community Guidelines is removed from YouTube. • Content that may not be appropriate for all younger audiences may be age-restricted. • Reports filed for content that has been deleted by the creator cannot be shown. 2025-10-17 06:33:07 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 18/19 個網址 2025-10-17 06:33:07 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://www.youtube.com/new 2025-10-17 06:33:07 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://www.youtube.com/new, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:25 秒(基於網站配置) 2025-10-17 06:33:07 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://www.youtube.com/new 的第 1/3 次請求 2025-10-17 06:33:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:33:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:33:08 - 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 0x7de20d2e8d90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/57a1f6f2c224780ad14d10dfca63bb9b 2025-10-17 06:33:08 - 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 0x7de20e95a1d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/57a1f6f2c224780ad14d10dfca63bb9b 2025-10-17 06:33:08 - 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 0x7de20d232510>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/57a1f6f2c224780ad14d10dfca63bb9b 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_7564b99b_0qjvscvx 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:33:08 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409851287888 (1/3) 2025-10-17 06:33:08 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://www.youtube.com/new 2025-10-17 06:33:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:33:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:33:10 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://www.youtube.com/new 2025-10-17 06:33:10 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:33:11 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:33:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 18/19 2025-10-17 06:33:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 4/22 2025-10-17 06:33:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/cart/ (實際 URL: https://chutaiselect.com/cart/) 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 312226 字節 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 111 字節 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 198 字節 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 102 字節 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 312 字節,約 48 個詞,48 行 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu 購物車 你的購物車目前是空的! 新品到貨 巴黎高雅灰西裝褲 NT$ 1,290 選擇規格 英倫短版風衣外套 NT$ 1,290 選擇規格 真皮尖頭法式淺口鞋 NT$ 950 選擇規格 韓系暖絨大披肩式圍巾 NT$ 390 選擇規格 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 通知 額外的結構化內容: • 巴黎高雅灰西裝褲 NT$1,290 選擇規格 • 英倫短版風衣外套 NT$1,290 選擇規格 • 真皮尖頭法式淺口鞋 NT$950 選擇規格 • 韓系暖絨大披肩式圍巾 NT$390 選擇規格 2025-10-17 06:33:14 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 5/22 個網址 2025-10-17 06:33:14 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:33:14 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/refund_returns-2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/refund_returns-2/ 的第 1/3 次請求 2025-10-17 06:33: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 0x7de20db7b8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c32efd8dd485eb0495fa62afb61ac46 2025-10-17 06:33: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 0x7de20d76add0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c32efd8dd485eb0495fa62afb61ac46 2025-10-17 06:33: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 0x7de20cd10d50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/1c32efd8dd485eb0495fa62afb61ac46 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_0a54ae64_03384bey 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:33:14 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:33:15 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409830543952 (1/3) 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/7 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:33:15 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:33:17 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:33:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:33:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:33:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:33:21 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 116 2025-10-17 06:33:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:33:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:33:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 18/19 2025-10-17 06:33:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 5/22 2025-10-17 06:33:23 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 116,內容可能已加載完成 2025-10-17 06:33:23 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:33:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:33:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:33:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:33:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:33:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:33:27 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 447 2025-10-17 06:33:28 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 69 2025-10-17 06:33:30 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 69,內容可能已加載完成 2025-10-17 06:33:30 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:33:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 5/22 2025-10-17 06:33:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 18/19 2025-10-17 06:33:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:33:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:33:35 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: #content 2025-10-17 06:33:35 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://www.youtube.com/new 2025-10-17 06:33:37 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:33:37 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:33:37 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:33:37 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:33:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 41 2025-10-17 06:33:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 41,內容可能已加載完成 2025-10-17 06:33:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:33:43 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失 2025-10-17 06:33:43 - INFO - WebScraper - [scraper.py:1509] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失 2025-10-17 06:33:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 18/19 2025-10-17 06:33:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 5/22 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/refund_returns-2/ (實際 URL: https://chutaiselect.com/refund_returns-2/) 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 206032 字節 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 782 字節 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 872 字節 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 792 字節 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 782 字節,約 42 個詞,35 行 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: . 收到商品後,煩請立即進行檢查是否有 瑕疵 / 錯款 / 少寄 如有以上狀況,請於收到商品3天內(含例假日)聯繫客服 並提供退換貨商品名稱、原因與照片 以及基本資料做核對 姓名/訂單編號/連絡電話 客服聯繫方式:Mail(ritatsa5228@gmail.com) 客服收到後將會盡速協助您進行處理,在此和您說聲抱歉 商品瑕疵定義 在未經使用、未下水、無人為外力破壞之商品破損 無超過1-2cm大片污漬、無嚴重脫線、無飾品脫落等等 若經我們認定為非以上之狀況商品,便不符合瑕疵品定義 請注意:不接受未經告知便直接寄回來要退換的商品 買家退貨訂單中保留金額未達當次消費滿額禮標準 滿額禮(全新未拆封)需連同退貨商品一併寄回 . 無法受理退貨等因素: ◎試穿衣物沾有粉妝口紅等人為瑕疵/非正常試穿 ◎已有使用過之髒污或味道(如香水味、煙味…等異味) ◎輕微脫線或勾針/下水過/極小汙點、線頭、皺褶、壓痕 ◎釦眼未開/鈕扣不牢/電腦螢幕所造成的色差/布花位置不同 ◎不喜歡、不好看、與想像不符等個人因素 ◎人為造成之瑕疵/外包裝有輕微折痕擦傷破損,不影響商品本身品質 ◎退貨商品包裝破損布完整,或配件不齊全者 退換貨流程 收到商品即拆封檢查→如有問題請拍照→聯繫客服說明基本資料→確認是否可退換貨→準備完整商品跟贈品→自行寄回 寄回方式為 7-11店到店(我們將進一步提供詳細收件資料) 如確認為我方疏失,我們將負擔您寄回的郵資,並進行更換或退款作業。 退款說明 組合優惠商品退貨後未達活動優惠,保留商品將恢復原價,差額從退貨金額直接扣除 信用卡付款者 確認退貨成功後,可選擇轉為購物金或直接把款項刷退至原付款的信用卡帳號中 轉帳付款者 確認退貨成功後,可選擇轉為購物金或將退款費用轉帳至您提供的銀行帳戶中 C.T.SELECT 保有修改、終止方案之權利且不另行通知 2025-10-17 06:33:54 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 6/22 個網址 2025-10-17 06:33:54 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/men/ 2025-10-17 06:33:54 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/men/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/men/ 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/men/ 的第 1/3 次請求 2025-10-17 06:33: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 0x7de20c7e2990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ed064e521ef7c7eff9761570fbe8a020 2025-10-17 06:33: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 0x7de20cd469d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ed064e521ef7c7eff9761570fbe8a020 2025-10-17 06:33: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 0x7de20cd475d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ed064e521ef7c7eff9761570fbe8a020 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_d7695e1b_1wedwshg 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:33:54 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:33:55 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409827573264 (1/3) 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/men/ 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/men/ 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:33:55 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/men/ 2025-10-17 06:33:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 6/22 2025-10-17 06:33:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 16/21 2025-10-17 06:33:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 18/19 2025-10-17 06:33:57 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:33:57 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:33:57 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:33:57 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:33:57 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:34:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:34:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:34:00 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/7 (實際 URL: https://feibi-coffee.com/product/7) 2025-10-17 06:34:00 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 30983 字節 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 358 字節 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 559 字節 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 643 字節 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 559 字節,約 71 個詞,54 行 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 隨機 隨機 1 2 塔羅咖啡隨機禮盒(10入) 0 則評論 NT$420 1 加入購物車 詳細說明 商品規格 相關推薦 塔羅咖啡隨機禮盒(10入) ,將神秘塔羅意象與精選手工濾掛咖啡結合,隨機挑選來自天堂鳥、玫瑰藝妓、耶加雪菲、曼特寧、巴哈等不同風味的精品豆,每一包咖啡對應一張塔羅牌,帶來獨一無二的品飲占卜體驗。 ✨ 每一盒都是命運的抽籤 ✨ 每一包都是專屬的風味啟示 ✨ 送禮、自用皆宜,感受神秘與香氣交織的儀式感 內含: 隨機10入濾掛咖啡(10種風味,10張塔羅主題包裝) 風味口感涵蓋花香、果酸、可可、醇厚等多重層次 每包均附有對應塔羅意涵簡述,讓每日咖啡成為專屬的占卜儀式 限量推出,命運不等人,邀你啟封神秘咖啡宇宙。 規格 隨機 評級 隨機 品種 隨機 烘焙程度 中焙 風味 隨機 處理方式 隨機 海拔 隨機 大阿牌塔羅濾掛禮盒(22入) NT$960 天堂鳥 Paradise Bird 咖啡禮盒(20入) NT$800 玫瑰藝妓 Rose Geisha 咖啡禮盒(10入) NT$900 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:34:01 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 17/21 個網址 2025-10-17 06:34:01 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/product/10 2025-10-17 06:34:01 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/product/10, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/product/10 的第 1/3 次請求 2025-10-17 06:34: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 0x7de2099f1410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ef1c58992ee3986a91ab74750dbc53cc 2025-10-17 06:34: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 0x7de209fbb3d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ef1c58992ee3986a91ab74750dbc53cc 2025-10-17 06:34: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 0x7de209fb8190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ef1c58992ee3986a91ab74750dbc53cc 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_5d2c7fef_myh4cy9g 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:34:01 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409787284496 (1/3) 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/product/10 2025-10-17 06:34:01 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 104 2025-10-17 06:34:02 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/product/10 2025-10-17 06:34:02 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:34:02 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:34:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:34:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:34:03 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 104,內容可能已加載完成 2025-10-17 06:34:03 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:34:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:34:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:34:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:34:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:34:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:34:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 6/22 2025-10-17 06:34:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 18/19 2025-10-17 06:34:15 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://www.youtube.com/new (實際 URL: https://www.youtube.com/new) 2025-10-17 06:34:15 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897171904: 關閉 WebDriver 實例 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 921121 字節 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 707 字節 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 1136 字節 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 1136 字節 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1136 字節,約 200 個詞,42 行 2025-10-17 06:34:16 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: Back JP Skip navigation Search Search with your voice Sign in JP Premium Sign in to try new features For a limited time, eligible Premium members have early access to try out new features. Sign in No features are available right now Try checking again later. Give Your Feedback, Get Rewarded We want to know your thoughts about YouTube and other Google products so we can keep improving them. Sign up to give feedback. If a study is a good fit for your profile, you'll receive a follow-up questionnaire and details about what the study involves, including next steps and location. After completing the study, you will get a gift card as a thank you for your time. Sign up Search Info Shopping Tap to unmute 2x If playback doesn't begin shortly, try restarting your device. • You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm Share Include playlist An error occurred while retrieving sharing information. Please try again later. Watch later Share Copy link 0:00 / • Watch full video Live • • NaN / NaN 2025-10-17 06:34:16 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=129):已完成 19/19 個網址 2025-10-17 06:34:16 - INFO - main - [url_processor.py:285] - process_url - UI審核: 開始審核主頁面: https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:34:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1309 字符 2025-10-17 06:34:16 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:34:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:34:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:34:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 6/22 2025-10-17 06:34:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:34:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:34:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:34:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:34:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:34:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:34:26 - 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-17 06:34:26 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.103秒 2025-10-17 06:34:26 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 10.160秒 2025-10-17 06:34:26 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:34:26 - INFO - main - [url_processor.py:324] - process_url - UI審核: 主頁面審核通過: https://www.youtube.com/@Esther_Anastasia_ 2025-10-17 06:34:26 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 1/18: https://www.youtube.com/about/copyright/ 2025-10-17 06:34:26 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6029 字符 2025-10-17 06:34:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:34:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:34:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:34:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 6/22 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/men/ (實際 URL: https://chutaiselect.com/product-category/men/) 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 213006 字節 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 645 字節 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 214 字節 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 155 字節 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 381 字節,約 62 個詞,50 行 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Men 顯示所有 2 筆結果 選擇規格 Men 百搭小白鞋 評分 0 滿分 5 NT$ 329 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Hat 韓系有型鴨舌帽 評分 0 滿分 5 NT$ 390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Men 百搭小白鞋評分 0 滿分 5 NT$329 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Hat 韓系有型鴨舌帽評分 0 滿分 5 NT$390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-17 06:34:34 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 7/22 個網址 2025-10-17 06:34:34 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/other/ 2025-10-17 06:34:34 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/other/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/other/ 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/other/ 的第 1/3 次請求 2025-10-17 06:34:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d27d590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ea25947531c52aea8b6d154476d187f1 2025-10-17 06:34:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d3b01d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ea25947531c52aea8b6d154476d187f1 2025-10-17 06:34:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d8dc910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ea25947531c52aea8b6d154476d187f1 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_bc39b281_ohs1y98n 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:34:34 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:34:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:34:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.05 秒,結果: 0 2025-10-17 06:34: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-17 06:34:35 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.129秒 2025-10-17 06:34:35 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.189秒 2025-10-17 06:34:35 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:34:35 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/about/copyright/ 2025-10-17 06:34:35 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 2/18: https://www.youtube.com/about/ 2025-10-17 06:34:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 383 字符 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:34:35 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409836804368 (1/3) 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/other/ 2025-10-17 06:34:35 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/other/ 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:34:35 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/other/ 2025-10-17 06:34:37 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:34:37 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:34:37 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:34:37 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:34:37 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:34:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 7/22 2025-10-17 06:34:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:34:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:34:40 - 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-17 06:34:40 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.584秒 2025-10-17 06:34:40 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 5.693秒 2025-10-17 06:34:40 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:34:40 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/about/ 2025-10-17 06:34:40 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 3/18: https://www.youtube.com/t/contact_us/ 2025-10-17 06:34:40 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2123 字符 2025-10-17 06:34:40 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:34:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 80 2025-10-17 06:34:43 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:34:43 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/product/10 2025-10-17 06:34:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 80,內容可能已加載完成 2025-10-17 06:34:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:34:45 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:34:45 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:34:45 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:34:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:34:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:34:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:34:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 7/22 2025-10-17 06:34:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:34:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:34:52 - 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-17 06:34:52 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.423秒 2025-10-17 06:34:52 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 11.477秒 2025-10-17 06:34:52 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:34:52 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/t/contact_us/ 2025-10-17 06:34:52 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 4/18: https://www.youtube.com/about/press/ 2025-10-17 06:34:52 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 17975 字符 2025-10-17 06:34:52 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:34:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:34:55 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 278 2025-10-17 06:34:56 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 56 2025-10-17 06:34:58 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 56,內容可能已加載完成 2025-10-17 06:34:58 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:35:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 7/22 2025-10-17 06:35:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:35:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:35:04 - 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-17 06:35:04 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 12.062秒 2025-10-17 06:35:04 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 12.118秒 2025-10-17 06:35:04 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:35:04 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/about/press/ 2025-10-17 06:35:04 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 5/18: https://www.youtube.com/about/policies/ 2025-10-17 06:35:04 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 4169 字符 2025-10-17 06:35:04 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:35:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 7/22 2025-10-17 06:35:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:35:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/other/ (實際 URL: https://chutaiselect.com/product-category/other/) 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 203488 字節 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 486 字節 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 97 字節 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 97 字節,約 13 個詞,12 行 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Other 找不到符合您選擇的商品 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:35:14 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 8/22 個網址 2025-10-17 06:35:14 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:35:14 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 的第 1/3 次請求 2025-10-17 06:35: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 0x7de20d8dd7d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/26e5437d0b499df991569c9d37a89072 2025-10-17 06:35: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 0x7de20de5ab10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/26e5437d0b499df991569c9d37a89072 2025-10-17 06:35: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 0x7de20de5bd50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/26e5437d0b499df991569c9d37a89072 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_5c3b10b1_6mu_90us 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:35:14 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409843863952 (1/3) 2025-10-17 06:35:14 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:35:16 - 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-17 06:35:16 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.893秒 2025-10-17 06:35:16 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 11.950秒 2025-10-17 06:35:16 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:35:16 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/about/policies/ 2025-10-17 06:35:16 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 6/18: https://www.youtube.com/ 2025-10-17 06:35:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1106 字符 2025-10-17 06:35:16 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:35:17 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:35:17 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:35:17 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:35:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:35:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:35:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 17/21 2025-10-17 06:35:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:35:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:35:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:35:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:35:26 - 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-17 06:35:26 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.641秒 2025-10-17 06:35:26 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.696秒 2025-10-17 06:35:26 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:35:26 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/ 2025-10-17 06:35:26 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 7/18: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 2025-10-17 06:35:26 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 9759 字符 2025-10-17 06:35:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:35:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:35:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:35:28 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/product/10 (實際 URL: https://feibi-coffee.com/product/10) 2025-10-17 06:35:28 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:35:28 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:35:28 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:35:28 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 30159 字節 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 258 字節 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 370 字節 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 454 字節 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 370 字節,約 61 個詞,41 行 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 1 2 天堂鳥 Paradise Bird 咖啡豆(半磅) 0 則評論 NT$300 1 加入購物車 詳細說明 商品規格 相關推薦 如同其名,這是一款充滿熱帶風情的中淺焙咖啡豆,帶有芒果、鳳梨、百香果的濃郁果香,酸甜迷人。喝起來像是一場陽光灑落的南洋探險,適合想要感受熱情與自由的你。 規格 半磅 評級 - 品種 藝妓 烘焙程度 淺焙 風味 百香果 / 蔗糖蜜 / 可可 處理方式 日曬 海拔 1800m 巴哈 Bach Blend 咖啡豆(半磅) NT$390 耶加雪菲 Yirgacheffe 咖啡豆(半磅) NT$380 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:35:29 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 18/21 個網址 2025-10-17 06:35:29 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/products/category/6 2025-10-17 06:35:29 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/products/category/6, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/products/category/6 的第 1/3 次請求 2025-10-17 06:35:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209fbb550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ada8fa58aab242894bbe3ce5f03a1b00 2025-10-17 06:35:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209c52610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ada8fa58aab242894bbe3ce5f03a1b00 2025-10-17 06:35:29 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209c51190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/ada8fa58aab242894bbe3ce5f03a1b00 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_52c8a1ae_t5uj_l3y 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:35:29 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409779895056 (1/3) 2025-10-17 06:35:29 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/products/category/6 2025-10-17 06:35:30 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/products/category/6 2025-10-17 06:35:30 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:35:30 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:35:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:35:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:35:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:35:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:35:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:35:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:35:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:35:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:35:47 - 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-17 06:35:47 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 21.177秒 2025-10-17 06:35:47 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 21.360秒 2025-10-17 06:35:47 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:35:47 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ 2025-10-17 06:35:47 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 8/18: https://www.youtube.com/creators/ 2025-10-17 06:35:47 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 7273 字符 2025-10-17 06:35:47 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:35:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:35:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:35:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:35: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-17 06:35:57 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.221秒 2025-10-17 06:35:57 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.278秒 2025-10-17 06:35:57 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:35:57 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/creators/ 2025-10-17 06:35:57 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 9/18: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 2025-10-17 06:35:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 31343 字符 2025-10-17 06:35:57 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:35:58 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:35:58 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:36:00 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:36:00 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:36:00 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:36:00 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:36:04 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 11 2025-10-17 06:36:06 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 11,內容可能已加載完成 2025-10-17 06:36:06 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:36:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:36:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:36:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:36:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:36:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:36:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:36:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:36:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:36:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:36:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:36:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:36:11 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:36:11 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/products/category/6 2025-10-17 06:36: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-17 06:36:12 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 14.941秒 2025-10-17 06:36:12 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 14.997秒 2025-10-17 06:36:12 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:36:12 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/channel/UCYfdidRxbB8Qhf0Nx7ioOYw 2025-10-17 06:36:12 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 10/18: https://www.youtube.com/gaming 2025-10-17 06:36:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2810 字符 2025-10-17 06:36:12 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:36:13 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:36:13 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:36:13 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:36:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:36:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:36:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:36:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:36:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:36:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:36:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:36:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:36:23 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 335 2025-10-17 06:36:24 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 62 2025-10-17 06:36:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:36:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:36:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:36:26 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 62,內容可能已加載完成 2025-10-17 06:36:26 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:36:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:36:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:36: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-17 06:36:27 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 15.041秒 2025-10-17 06:36:27 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 15.096秒 2025-10-17 06:36:27 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:36:27 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/gaming 2025-10-17 06:36:27 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 11/18: https://www.youtube.com/account 2025-10-17 06:36:27 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1228 字符 2025-10-17 06:36:27 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:36:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:36:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 8/22 2025-10-17 06:36:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:36:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:36:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com (實際 URL: http://chutaiselect.com/wp-login.php?redirect_to=https://chutaiselect.com&captcha) 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 132714 字節 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 308 字節 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 436 字節 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 411 字節 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 436 字節,約 73 個詞,11 行 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: The connection to chutaiselect.com is not secure You are seeing this warning because this site does not support HTTPS and you are in Incognito mode. Learn more about this warning Help improve security on the web for everyone by sending URLs of some pages you visit, limited system information, and some page content to Google. Privacy policy Turn on enhanced protection to get Chrome's highest level of security Go back Continue to site 2025-10-17 06:36:36 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 9/22 個網址 2025-10-17 06:36:36 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/checkout/ 2025-10-17 06:36:36 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/checkout/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/checkout/ 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/checkout/ 的第 1/3 次請求 2025-10-17 06:36:36 - 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 0x7de20d717750>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/755c1f0f2ad1a84531fb48aae9ab53c9 2025-10-17 06:36:36 - 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 0x7de20d715dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/755c1f0f2ad1a84531fb48aae9ab53c9 2025-10-17 06:36:36 - 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 0x7de20d717290>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/755c1f0f2ad1a84531fb48aae9ab53c9 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_2e75575e_hqyg7wgy 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:36:36 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:36:37 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:36: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-17 06:36:37 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409841622672 (1/3) 2025-10-17 06:36:37 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/checkout/ 2025-10-17 06:36:37 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.472秒 2025-10-17 06:36:37 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.530秒 2025-10-17 06:36:37 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:36:37 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/account 2025-10-17 06:36:37 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 12/18: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 2025-10-17 06:36:37 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6145 字符 2025-10-17 06:36:37 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:36:38 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/checkout/ 2025-10-17 06:36:38 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:36:38 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:36:38 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:36:38 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/checkout/ 2025-10-17 06:36:40 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react, jquery 2025-10-17 06:36:40 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:36:40 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:36:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:36:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:36:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:36: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-17 06:36:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.126秒 2025-10-17 06:36:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 11.232秒 2025-10-17 06:36:48 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:36:48 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw 2025-10-17 06:36:48 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 13/18: https://www.youtube.com/@Esther_Anastasia_/community 2025-10-17 06:36:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1478 字符 2025-10-17 06:36:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:36:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 18/21 2025-10-17 06:36:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:36:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/products/category/6 (實際 URL: https://feibi-coffee.com/products/category/6) 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 32801 字節 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 195 字節 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 331 字節 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 415 字節 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 331 字節,約 65 個詞,47 行 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 篩選 商品分類 所有商品 濾掛咖啡 單品咖啡 咖啡豆 最新商品 期間限定 咖啡禮盒 即期良品 烘焙度 淺焙 中焙 深焙 處理法 日曬 水洗 蜜處理 濕剝 中焙 日曬 春樹 Haruki Blend 濾掛(10入) NT$450 淺焙 濕剝 曼特寧 Madheling 濾掛(10入) NT$200 中焙 水洗 牧羊人 The Shepherd 濾掛(10入) NT$410 淺焙 日曬 玫瑰藝妓 Rose Geisha 濾掛(10入) NT$460 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:36:56 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 19/21 個網址 2025-10-17 06:36:56 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/products/category/8 2025-10-17 06:36:56 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/products/category/8, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/products/category/8 的第 1/3 次請求 2025-10-17 06:36:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209ea4250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2634020d8a5500d349ae9ce1168c667d 2025-10-17 06:36:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209c50150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2634020d8a5500d349ae9ce1168c667d 2025-10-17 06:36:56 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de209c511d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/2634020d8a5500d349ae9ce1168c667d 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_0723ec65_7lmfhqb0 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:36:56 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:36:57 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:36:57 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409777499984 (1/3) 2025-10-17 06:36:57 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/products/category/8 2025-10-17 06:36: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-17 06:36:57 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.760秒 2025-10-17 06:36:57 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.889秒 2025-10-17 06:36:57 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:36:57 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/@Esther_Anastasia_/community 2025-10-17 06:36:57 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 14/18: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 2025-10-17 06:36:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 13550 字符 2025-10-17 06:36:57 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:36:58 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/products/category/8 2025-10-17 06:36:58 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:36:58 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:37:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:37:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:37:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:37: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-17 06:37:13 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 16.266秒 2025-10-17 06:37:13 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 16.368秒 2025-10-17 06:37:13 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:37:13 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig 2025-10-17 06:37:13 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 15/18: https://www.youtube.com/ads/ 2025-10-17 06:37:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2855 字符 2025-10-17 06:37:13 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:37:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:37:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:37:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:37:21 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 .page,內容長度: 155 2025-10-17 06:37:22 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 81 2025-10-17 06:37:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:37:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:37:24 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 81,內容可能已加載完成 2025-10-17 06:37:24 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:37:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:37:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:37:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:37:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:37:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:37:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:37:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:37: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-17 06:37:31 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 18.105秒 2025-10-17 06:37:31 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 18.162秒 2025-10-17 06:37:31 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:37:31 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/ads/ 2025-10-17 06:37:31 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 16/18: https://www.youtube.com/premium 2025-10-17 06:37:31 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6235 字符 2025-10-17 06:37:32 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:37:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:37:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:37:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:37:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:37:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:37:38 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:37:38 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/products/category/8 2025-10-17 06:37:40 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:37:40 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:37:40 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:37:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:37:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 9/22 2025-10-17 06:37:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06: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-17 06:37:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 16.079秒 2025-10-17 06:37:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 16.145秒 2025-10-17 06:37:48 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:37:48 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/premium 2025-10-17 06:37:48 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 17/18: https://www.youtube.com/reporthistory 2025-10-17 06:37:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1821 字符 2025-10-17 06:37:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:37:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:37:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:37:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 3, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:37:50 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 261 2025-10-17 06:37:51 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 54 2025-10-17 06:37:53 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 54,內容可能已加載完成 2025-10-17 06:37:53 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/checkout/ (實際 URL: https://chutaiselect.com/checkout/) 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 286999 字節 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 516 字節 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 138 字節 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 138 字節,約 16 個詞,15 行 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu 結帳 你的購物車目前是空的! 你的購物車是空的,無法結帳。請瀏覽我們的商店,準備好下單時再返回此處。 瀏覽商店 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 通知 2025-10-17 06:37:54 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 10/22 個網址 2025-10-17 06:37:54 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/category/blog/ 2025-10-17 06:37:54 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/category/blog/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/category/blog/ 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/category/blog/ 的第 1/3 次請求 2025-10-17 06:37: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 0x7de210bfa3d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8d65e2f6ac42bbf97e3e1aa743c4b3db 2025-10-17 06:37: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 0x7de20d8eee50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8d65e2f6ac42bbf97e3e1aa743c4b3db 2025-10-17 06:37: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 0x7de20d8ecbd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/8d65e2f6ac42bbf97e3e1aa743c4b3db 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_bf108ee4_ze4t0rw9 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:37:54 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:37:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:37:55 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409843548816 (1/3) 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/category/blog/ 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/category/blog/ 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:37:55 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/category/blog/ 2025-10-17 06:37: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-17 06:37:57 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.662秒 2025-10-17 06:37:57 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.720秒 2025-10-17 06:37:57 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:37:57 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/reporthistory 2025-10-17 06:37:57 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 18/18: https://www.youtube.com/new 2025-10-17 06:37:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1136 字符 2025-10-17 06:37:57 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:37:57 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:37:57 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:37:57 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:37:57 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:37:57 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:37:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:37:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:37:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 10/22 2025-10-17 06:38:01 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 131 2025-10-17 06:38:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:38:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:38:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:38:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:38:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:38:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:38:03 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 131,內容可能已加載完成 2025-10-17 06:38:03 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:38:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-10-17 06:38:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:38: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-17 06:38:05 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.425秒 2025-10-17 06:38:05 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.479秒 2025-10-17 06:38:05 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:38:05 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://www.youtube.com/new 2025-10-17 06:38:05 - INFO - main - [url_processor.py:395] - process_url - 開始判斷主頁面購物車功能 2025-10-17 06:38:05 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:05 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1309 字符 2025-10-17 06:38:05 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38: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-17 06:38:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.783秒 2025-10-17 06:38:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.877秒 2025-10-17 06:38:09 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:09 - INFO - main - [url_processor.py:398] - process_url - 主頁面購物車判斷: 無購物車功能 2025-10-17 06:38:09 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 1/18 購物車功能 2025-10-17 06:38:09 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6029 字符 2025-10-17 06:38:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 10/22 2025-10-17 06:38:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:38:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06: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-17 06:38:12 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.836秒 2025-10-17 06:38:12 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.894秒 2025-10-17 06:38:12 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:12 - INFO - main - [url_processor.py:409] - process_url - 子頁面 1 購物車判斷: 無購物車功能 2025-10-17 06:38:12 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 2/18 購物車功能 2025-10-17 06:38:12 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 383 字符 2025-10-17 06:38:12 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:14 - 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-17 06:38:14 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.995秒 2025-10-17 06:38:14 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.053秒 2025-10-17 06:38:14 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:14 - INFO - main - [url_processor.py:409] - process_url - 子頁面 2 購物車判斷: 無購物車功能 2025-10-17 06:38:14 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 3/18 購物車功能 2025-10-17 06:38:14 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:14 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2123 字符 2025-10-17 06:38:14 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38: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-17 06:38:17 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.909秒 2025-10-17 06:38:17 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.966秒 2025-10-17 06:38:17 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:17 - INFO - main - [url_processor.py:409] - process_url - 子頁面 3 購物車判斷: 無購物車功能 2025-10-17 06:38:17 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 4/18 購物車功能 2025-10-17 06:38:17 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:17 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 17975 字符 2025-10-17 06:38:17 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 10/22 2025-10-17 06:38:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:38:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 19/21 2025-10-17 06:38:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:38:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/products/category/8 (實際 URL: https://feibi-coffee.com/products/category/8) 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 28960 字節 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 127 字節 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 257 字節 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 341 字節 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 257 字節,約 51 個詞,39 行 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 篩選 商品分類 所有商品 濾掛咖啡 單品咖啡 咖啡豆 最新商品 期間限定 咖啡禮盒 即期良品 烘焙度 淺焙 中焙 深焙 處理法 日曬 水洗 蜜處理 濕剝 中焙 蜜處理 貝多芬 Beethoven Blend 單品(10入) NT$430 中焙 日曬 龐貝 Pompeii 單品(10入) NT$480 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:38:24 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 20/21 個網址 2025-10-17 06:38:24 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://feibi-coffee.com/products/category/7 2025-10-17 06:38:24 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://feibi-coffee.com/products/category/7, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:15 秒(基於網站配置) 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://feibi-coffee.com/products/category/7 的第 1/3 次請求 2025-10-17 06:38: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 0x7de208d53910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/07894bb49dc42a6863a6c9143fc7304b 2025-10-17 06:38: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 0x7de208d52590>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/07894bb49dc42a6863a6c9143fc7304b 2025-10-17 06:38: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 0x7de208d52dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/07894bb49dc42a6863a6c9143fc7304b 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_b6e090c0_sx74k9h9 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:38:24 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409764260368 (1/3) 2025-10-17 06:38:24 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://feibi-coffee.com/products/category/7 2025-10-17 06:38:25 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://feibi-coffee.com/products/category/7 2025-10-17 06:38:25 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:38:25 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:38:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:38:25 - 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-17 06:38:25 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.794秒 2025-10-17 06:38:25 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 8.853秒 2025-10-17 06:38:25 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:25 - INFO - main - [url_processor.py:409] - process_url - 子頁面 4 購物車判斷: 無購物車功能 2025-10-17 06:38:25 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 5/18 購物車功能 2025-10-17 06:38:25 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:25 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 4169 字符 2025-10-17 06:38:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:38:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:38:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:38: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-17 06:38:28 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.093秒 2025-10-17 06:38:28 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.183秒 2025-10-17 06:38:28 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:28 - INFO - main - [url_processor.py:409] - process_url - 子頁面 5 購物車判斷: 無購物車功能 2025-10-17 06:38:28 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 6/18 購物車功能 2025-10-17 06:38:28 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:28 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1106 字符 2025-10-17 06:38:28 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38: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-17 06:38:31 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.955秒 2025-10-17 06:38:31 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.009秒 2025-10-17 06:38:31 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:31 - INFO - main - [url_processor.py:409] - process_url - 子頁面 6 購物車判斷: 無購物車功能 2025-10-17 06:38:31 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 7/18 購物車功能 2025-10-17 06:38:31 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:31 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 9759 字符 2025-10-17 06:38:31 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:38:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:38:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 10/22 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/category/blog/ (實際 URL: https://chutaiselect.com/category/blog/) 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 228560 字節 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 204 字節 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 602 字節 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 522 字節 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 602 字節,約 99 個詞,65 行 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Blog Blog 2022 秋節‧上信饌玉 admin / 20 8 月, 2022 趁著年中,我將家中大整理一番,整理出幾幅 […] Blog hallmark的沐浴童話樂園 admin / 15 2 月, 2022 年後收心開學,轉眼已將近一週,由於是疫情 Blog 2022.新春.上信饌玉 admin / 22 12 月, 2021 有點辛苦的今年,終於進入倒數了,農曆年也 Blog 2021秋.宜蘭礁溪露營車體驗 admin / 19 9 月, 2021 連假前,去住了宜蘭礁溪老爺飯店的得天露營 Blog 秋季豐收的旺萊山 admin / 28 8 月, 2021 看著年曆上的紅字連假,才驚覺今年中秋節竟 Blog 廚房 admin / 10 6 月, 2021 . 廚房的記憶,可能是人在居家環境中最有 Blog 有聲書 admin / 1 6 月, 2021 整理書櫃的時候,有封信掉出來。 . 其實 Blog 與你同行 admin / 10 5 月, 2020 最近同事總問我,當時決定結婚是怎麼知道, Blog 2020端午.上信饌玉 admin / 20 4 月, 2020 . 明信片在我跟舍監的遠距離那一年,佔了 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:38:34 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 11/22 個網址 2025-10-17 06:38:34 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/cart-2-2/ 2025-10-17 06:38:34 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/cart-2-2/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/cart-2-2/ 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/cart-2-2/ 的第 1/3 次請求 2025-10-17 06:38:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d8ecc10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/46bc1e260e79e4cf1790b255ccc489a6 2025-10-17 06:38:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d4eb7d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/46bc1e260e79e4cf1790b255ccc489a6 2025-10-17 06:38:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d29b9d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/46bc1e260e79e4cf1790b255ccc489a6 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_1f290ea7_cb4lse3r 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:38:34 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:38:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:38:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:38:35 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:38:35 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409843542032 (1/3) 2025-10-17 06:38:35 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/cart-2-2/ 2025-10-17 06: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-17 06:38:35 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.155秒 2025-10-17 06:38:35 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.224秒 2025-10-17 06:38:35 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:35 - INFO - main - [url_processor.py:409] - process_url - 子頁面 7 購物車判斷: 無購物車功能 2025-10-17 06:38:35 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 8/18 購物車功能 2025-10-17 06:38:35 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 7273 字符 2025-10-17 06:38:35 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:36 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/cart-2-2/ 2025-10-17 06:38:36 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:38:36 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:38:36 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:38:36 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/cart-2-2/ 2025-10-17 06:38:38 - 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-17 06:38:38 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.024秒 2025-10-17 06:38:38 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.157秒 2025-10-17 06:38:38 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:38 - INFO - main - [url_processor.py:409] - process_url - 子頁面 8 購物車判斷: 無購物車功能 2025-10-17 06:38:38 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 9/18 購物車功能 2025-10-17 06:38:38 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:38 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 31343 字符 2025-10-17 06:38:38 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:38 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:38:38 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:38:38 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:38:38 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:38:38 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:38:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:38:42 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-17 06:38:42 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.751秒 2025-10-17 06:38:42 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.805秒 2025-10-17 06:38:42 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:42 - INFO - main - [url_processor.py:409] - process_url - 子頁面 9 購物車判斷: 無購物車功能 2025-10-17 06:38:42 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 10/18 購物車功能 2025-10-17 06:38:42 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:42 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2810 字符 2025-10-17 06:38:42 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 11/22 2025-10-17 06:38:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:38:42 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 75 2025-10-17 06:38:44 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 75,內容可能已加載完成 2025-10-17 06:38:44 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:38: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-17 06:38:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.925秒 2025-10-17 06:38:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.980秒 2025-10-17 06:38:45 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:45 - INFO - main - [url_processor.py:409] - process_url - 子頁面 10 購物車判斷: 無購物車功能 2025-10-17 06:38:45 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 11/18 購物車功能 2025-10-17 06:38:45 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1228 字符 2025-10-17 06:38:45 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38: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-17 06:38:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.389秒 2025-10-17 06:38:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.483秒 2025-10-17 06:38:48 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:48 - INFO - main - [url_processor.py:409] - process_url - 子頁面 11 購物車判斷: 無購物車功能 2025-10-17 06:38:48 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 12/18 購物車功能 2025-10-17 06:38:48 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6145 字符 2025-10-17 06:38:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:38:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:38:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 11/22 2025-10-17 06:38: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-17 06:38:54 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.168秒 2025-10-17 06:38:54 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.226秒 2025-10-17 06:38:54 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:54 - INFO - main - [url_processor.py:409] - process_url - 子頁面 12 購物車判斷: 無購物車功能 2025-10-17 06:38:54 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 13/18 購物車功能 2025-10-17 06:38:54 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:54 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1478 字符 2025-10-17 06:38:54 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:38:56 - 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-17 06:38:56 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.229秒 2025-10-17 06:38:56 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.283秒 2025-10-17 06:38:56 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:38:56 - INFO - main - [url_processor.py:409] - process_url - 子頁面 13 購物車判斷: 無購物車功能 2025-10-17 06:38:56 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 14/18 購物車功能 2025-10-17 06:38:56 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:38:56 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 13550 字符 2025-10-17 06:38:56 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:39:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:39:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:39:02 - 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-17 06:39:02 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.163秒 2025-10-17 06:39:02 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 6.220秒 2025-10-17 06:39:02 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:39:02 - INFO - main - [url_processor.py:409] - process_url - 子頁面 14 購物車判斷: 無購物車功能 2025-10-17 06:39:02 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 15/18 購物車功能 2025-10-17 06:39:02 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:39:02 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 2855 字符 2025-10-17 06:39:02 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:39:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:39:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:39:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:39:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 11/22 2025-10-17 06:39:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:39:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:39:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:39:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:39:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:39:06 - INFO - WebScraper - [scraper.py:1441] - get_content - 未找到任何主要內容元素,頁面可能使用非標準結構 2025-10-17 06:39:06 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://feibi-coffee.com/products/category/7 2025-10-17 06:39:06 - 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-17 06:39:06 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.635秒 2025-10-17 06:39:06 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.689秒 2025-10-17 06:39:06 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:39:06 - INFO - main - [url_processor.py:409] - process_url - 子頁面 15 購物車判斷: 無購物車功能 2025-10-17 06:39:06 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 16/18 購物車功能 2025-10-17 06:39:06 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:39:06 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6235 字符 2025-10-17 06:39:06 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:39:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:39:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:39:08 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: react 2025-10-17 06:39:08 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: spa 2025-10-17 06:39:08 - INFO - WebScraper - [scraper.py:1459] - get_content - 檢測到單頁應用(SPA),應用特殊等待策略 2025-10-17 06:39:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:39:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:39:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:39:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:39:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:39:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:39:10 - 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-17 06:39:10 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.622秒 2025-10-17 06:39:10 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.686秒 2025-10-17 06:39:10 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:39:10 - INFO - main - [url_processor.py:409] - process_url - 子頁面 16 購物車判斷: 無購物車功能 2025-10-17 06:39:10 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 17/18 購物車功能 2025-10-17 06:39:10 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:39:10 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1821 字符 2025-10-17 06:39:10 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:39: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-17 06:39:12 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.868秒 2025-10-17 06:39:12 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 1.926秒 2025-10-17 06:39:12 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:39:12 - INFO - main - [url_processor.py:409] - process_url - 子頁面 17 購物車判斷: 無購物車功能 2025-10-17 06:39:12 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 18/18 購物車功能 2025-10-17 06:39:12 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:39:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1136 字符 2025-10-17 06:39:12 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:39:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/cart-2-2/ (實際 URL: https://chutaiselect.com/cart-2-2/) 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 208285 字節 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 449 字節 2025-10-17 06: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-17 06:39:15 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.465秒 2025-10-17 06:39:15 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.522秒 2025-10-17 06:39:15 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:39:15 - INFO - main - [url_processor.py:409] - process_url - 子頁面 18 購物車判斷: 無購物車功能 2025-10-17 06:39:15 - INFO - main - [url_processor.py:421] - process_url - 最終購物車判斷結果: 無購物車功能 (檢查了 19 個頁面) 2025-10-17 06:39:15 - INFO - main - [url_processor.py:442] - process_url - 審核通過:19 個頁面通過,0 個頁面被模型拒審(已忽略) 2025-10-17 06:39:15 - INFO - main - [url_processor.py:460] - process_url - 檢測聯絡資訊(URL ID=129):開始在主頁面搜索 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 71 字節 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 71 字節,約 10 個詞,9 行 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Cart 您的購物車裡還沒有任何商品。 回到商店 返回頂端 2025-10-17 06:39:15 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 12/22 個網址 2025-10-17 06:39:15 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:39:15 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 的第 1/3 次請求 2025-10-17 06:39:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d948910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5c2ed25129c5c7b7591161dea6a2e1fa 2025-10-17 06:39:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20de45250>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5c2ed25129c5c7b7591161dea6a2e1fa 2025-10-17 06:39:15 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20de44410>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5c2ed25129c5c7b7591161dea6a2e1fa 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_3ef7de74_m61q5e74 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:39:15 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:39:15 - INFO - main - [helpers.py:239] - _find_email_in_content - 在HTML源代碼中找到電子郵件 estheranastasia23@gmail.com 2025-10-17 06:39:15 - INFO - main - [url_processor.py:469] - process_url - 檢測聯絡資訊(URL ID=129):在主頁面找到Email 2025-10-17 06:39:15 - INFO - main - [url_processor.py:573] - process_url - URL ID 129 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證 2025-10-17 06:39:15 - INFO - main - [url_processor.py:581] - process_url - UI審核(URL ID=129):開始在主頁面搜索聯絡資訊 2025-10-17 06:39:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 12/22 2025-10-17 06:39:15 - INFO - main - [helpers.py:239] - _find_email_in_content - 在HTML源代碼中找到電子郵件 estheranastasia23@gmail.com 2025-10-17 06:39:15 - INFO - main - [url_processor.py:592] - process_url - UI審核(URL ID=129):在主頁面找到Email 2025-10-17 06:39:15 - INFO - main - [url_processor.py:631] - process_url - UI審核(URL ID=129):身份驗證通過(找到頁面: https://www.youtube.com/@Esther_Anastasia_) 2025-10-17 06:39:15 - INFO - database - [database.py:505] - update_url_status - URL ID 129 状态已更新为 completed 2025-10-17 06:39:15 - INFO - main - [url_processor.py:733] - process_url - URL ID 129 分析完成,結果: pass, API驗證: False 2025-10-17 06:39:15 - INFO - main - [url_processor.py:758] - process_url - 工作線程 #1 完成處理 URL ID: 129 2025-10-17 06:39:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:39:16 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409849158416 (1/3) 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:39:16 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:39:18 - INFO - WebScraper - [scraper.py:1946] - _wait_for_spa_content - SPA內容已加載在容器 #root,內容長度: 299 2025-10-17 06:39:18 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:39:18 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:39:18 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:39:18 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:39:18 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:39:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:39:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:39:19 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 58 2025-10-17 06:39:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:39:21 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 58,內容可能已加載完成 2025-10-17 06:39:21 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:39:22 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 94 2025-10-17 06:39:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:39:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:39:24 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 94,內容可能已加載完成 2025-10-17 06:39:24 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:39:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:39:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 129, UID: i81jkolv2j, 進度: 19/19 2025-10-17 06:39:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:39:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:39:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 12/22 2025-10-17 06:39:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:39:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:39:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:39:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:39:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:39:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:39:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 12/22 2025-10-17 06:39:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 20/21 2025-10-17 06:39:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 12/22 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://feibi-coffee.com/products/category/7 (實際 URL: https://feibi-coffee.com/products/category/7) 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 30883 字節 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 162 字節 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 295 字節 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 379 字節 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=True, 分數=1 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2391] - extract_text_from_html - 根據聯絡信息分數 1 選擇 beautifulsoup_basic 作為最佳結果 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 295 字節,約 58 個詞,43 行 2025-10-17 06:39:51 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 會員登入/註冊 篩選 商品分類 所有商品 濾掛咖啡 單品咖啡 咖啡豆 最新商品 期間限定 咖啡禮盒 即期良品 烘焙度 淺焙 中焙 深焙 處理法 日曬 水洗 蜜處理 濕剝 淺焙 日曬 天堂鳥 Paradise Bird 咖啡豆(半磅) NT$300 中焙 水洗 巴哈 Bach Blend 咖啡豆(半磅) NT$390 淺焙 水洗 耶加雪菲 Yirgacheffe 咖啡豆(半磅) NT$380 © 2025 啡彼咖啡 | Feibi Coffee 關於我們 品牌故事 隱私權及使用條款 客服資訊 購物說明 會員權益聲明 電話 : 0967226595 聯絡我們 訂閱我們 獲取最新優惠與消息 2025-10-17 06:39:52 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=128):已完成 21/21 個網址 2025-10-17 06:39:52 - INFO - main - [url_processor.py:285] - process_url - UI審核: 開始審核主頁面: https://feibi-coffee.com/ 2025-10-17 06:39:52 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 402 字符 2025-10-17 06:39:52 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:39:54 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ (實際 URL: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/) 2025-10-17 06:39:54 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:39:54 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:39:54 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 205948 字節 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 374 字節 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 459 字節 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 379 字節 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 459 字節,約 35 個詞,31 行 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu 訂購流程 . . 選擇 7-11店到店 超商『取貨』訂單,請務必填寫與證件相符姓名 【送貨方式】 超商取貨(7-11店到店):純取貨不付款 【訂單資訊】 如有可使用購物金/優惠代碼,請點擊『使用促銷代碼』 【線上付款】 信用卡( 支援Visa/Master/JCB) 轉帳/匯款(訂單成立後將提供收款銀行資料) 訂單顯示『已完成付款』,代表已收到款項/刷卡成功 若是只有顯示『未完成付款』,代表未確認到款項、未刷卡成功 皆可至網頁右上角『我的帳戶』確認是否有付款成功及訂單進度 【訂單資訊】 如有可使用購物金/優惠代碼,請點擊『使用促銷代碼』 【到貨時間】 本賣場商品皆為現貨+預購(約7-14天) 如遇商品斷貨,將會通知,協助取消或更換商品 並以付款金額將會經過同意是否採用退款或是留做購物金(無使用期限) 官網商品皆有尺寸標示,誤差值1-3cm為合理範圍 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:39:55 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 13/22 個網址 2025-10-17 06:39:55 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:39:55 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/accessories/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/accessories/ 的第 1/3 次請求 2025-10-17 06:39:55 - 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 0x7de20d948b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/254f7b9139a239c6287a871e6c23547a 2025-10-17 06:39:55 - 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 0x7de20d34d350>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/254f7b9139a239c6287a871e6c23547a 2025-10-17 06:39:55 - 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 0x7de20d34c650>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/254f7b9139a239c6287a871e6c23547a 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_2b7d84fd_iwkj1057 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:39:55 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409843927504 (1/3) 2025-10-17 06:39:55 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:39:56 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:39:56 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:39:56 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:39:56 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:39:56 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:39:58 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:39:58 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:39:58 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:39:58 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:39:58 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:39:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:39:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 13/22 2025-10-17 06:40:02 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 191 2025-10-17 06:40:02 - 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-17 06:40:02 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.618秒 2025-10-17 06:40:02 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 10.673秒 2025-10-17 06:40:02 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:02 - INFO - main - [url_processor.py:324] - process_url - UI審核: 主頁面審核通過: https://feibi-coffee.com/ 2025-10-17 06:40:02 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 1/20: https://feibi-coffee.com/policy 2025-10-17 06:40:02 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 190 字符 2025-10-17 06:40:02 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:04 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 191,內容可能已加載完成 2025-10-17 06:40:04 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:40: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-17 06:40:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.081秒 2025-10-17 06:40:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.136秒 2025-10-17 06:40:09 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:09 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/policy 2025-10-17 06:40:09 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 2/20: https://feibi-coffee.com/about/brand 2025-10-17 06:40:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 741 字符 2025-10-17 06:40:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 13/22 2025-10-17 06:40:10 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:40: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-17 06:40:17 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.898秒 2025-10-17 06:40:17 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.954秒 2025-10-17 06:40:17 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:17 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/about/brand 2025-10-17 06:40:17 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 3/20: https://feibi-coffee.com/about/team 2025-10-17 06:40:17 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 265 字符 2025-10-17 06:40:17 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 13/22 2025-10-17 06:40:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:40:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:40:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:40:25 - 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-17 06:40:25 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.002秒 2025-10-17 06:40:25 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.058秒 2025-10-17 06:40:25 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:25 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/about/team 2025-10-17 06:40:25 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 4/20: https://feibi-coffee.com/about/contact 2025-10-17 06:40:25 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 162 字符 2025-10-17 06:40:25 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:40:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:40:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:40:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:40:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 13/22 2025-10-17 06:40:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:40:33 - 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-17 06:40:33 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.015秒 2025-10-17 06:40:33 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.068秒 2025-10-17 06:40:33 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:33 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/about/contact 2025-10-17 06:40:33 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 5/20: https://feibi-coffee.com/ 2025-10-17 06:40:33 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 402 字符 2025-10-17 06:40:33 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/accessories/ (實際 URL: https://chutaiselect.com/product-category/accessories/) 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:40:34 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 256838 字節 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1249 字節 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 810 字節 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 791 字節 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 913 字節 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1735 字節,約 280 個詞,224 行 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Accessories 顯示所有 12 筆結果 選擇規格 Shoes 微厚底拼接設計感涼鞋 評分 0 滿分 5 NT$ 690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 加入購物車 Hat 渡假感氛圍巴拿馬帽 評分 0 滿分 5 NT$ 490 加入購物車 選擇規格 Men 百搭小白鞋 評分 0 滿分 5 NT$ 329 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 belt 百搭細腰帶 評分 0 滿分 5 NT$ 260 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Shoes 真皮尖頭法式淺口鞋 評分 0 滿分 5 NT$ 950 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Bag 通勤高雅可單肩背托特包 評分 0 滿分 5 NT$ 1,890 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 face 韓系暖絨大披肩式圍巾 評分 0 滿分 5 NT$ 390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Hat 韓系有型鴨舌帽 評分 0 滿分 5 NT$ 390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 加入購物車 face 韓系素顏凹造型墨鏡 評分 0 滿分 5 NT$ 420 加入購物車 選擇規格 Accessories 顯色平底尖款拖鞋 評分 0 滿分 5 NT$ 550 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Bag 風琴褶小斜背包 評分 0 滿分 5 NT$ 290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 加入購物車 Bag 黑色雙肩後背包 評分 0 滿分 5 NT$ 1,190 加入購物車 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Shoes 微厚底拼接設計感涼鞋評分 0 滿分 5 NT$690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 加入購物車 Hat 渡假感氛圍巴拿馬帽評分 0 滿分 5 NT$490 加入購物車 • 選擇規格 Men 百搭小白鞋評分 0 滿分 5 NT$329 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 belt 百搭細腰帶評分 0 滿分 5 NT$260 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Shoes 真皮尖頭法式淺口鞋評分 0 滿分 5 NT$950 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Bag 通勤高雅可單肩背托特包評分 0 滿分 5 NT$1,890 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 face 韓系暖絨大披肩式圍巾評分 0 滿分 5 NT$390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Hat 韓系有型鴨舌帽評分 0 滿分 5 NT$390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 加入購物車 face 韓系素顏凹造型墨鏡評分 0 滿分 5 NT$420 加入購物車 • 選擇規格 Accessories 顯色平底尖款拖鞋評分 0 滿分 5 NT$550 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Bag 風琴褶小斜背包評分 0 滿分 5 NT$290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 加入購物車 Bag 黑色雙肩後背包評分 0 滿分 5 NT$1,190 加入購物車 2025-10-17 06:40:35 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 14/22 個網址 2025-10-17 06:40:35 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/my-account/ 2025-10-17 06:40:35 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/my-account/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/my-account/ 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/my-account/ 的第 1/3 次請求 2025-10-17 06:40:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20d365110>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c3671dcda059ecb879c7d432228af27 2025-10-17 06:40:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20df73310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c3671dcda059ecb879c7d432228af27 2025-10-17 06:40:35 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7de20cda1bd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4c3671dcda059ecb879c7d432228af27 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_d0440141_ek45t86r 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:40:35 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409825642192 (1/3) 2025-10-17 06:40:35 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/my-account/ 2025-10-17 06:40:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:40:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:40:36 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/my-account/ 2025-10-17 06:40:36 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:40:36 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:40:36 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:40:36 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/my-account/ 2025-10-17 06:40:38 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:40:38 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:40:38 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:40:38 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:40:38 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:40:40 - 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-17 06:40:40 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.461秒 2025-10-17 06:40:40 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 6.516秒 2025-10-17 06:40:40 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:40 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/ 2025-10-17 06:40:40 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 6/20: https://feibi-coffee.com/product/19 2025-10-17 06:40:40 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 359 字符 2025-10-17 06:40:40 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:42 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 94 2025-10-17 06:40:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 14/22 2025-10-17 06:40:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:40:44 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 94,內容可能已加載完成 2025-10-17 06:40:44 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:40: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-17 06:40:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.903秒 2025-10-17 06:40:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.956秒 2025-10-17 06:40:48 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:48 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/19 2025-10-17 06:40:48 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 7/20: https://feibi-coffee.com/products 2025-10-17 06:40:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 688 字符 2025-10-17 06:40:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:40:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:40:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:40:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:40:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 14/22 2025-10-17 06:40:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:40:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:40:56 - 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-17 06:40:56 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.414秒 2025-10-17 06:40:56 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.471秒 2025-10-17 06:40:56 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:40:56 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/products 2025-10-17 06:40:56 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 8/20: https://feibi-coffee.com/product/9 2025-10-17 06:40:56 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 405 字符 2025-10-17 06:40:56 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:41:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:41:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 14/22 2025-10-17 06:41:06 - 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-17 06:41:06 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.695秒 2025-10-17 06:41:06 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.751秒 2025-10-17 06:41:06 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:41:06 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/9 2025-10-17 06:41:06 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 9/20: https://feibi-coffee.com/product/20 2025-10-17 06:41:06 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 370 字符 2025-10-17 06:41:06 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/my-account/ (實際 URL: https://chutaiselect.com/my-account/) 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 217489 字節 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 119 字節 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 90 字節 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 90 字節,約 14 個詞,13 行 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu 我的帳號 登入 註冊 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:41:14 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 15/22 個網址 2025-10-17 06:41:14 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:41:14 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/accessories/bag/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/accessories/bag/ 的第 1/3 次請求 2025-10-17 06:41: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 0x7de20f7e9190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f4a598d3eb4997e4133882104bcae86f 2025-10-17 06:41: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 0x7de20f7ea450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f4a598d3eb4997e4133882104bcae86f 2025-10-17 06:41: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 0x7de20f7e9f90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f4a598d3eb4997e4133882104bcae86f 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_a8d71eb4_0qp4e46k 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:41:14 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:41:15 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:41:15 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409825998352 (1/3) 2025-10-17 06:41:15 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:41:15 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:41:16 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:41:16 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:41:16 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:41:16 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:41:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:41:16 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 15/22 2025-10-17 06:41:16 - 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-17 06:41:16 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.098秒 2025-10-17 06:41:16 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.155秒 2025-10-17 06:41:16 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:41:16 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/20 2025-10-17 06:41:16 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 10/20: https://feibi-coffee.com/product/18 2025-10-17 06:41:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 365 字符 2025-10-17 06:41:16 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:41:18 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:41:18 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:41:18 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:41:18 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:41:18 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:41:22 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 113 2025-10-17 06:41:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:41:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:41:24 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 113,內容可能已加載完成 2025-10-17 06:41:24 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:41:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:41:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:41:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:41:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:41: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-17 06:41:27 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.435秒 2025-10-17 06:41:27 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.487秒 2025-10-17 06:41:27 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:41:27 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/18 2025-10-17 06:41:27 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 11/20: https://feibi-coffee.com/product/17 2025-10-17 06:41:27 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 336 字符 2025-10-17 06:41:27 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:41:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 15/22 2025-10-17 06:41:27 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:41:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:41:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:41:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:41:38 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 15/22 2025-10-17 06:41:39 - 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-17 06:41:39 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 12.414秒 2025-10-17 06:41:39 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 12.501秒 2025-10-17 06:41:39 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:41:39 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/17 2025-10-17 06:41:39 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 12/20: https://feibi-coffee.com/LoginPage 2025-10-17 06:41:39 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 227 字符 2025-10-17 06:41:39 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:41:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:41:49 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 15/22 2025-10-17 06:41:50 - 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-17 06:41:50 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.159秒 2025-10-17 06:41:50 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 11.211秒 2025-10-17 06:41:50 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:41:50 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/LoginPage 2025-10-17 06:41:50 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 13/20: https://feibi-coffee.com/promotions/free-shipping 2025-10-17 06:41:50 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 434 字符 2025-10-17 06:41:51 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/accessories/bag/ (實際 URL: https://chutaiselect.com/product-category/accessories/bag/) 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 217803 字節 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 711 字節 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 266 字節 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 253 字節 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 222 字節 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 500 字節,約 81 個詞,66 行 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Bag 顯示所有 3 筆結果 選擇規格 Bag 通勤高雅可單肩背托特包 評分 0 滿分 5 NT$ 1,890 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Bag 風琴褶小斜背包 評分 0 滿分 5 NT$ 290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 加入購物車 Bag 黑色雙肩後背包 評分 0 滿分 5 NT$ 1,190 加入購物車 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Bag 通勤高雅可單肩背托特包評分 0 滿分 5 NT$1,890 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Bag 風琴褶小斜背包評分 0 滿分 5 NT$290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 加入購物車 Bag 黑色雙肩後背包評分 0 滿分 5 NT$1,190 加入購物車 2025-10-17 06:41:54 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 16/22 個網址 2025-10-17 06:41:54 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:41:54 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/accessories/face/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/accessories/face/ 的第 1/3 次請求 2025-10-17 06:41: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 0x7de20c816050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/33a8bf04c0d5096d71260276a1525ec8 2025-10-17 06:41: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 0x7de20d4799d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/33a8bf04c0d5096d71260276a1525ec8 2025-10-17 06:41: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 0x7de20d47b910>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/33a8bf04c0d5096d71260276a1525ec8 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_86fa5e3d_3vdjbiyj 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:41:54 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:41:55 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409876038928 (1/3) 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:41:55 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:41:57 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:41:57 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:41:57 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:41:57 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:41:57 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:42: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-17 06:42:00 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.194秒 2025-10-17 06:42:00 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.246秒 2025-10-17 06:42:00 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:00 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/promotions/free-shipping 2025-10-17 06:42:00 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 14/20: https://feibi-coffee.com/SpecialtyCoffeePage 2025-10-17 06:42:00 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1199 字符 2025-10-17 06:42:00 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 16/22 2025-10-17 06:42:00 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:42:01 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 104 2025-10-17 06:42:03 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 104,內容可能已加載完成 2025-10-17 06:42:03 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:42:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:42:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:42:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:42:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:42:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:42:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:42: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-17 06:42:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.359秒 2025-10-17 06:42:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.410秒 2025-10-17 06:42:09 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:09 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/SpecialtyCoffeePage 2025-10-17 06:42:09 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 15/20: https://feibi-coffee.com/product/13 2025-10-17 06:42:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 447 字符 2025-10-17 06:42:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:42:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:42:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:42:11 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 16/22 2025-10-17 06:42:16 - 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-17 06:42:16 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.781秒 2025-10-17 06:42:16 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 6.837秒 2025-10-17 06:42:16 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:16 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/13 2025-10-17 06:42:16 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 16/20: https://feibi-coffee.com/product/7 2025-10-17 06:42:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 559 字符 2025-10-17 06:42:16 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:42:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:42:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:42: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-17 06:42:22 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.887秒 2025-10-17 06:42:22 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 5.949秒 2025-10-17 06:42:22 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:22 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/7 2025-10-17 06:42:22 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 17/20: https://feibi-coffee.com/product/10 2025-10-17 06:42:22 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 370 字符 2025-10-17 06:42:22 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:42:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 16/22 2025-10-17 06:42:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:42:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:42:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:42:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:42:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:42:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:42:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:42: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-17 06:42:29 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.124秒 2025-10-17 06:42:29 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.178秒 2025-10-17 06:42:29 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:29 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/product/10 2025-10-17 06:42:29 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 18/20: https://feibi-coffee.com/products/category/6 2025-10-17 06:42:29 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 331 字符 2025-10-17 06:42:29 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:42:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 16/22 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/accessories/face/ (實際 URL: https://chutaiselect.com/product-category/accessories/face/) 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 213347 字節 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 651 字節 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 205 字節 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 142 字節 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 359 字節,約 58 個詞,48 行 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu face 顯示所有 2 筆結果 選擇規格 face 韓系暖絨大披肩式圍巾 評分 0 滿分 5 NT$ 390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 加入購物車 face 韓系素顏凹造型墨鏡 評分 0 滿分 5 NT$ 420 加入購物車 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 face 韓系暖絨大披肩式圍巾評分 0 滿分 5 NT$390 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 加入購物車 face 韓系素顏凹造型墨鏡評分 0 滿分 5 NT$420 加入購物車 2025-10-17 06:42:34 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 17/22 個網址 2025-10-17 06:42:34 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:42:34 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/apparel/skirt/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/apparel/skirt/ 的第 1/3 次請求 2025-10-17 06:42: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 0x7de20c9f4b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3adb772a9ea2d25481b71a9c98bb999 2025-10-17 06:42: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 0x7de20df7cf50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3adb772a9ea2d25481b71a9c98bb999 2025-10-17 06:42: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 0x7de20df7dc50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/c3adb772a9ea2d25481b71a9c98bb999 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_eb84840b_11rqhqli 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:42:34 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409844455888 (1/3) 2025-10-17 06:42:34 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:42:35 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:42:35 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:42:35 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:42:35 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:42:35 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:42:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:42:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:42:37 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:42:37 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:42:37 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:42:37 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:42:37 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:42:40 - 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-17 06:42:40 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 10.521秒 2025-10-17 06:42:40 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 10.578秒 2025-10-17 06:42:40 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:40 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/products/category/6 2025-10-17 06:42:40 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 19/20: https://feibi-coffee.com/products/category/8 2025-10-17 06:42:40 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 257 字符 2025-10-17 06:42:40 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 119 2025-10-17 06:42:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 119,內容可能已加載完成 2025-10-17 06:42:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:42:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 17/22 2025-10-17 06:42:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:42:52 - 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-17 06:42:52 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.913秒 2025-10-17 06:42:52 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 11.964秒 2025-10-17 06:42:52 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:42:52 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/products/category/8 2025-10-17 06:42:52 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 20/20: https://feibi-coffee.com/products/category/7 2025-10-17 06:42:52 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 295 字符 2025-10-17 06:42:52 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:42:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:42:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 17/22 2025-10-17 06:43:01 - 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-17 06:43:01 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.294秒 2025-10-17 06:43:01 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 45 字符, 總耗時: 9.347秒 2025-10-17 06:43:01 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論: 審核通過... 2025-10-17 06:43:01 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://feibi-coffee.com/products/category/7 2025-10-17 06:43:01 - INFO - main - [url_processor.py:395] - process_url - 開始判斷主頁面購物車功能 2025-10-17 06:43:01 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:01 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 402 字符 2025-10-17 06:43:01 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06: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-17 06:43:05 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.010秒 2025-10-17 06:43:05 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.068秒 2025-10-17 06:43:05 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:05 - INFO - main - [url_processor.py:398] - process_url - 主頁面購物車判斷: 無購物車功能 2025-10-17 06:43:05 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 1/20 購物車功能 2025-10-17 06:43:05 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:05 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 190 字符 2025-10-17 06:43:05 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:43:06 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 17/22 2025-10-17 06: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-17 06:43:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.547秒 2025-10-17 06:43:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.602秒 2025-10-17 06:43:09 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:09 - INFO - main - [url_processor.py:409] - process_url - 子頁面 1 購物車判斷: 無購物車功能 2025-10-17 06:43:09 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 2/20 購物車功能 2025-10-17 06:43:09 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 741 字符 2025-10-17 06:43:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06: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-17 06:43:13 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.463秒 2025-10-17 06:43:13 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.517秒 2025-10-17 06:43:13 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:13 - INFO - main - [url_processor.py:409] - process_url - 子頁面 2 購物車判斷: 無購物車功能 2025-10-17 06:43:13 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 3/20 購物車功能 2025-10-17 06:43:13 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 265 字符 2025-10-17 06:43:13 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/apparel/skirt/ (實際 URL: https://chutaiselect.com/product-category/apparel/skirt/) 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 217785 字節 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 774 字節 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 331 字節 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 316 字節 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 286 字節 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 629 字節,約 92 個詞,73 行 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Skirt 顯示所有 3 筆結果 特價 選擇規格 Skirt 每人都要有一件的米白牛仔裙 評分 0 滿分 5 NT$ 490 原始價格:NT$490。 NT$ 420 目前價格:NT$420。 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Skirt 金秘書韓版窄裙 評分 0 滿分 5 NT$ 840 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Skirt 韓系優雅褶紋紗裙 評分 0 滿分 5 NT$ 1,690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 特價 選擇規格 Skirt 每人都要有一件的米白牛仔裙評分 0 滿分 5 NT$490 原始價格:NT$490。NT$420目前價格:NT$420。 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Skirt 金秘書韓版窄裙評分 0 滿分 5 NT$840 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Skirt 韓系優雅褶紋紗裙評分 0 滿分 5 NT$1,690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-17 06:43:14 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 18/22 個網址 2025-10-17 06:43:14 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:43:14 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/accessories/belt/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/accessories/belt/ 的第 1/3 次請求 2025-10-17 06:43: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 0x7de20d8ecc90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fd500e33e881db531642aa60f9fa51f2 2025-10-17 06:43: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 0x7de20df96310>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fd500e33e881db531642aa60f9fa51f2 2025-10-17 06:43: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 0x7de20df97dd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/fd500e33e881db531642aa60f9fa51f2 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_d4331bde_7mx95pme 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:43:14 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409849025616 (1/3) 2025-10-17 06:43:14 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:43:15 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:43:15 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:43:15 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:43:15 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:43:15 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:43: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-17 06:43:15 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.905秒 2025-10-17 06:43:15 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 1.958秒 2025-10-17 06:43:15 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:15 - INFO - main - [url_processor.py:409] - process_url - 子頁面 3 購物車判斷: 無購物車功能 2025-10-17 06:43:15 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 4/20 購物車功能 2025-10-17 06:43:15 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:15 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 162 字符 2025-10-17 06:43:15 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:17 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:43:17 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:43:17 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:43:17 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:43:17 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:43:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:43:17 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 18/22 2025-10-17 06:43:18 - 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-17 06:43:18 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.537秒 2025-10-17 06:43:18 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.590秒 2025-10-17 06:43:18 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:18 - INFO - main - [url_processor.py:409] - process_url - 子頁面 4 購物車判斷: 無購物車功能 2025-10-17 06:43:18 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 5/20 購物車功能 2025-10-17 06:43:18 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:18 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 402 字符 2025-10-17 06:43:18 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:21 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 96 2025-10-17 06:43: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-17 06:43:22 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.882秒 2025-10-17 06:43:22 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.933秒 2025-10-17 06:43:22 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:22 - INFO - main - [url_processor.py:409] - process_url - 子頁面 5 購物車判斷: 無購物車功能 2025-10-17 06:43:22 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 6/20 購物車功能 2025-10-17 06:43:22 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:22 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 359 字符 2025-10-17 06:43:22 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:43:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:43:23 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 96,內容可能已加載完成 2025-10-17 06:43:23 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:43:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:43:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:43:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:43:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06: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-17 06:43:27 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.363秒 2025-10-17 06:43:27 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.416秒 2025-10-17 06:43:27 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:43:27 - INFO - main - [url_processor.py:409] - process_url - 子頁面 6 購物車判斷: 有購物車功能 2025-10-17 06:43:27 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 7/20 購物車功能 2025-10-17 06:43:27 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:27 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 688 字符 2025-10-17 06:43:27 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 18/22 2025-10-17 06:43:28 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:43:33 - 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-17 06:43:33 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.580秒 2025-10-17 06:43:33 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.635秒 2025-10-17 06:43:33 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:33 - INFO - main - [url_processor.py:409] - process_url - 子頁面 7 購物車判斷: 無購物車功能 2025-10-17 06:43:33 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 8/20 購物車功能 2025-10-17 06:43:33 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:33 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 405 字符 2025-10-17 06:43:33 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06: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-17 06:43:36 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.879秒 2025-10-17 06:43:36 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.933秒 2025-10-17 06:43:36 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:43:36 - INFO - main - [url_processor.py:409] - process_url - 子頁面 8 購物車判斷: 有購物車功能 2025-10-17 06:43:36 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 9/20 購物車功能 2025-10-17 06:43:36 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:36 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 370 字符 2025-10-17 06:43:36 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:43:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:43:39 - 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-17 06:43:39 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.885秒 2025-10-17 06:43:39 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.979秒 2025-10-17 06:43:39 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:43:39 - INFO - main - [url_processor.py:409] - process_url - 子頁面 9 購物車判斷: 有購物車功能 2025-10-17 06:43:39 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 10/20 購物車功能 2025-10-17 06:43:39 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:39 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 365 字符 2025-10-17 06:43:39 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:43:39 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 18/22 2025-10-17 06:43:42 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-17 06:43:42 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.624秒 2025-10-17 06:43:42 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.678秒 2025-10-17 06:43:42 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:43:42 - INFO - main - [url_processor.py:409] - process_url - 子頁面 10 購物車判斷: 有購物車功能 2025-10-17 06:43:42 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 11/20 購物車功能 2025-10-17 06:43:42 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:42 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 336 字符 2025-10-17 06:43:42 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43: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-17 06:43:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.917秒 2025-10-17 06:43:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.971秒 2025-10-17 06:43:45 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:43:45 - INFO - main - [url_processor.py:409] - process_url - 子頁面 11 購物車判斷: 有購物車功能 2025-10-17 06:43:45 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 12/20 購物車功能 2025-10-17 06:43:45 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 227 字符 2025-10-17 06:43:45 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:43:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:43: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-17 06:43:49 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.955秒 2025-10-17 06:43:49 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.013秒 2025-10-17 06:43:49 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:43:49 - INFO - main - [url_processor.py:409] - process_url - 子頁面 12 購物車判斷: 無購物車功能 2025-10-17 06:43:49 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 13/20 購物車功能 2025-10-17 06:43:49 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:49 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 434 字符 2025-10-17 06:43:49 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:43:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:43:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 18/22 2025-10-17 06:43:50 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:43:53 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/accessories/belt/ (實際 URL: https://chutaiselect.com/product-category/accessories/belt/) 2025-10-17 06:43:53 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:43:53 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:43:53 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:43:53 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 208886 字節 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 597 字節 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 151 字節 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 151 字節,約 25 個詞,22 行 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu belt 顯示單一結果 選擇規格 belt 百搭細腰帶 評分 0 滿分 5 NT$ 260 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 2025-10-17 06:43:54 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 19/22 個網址 2025-10-17 06:43:54 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:43:54 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/apparel/dress/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/apparel/dress/ 的第 1/3 次請求 2025-10-17 06:43: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 0x7de20d7b7090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/875797c1418f5e7c8b379251155b72e4 2025-10-17 06:43: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 0x7de20d7b4490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/875797c1418f5e7c8b379251155b72e4 2025-10-17 06:43: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 0x7de20d7b7cd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/875797c1418f5e7c8b379251155b72e4 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_48c9afb7_ec6ab3cs 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:43:54 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409842266192 (1/3) 2025-10-17 06:43:54 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:43:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:43:55 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:43:55 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:43:55 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:43:55 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:43:55 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:43:57 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:43:57 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:43:57 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:43:57 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:43:57 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:43: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-17 06:43:59 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.632秒 2025-10-17 06:43:59 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 9.687秒 2025-10-17 06:43:59 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:43:59 - INFO - main - [url_processor.py:409] - process_url - 子頁面 13 購物車判斷: 有購物車功能 2025-10-17 06:43:59 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 14/20 購物車功能 2025-10-17 06:43:59 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:43:59 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1199 字符 2025-10-17 06:43:59 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:44:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:44:01 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 118 2025-10-17 06:44:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:44:01 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 19/22 2025-10-17 06:44:03 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 118,內容可能已加載完成 2025-10-17 06:44:03 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:44:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:44:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:44:04 - 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-17 06:44:04 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.025秒 2025-10-17 06:44:04 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.080秒 2025-10-17 06:44:04 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:44:04 - INFO - main - [url_processor.py:409] - process_url - 子頁面 14 購物車判斷: 無購物車功能 2025-10-17 06:44:04 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 15/20 購物車功能 2025-10-17 06:44:04 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:44:04 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 447 字符 2025-10-17 06:44:04 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:44:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:44:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:44:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:44:07 - 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-17 06:44:07 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.244秒 2025-10-17 06:44:07 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.304秒 2025-10-17 06:44:07 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:44:07 - INFO - main - [url_processor.py:409] - process_url - 子頁面 15 購物車判斷: 有購物車功能 2025-10-17 06:44:07 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 16/20 購物車功能 2025-10-17 06:44:07 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:44:07 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 559 字符 2025-10-17 06:44:07 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 19/22 2025-10-17 06:44:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:44: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-17 06:44:12 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.072秒 2025-10-17 06:44:12 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.128秒 2025-10-17 06:44:12 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:44:12 - INFO - main - [url_processor.py:409] - process_url - 子頁面 16 購物車判斷: 有購物車功能 2025-10-17 06:44:12 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 17/20 購物車功能 2025-10-17 06:44:12 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:44:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 370 字符 2025-10-17 06:44:13 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44:16 - 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-17 06:44:16 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.010秒 2025-10-17 06:44:16 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.064秒 2025-10-17 06:44:16 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:44:16 - INFO - main - [url_processor.py:409] - process_url - 子頁面 17 購物車判斷: 有購物車功能 2025-10-17 06:44:16 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 18/20 購物車功能 2025-10-17 06:44:16 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:44:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 331 字符 2025-10-17 06:44:16 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44: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-17 06:44:19 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.062秒 2025-10-17 06:44:19 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.118秒 2025-10-17 06:44:19 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:44:19 - INFO - main - [url_processor.py:409] - process_url - 子頁面 18 購物車判斷: 無購物車功能 2025-10-17 06:44:19 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 19/20 購物車功能 2025-10-17 06:44:19 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:44:19 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 257 字符 2025-10-17 06:44:19 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44: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-17 06:44:22 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.383秒 2025-10-17 06:44:22 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.437秒 2025-10-17 06:44:22 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:44:22 - INFO - main - [url_processor.py:409] - process_url - 子頁面 19 購物車判斷: 無購物車功能 2025-10-17 06:44:22 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 20/20 購物車功能 2025-10-17 06:44:22 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:44:22 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 295 字符 2025-10-17 06:44:22 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:44:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:44:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:44:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:44:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 19/22 2025-10-17 06:44:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:44:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:44: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-17 06:44:27 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.501秒 2025-10-17 06:44:27 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 4.556秒 2025-10-17 06:44:27 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:44:27 - INFO - main - [url_processor.py:409] - process_url - 子頁面 20 購物車判斷: 無購物車功能 2025-10-17 06:44:27 - INFO - main - [url_processor.py:421] - process_url - 最終購物車判斷結果: 有購物車功能 (檢查了 21 個頁面) 2025-10-17 06:44:27 - INFO - main - [url_processor.py:442] - process_url - 審核通過:21 個頁面通過,0 個頁面被模型拒審(已忽略) 2025-10-17 06:44:27 - INFO - main - [url_processor.py:460] - process_url - 檢測聯絡資訊(URL ID=128):開始在主頁面搜索 2025-10-17 06:44:27 - INFO - main - [helpers.py:186] - _find_phone_in_content - 找到電話號碼 0967226595 (完全匹配) 2025-10-17 06:44:27 - INFO - main - [url_processor.py:464] - process_url - 檢測聯絡資訊(URL ID=128):在主頁面找到電話 2025-10-17 06:44:27 - INFO - main - [url_processor.py:573] - process_url - URL ID 128 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證 2025-10-17 06:44:27 - INFO - main - [url_processor.py:581] - process_url - UI審核(URL ID=128):開始在主頁面搜索聯絡資訊 2025-10-17 06:44:27 - INFO - main - [helpers.py:186] - _find_phone_in_content - 找到電話號碼 0967226595 (完全匹配) 2025-10-17 06:44:27 - INFO - main - [url_processor.py:586] - process_url - UI審核(URL ID=128):在主頁面找到電話 2025-10-17 06:44:27 - INFO - main - [url_processor.py:631] - process_url - UI審核(URL ID=128):身份驗證通過(找到頁面: https://feibi-coffee.com/) 2025-10-17 06:44:27 - INFO - database - [database.py:505] - update_url_status - URL ID 128 状态已更新为 completed 2025-10-17 06:44:27 - INFO - main - [url_processor.py:733] - process_url - URL ID 128 分析完成,結果: pass, API驗證: False 2025-10-17 06:44:27 - INFO - main - [url_processor.py:758] - process_url - 工作線程 #3 完成處理 URL ID: 128 2025-10-17 06:44:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:44:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/apparel/dress/ (實際 URL: https://chutaiselect.com/product-category/apparel/dress/) 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 217494 字節 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 781 字節 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 338 字節 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 323 字節 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 293 字節 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 643 字節,約 95 個詞,72 行 2025-10-17 06:44:33 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Dress 顯示所有 3 筆結果 選擇規格 Dress 休閒感慵懶二件式短褲衛衣 評分 0 滿分 5 NT$ 1,690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Dress 適合正式場合的連身洋裝 評分 0 滿分 5 NT$ 890 – NT$ 1,290 價格範圍:NT$890 到 NT$1,290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Dress 韓系婚禮簡約魚尾連身洋裝 評分 0 滿分 5 NT$ 1,980 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Dress 休閒感慵懶二件式短褲衛衣評分 0 滿分 5 NT$1,690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Dress 適合正式場合的連身洋裝評分 0 滿分 5 NT$890 – NT$1,290價格範圍:NT$890 到 NT$1,290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Dress 韓系婚禮簡約魚尾連身洋裝評分 0 滿分 5 NT$1,980 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-17 06:44:34 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 20/22 個網址 2025-10-17 06:44:34 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:44:34 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/apparel/pants/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/apparel/pants/ 的第 1/3 次請求 2025-10-17 06:44: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 0x7de20f56afd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/18b4fffd6fe65cff6a88b5b411e98699 2025-10-17 06:44: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 0x7de20df94b50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/18b4fffd6fe65cff6a88b5b411e98699 2025-10-17 06:44: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 0x7de20df95a90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/18b4fffd6fe65cff6a88b5b411e98699 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_5b0ac327_7zbb4k7r 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:44:34 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409836717520 (1/3) 2025-10-17 06:44:34 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:44:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 128, UID: 1bghsuxp2a, 進度: 21/21 2025-10-17 06:44:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 20/22 2025-10-17 06:44:35 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:44:35 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:44:35 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:44:35 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:44:35 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:44:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:44:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:44:37 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:44:37 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:44:37 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:44:37 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:44:37 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:44:41 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 114 2025-10-17 06:44:43 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 114,內容可能已加載完成 2025-10-17 06:44:43 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:44:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 20/22 2025-10-17 06:44:56 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 20/22 2025-10-17 06:45:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:45:07 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 20/22 2025-10-17 06:45:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:45:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:45:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:45:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:45:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:45:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:45:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/apparel/pants/ (實際 URL: https://chutaiselect.com/product-category/apparel/pants/) 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 217682 字節 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 728 字節 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 285 字節 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 270 字節 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 242 字節 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 539 字節,約 85 個詞,68 行 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Pants 顯示所有 3 筆結果 選擇規格 Pants 巴黎高雅灰西裝褲 評分 0 滿分 5 NT$ 1,290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Pants 法棍九分褲 評分 0 滿分 5 NT$ 790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Pants 韓版西裝短褲 評分 0 滿分 5 NT$ 990 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Pants 巴黎高雅灰西裝褲評分 0 滿分 5 NT$1,290 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Pants 法棍九分褲評分 0 滿分 5 NT$790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Pants 韓版西裝短褲評分 0 滿分 5 NT$990 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 2025-10-17 06:45:13 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 21/22 個網址 2025-10-17 06:45:13 - INFO - main - [url_processor.py:209] - process_url - 處理子頁面: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:45:13 - INFO - main - [url_processor.py:217] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False) 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1234] - get_content - 正在獲取網頁內容: https://chutaiselect.com/product-category/apparel/coat/, use_selenium=True, proxy=False, force_new_driver=False 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1264] - get_content - 檢測到短網址: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1274] - get_content - 設置頁面加載超時:120 秒(基於網站配置) 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1292] - get_content - 嘗試獲取 https://chutaiselect.com/product-category/apparel/coat/ 的第 1/3 次請求 2025-10-17 06:45:13 - 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 0x7de20d91a990>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/815344f9888a4d92b5817ea445d03ff3 2025-10-17 06:45:13 - 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 0x7de20d933110>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/815344f9888a4d92b5817ea445d03ff3 2025-10-17 06:45:13 - 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 0x7de20d3ae050>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/815344f9888a4d92b5817ea445d03ff3 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1022] - _create_driver_internal - 創建臨時 Chrome user-data-dir: /tmp/chrome_profile_79fe448e_z_9gvoif 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1077] - _create_driver_internal - 正在創建 WebDriver 實例... 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1081] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:956] - smart_find_chrome_paths - 找到 ChromeDriver: /usr/local/bin/chromedriver 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:992] - smart_find_chrome_paths - 找到 Chrome 二進制文件: /usr/bin/google-chrome 2025-10-17 06:45:13 - INFO - WebScraper - [scraper.py:1011] - smart_find_chrome_paths - 智能路徑搜尋成功 - ChromeDriver: /usr/local/bin/chromedriver, Chrome: /usr/bin/google-chrome 2025-10-17 06:45:14 - INFO - WebScraper - [scraper.py:1101] - _create_driver_internal - 使用智能路徑搜索成功創建 WebDriver 2025-10-17 06:45:14 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:321] - get_or_create_instance - 立即創建新WebDriver實例 138409850422672 (1/3) 2025-10-17 06:45:14 - INFO - WebScraper - [scraper.py:1338] - get_content - 使用 Selenium 訪問 URL: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:45:15 - INFO - WebScraper - [scraper.py:1397] - get_content - 等待頁面基本加載完成: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:45:15 - INFO - WebScraper - [scraper.py:1404] - get_content - 頁面body元素已加載 2025-10-17 06:45:15 - INFO - WebScraper - [scraper.py:1417] - get_content - 頁面加載狀態: complete 2025-10-17 06:45:15 - INFO - WebScraper - [scraper.py:1434] - get_content - 找到主要內容元素: main 2025-10-17 06:45:15 - INFO - WebScraper - [scraper.py:1445] - get_content - 頁面基本加載完成: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:45:17 - INFO - WebScraper - [scraper.py:1849] - _detect_page_type - 檢測到的框架: jquery 2025-10-17 06:45:17 - INFO - WebScraper - [scraper.py:1455] - get_content - 檢測到頁面類型: ajax 2025-10-17 06:45:17 - INFO - WebScraper - [scraper.py:1463] - get_content - 檢測到AJAX內容,等待AJAX請求完成 2025-10-17 06:45:17 - INFO - WebScraper - [scraper.py:2016] - _wait_for_ajax_completion - jQuery AJAX 請求已完成 2025-10-17 06:45:17 - INFO - WebScraper - [scraper.py:2027] - _wait_for_ajax_completion - XHR 請求已完成 2025-10-17 06:45:18 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 21/22 2025-10-17 06:45:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:45:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:45:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:45:21 - INFO - WebScraper - [scraper.py:1477] - get_content - 初始可見元素數量: 201 2025-10-17 06:45:23 - INFO - WebScraper - [scraper.py:1487] - get_content - 元素數量穩定: 201,內容可能已加載完成 2025-10-17 06:45:23 - INFO - WebScraper - [scraper.py:1494] - get_content - 等待可能的動態內容... 2025-10-17 06:45:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:45:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:45:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:45:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:45:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:45:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:45:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:45:29 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 21/22 2025-10-17 06:45:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:45:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:45:40 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 21/22 2025-10-17 06:45:51 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 21/22 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:1560] - get_content - 成功獲取 URL 內容: https://chutaiselect.com/product-category/apparel/coat/ (實際 URL: https://chutaiselect.com/product-category/apparel/coat/) 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:1758] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:166] - driver - 在設置新WebDriver前關閉舊實例 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:324] - close_driver - 線程 138409897172384: 關閉 WebDriver 實例 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:352] - close_driver - WebDriver 已成功關閉 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:396] - close_driver - 已執行 Python 垃圾回收 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:1765] - get_content - WebDriver 實例已成功返回到池中 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2170] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 260009 字節 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2182] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 1337 字節 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2207] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 889 字節 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2256] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 879 字節 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2353] - extract_text_from_html - 成功提取結構化數據,長度: 1003 字節 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2380] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2396] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息) 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2416] - extract_text_from_html - 已成功提取文本,總長度: 1904 字節,約 309 個詞,235 行 2025-10-17 06:45:53 - INFO - WebScraper - [scraper.py:2417] - extract_text_from_html - 提取的最終文本內容: 跳至主要內容 C.T.Select 搜尋 C.T.Select Main Menu Coat 顯示第 1 至 12 項結果,共 16 項 選擇規格 Coat Sleep & Smile 短T 評分 0 滿分 5 NT$ 520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 分手的決心開襟衫 評分 0 滿分 5 NT$ 640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 早秋兩件式灰白針織上衣 評分 0 滿分 5 NT$ 590 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 暖紫系小姊姊上衣 評分 0 滿分 5 NT$ 490 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 棉麻休閒上衣 評分 0 滿分 5 NT$ 520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 水洗感薄棉休閒牛仔襯衫 評分 0 滿分 5 NT$ 790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 法式海軍風條紋針織上衣 評分 0 滿分 5 NT$ 790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 法式甜蜜粉Je t’aime上衣 評分 0 滿分 5 NT$ 690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 特價 加入購物車 Coat 率性斜肩上衣 評分 0 滿分 5 NT$ 490 原始價格:NT$490。 NT$ 299 目前價格:NT$299。 加入購物車 加入購物車 Coat 立體圓點雪花襯衫上衣 評分 0 滿分 5 NT$ 490 加入購物車 選擇規格 Coat 赫本風優雅一字肩上衣 評分 0 滿分 5 NT$ 490 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 選擇規格 Coat 通勤V領小銀扣雪紡上衣 評分 0 滿分 5 NT$ 590 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 購物車 購物車內沒有任何商品。 購物車內沒有任何商品。 繼續購物 返回頂端 額外的結構化內容: • 選擇規格 Coat Sleep & Smile 短T評分 0 滿分 5 NT$520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 分手的決心開襟衫評分 0 滿分 5 NT$640 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 早秋兩件式灰白針織上衣評分 0 滿分 5 NT$590 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 暖紫系小姊姊上衣評分 0 滿分 5 NT$490 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 棉麻休閒上衣評分 0 滿分 5 NT$520 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 水洗感薄棉休閒牛仔襯衫評分 0 滿分 5 NT$790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 法式海軍風條紋針織上衣評分 0 滿分 5 NT$790 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 法式甜蜜粉Je t’aime上衣評分 0 滿分 5 NT$690 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 特價 加入購物車 Coat 率性斜肩上衣評分 0 滿分 5 NT$490 原始價格:NT$490。NT$299目前價格:NT$299。 加入購物車 • 加入購物車 Coat 立體圓點雪花襯衫上衣評分 0 滿分 5 NT$490 加入購物車 • 選擇規格 Coat 赫本風優雅一字肩上衣評分 0 滿分 5 NT$490 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 選擇規格 Coat 通勤V領小銀扣雪紡上衣評分 0 滿分 5 NT$590 選擇規格 此產品有多種款式。 可在產品頁面選擇選項 • 1 • 2 • → 2025-10-17 06:45:53 - INFO - main - [url_processor.py:272] - process_url - 更新 UI 審核進度(URL ID=131):已完成 22/22 個網址 2025-10-17 06:45:53 - INFO - main - [url_processor.py:285] - process_url - UI審核: 開始審核主頁面: https://chutaiselect.com/ 2025-10-17 06:45:53 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 156 字符 2025-10-17 06:45:53 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:01 - 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-17 06:46:01 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.391秒 2025-10-17 06:46:01 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.443秒 2025-10-17 06:46:01 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:46:01 - INFO - main - [url_processor.py:324] - process_url - UI審核: 主頁面審核通過: https://chutaiselect.com/ 2025-10-17 06:46:01 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 1/21: https://chutaiselect.com/about-us/ 2025-10-17 06:46:01 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 527 字符 2025-10-17 06:46:01 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:46: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-17 06:46:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.513秒 2025-10-17 06:46:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.565秒 2025-10-17 06:46:09 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無歸規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:46:09 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/about-us/ 2025-10-17 06:46:09 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 2/21: https://chutaiselect.com/ 2025-10-17 06:46:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 156 字符 2025-10-17 06:46:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:46: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-17 06:46:17 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.219秒 2025-10-17 06:46:17 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.271秒 2025-10-17 06:46:17 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:46:17 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/ 2025-10-17 06:46:17 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 3/21: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:46:17 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1814 字符 2025-10-17 06:46:17 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:46:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:46:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:46:26 - 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-17 06:46:26 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.439秒 2025-10-17 06:46:26 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 45 字符, 總耗時: 9.490秒 2025-10-17 06:46:26 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論: 審核通過... 2025-10-17 06:46:26 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/shop-2-2/ 2025-10-17 06:46:26 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 4/21: https://chutaiselect.com/cart/ 2025-10-17 06:46:26 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 307 字符 2025-10-17 06:46:26 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:46:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:46:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:46:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:46:33 - 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-17 06:46:33 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.744秒 2025-10-17 06:46:33 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 6.796秒 2025-10-17 06:46:33 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:46:33 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/cart/ 2025-10-17 06:46:33 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 5/21: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:46:33 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 782 字符 2025-10-17 06:46:33 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:46:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:46:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:46:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:46:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:46:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:46:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:46:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:46:56 - 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-17 06:46:56 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 22.737秒 2025-10-17 06:46:56 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 22.789秒 2025-10-17 06:46:56 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:46:56 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/refund_returns-2/ 2025-10-17 06:46:56 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 6/21: https://chutaiselect.com/product-category/men/ 2025-10-17 06:46:56 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 344 字符 2025-10-17 06:46:56 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:46:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:47: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-17 06:47:03 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.975秒 2025-10-17 06:47:03 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.026秒 2025-10-17 06:47:03 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:47:03 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/men/ 2025-10-17 06:47:03 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 7/21: https://chutaiselect.com/product-category/other/ 2025-10-17 06:47:03 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 97 字符 2025-10-17 06:47:03 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:47:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:47:10 - 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-17 06:47:10 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.258秒 2025-10-17 06:47:10 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.309秒 2025-10-17 06:47:10 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:47:10 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/other/ 2025-10-17 06:47:10 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 8/21: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:47:10 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 436 字符 2025-10-17 06:47:10 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:47: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-17 06:47:17 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.953秒 2025-10-17 06:47:17 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.003秒 2025-10-17 06:47:17 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:47:17 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/wp-login.php?redirect_to=https%3A%2F%2Fchutaiselect.com 2025-10-17 06:47:17 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 9/21: https://chutaiselect.com/checkout/ 2025-10-17 06:47:17 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 138 字符 2025-10-17 06:47:17 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:47:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:47:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:47:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:47:25 - 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-17 06:47:25 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.205秒 2025-10-17 06:47:25 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 45 字符, 總耗時: 8.255秒 2025-10-17 06:47:25 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論: 審核通過... 2025-10-17 06:47:25 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/checkout/ 2025-10-17 06:47:25 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 10/21: https://chutaiselect.com/category/blog/ 2025-10-17 06:47:25 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 602 字符 2025-10-17 06:47:25 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:47:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:47:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:47:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:47:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:47:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:47: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-17 06:47:35 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.852秒 2025-10-17 06:47:35 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.904秒 2025-10-17 06:47:35 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:47:35 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/category/blog/ 2025-10-17 06:47:35 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 11/21: https://chutaiselect.com/cart-2-2/ 2025-10-17 06:47:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 71 字符 2025-10-17 06:47:35 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:47:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:47:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:47:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:47:42 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-17 06:47:42 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.596秒 2025-10-17 06:47:42 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 6.647秒 2025-10-17 06:47:42 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:47:42 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/cart-2-2/ 2025-10-17 06:47:42 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 12/21: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:47:42 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 459 字符 2025-10-17 06:47:42 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:47:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:47: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-17 06:47:57 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 15.122秒 2025-10-17 06:47:57 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 15.174秒 2025-10-17 06:47:57 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:47:57 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/%e8%a8%82%e8%b3%bc%e6%b5%81%e7%a8%8b/ 2025-10-17 06:47:57 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 13/21: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:47:57 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1527 字符 2025-10-17 06:47:57 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:48:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:48:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:48:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:48:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:48:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:48:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:48:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:48:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:48:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:48:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:48:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:48:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:48:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:48: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-17 06:48:22 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 25.202秒 2025-10-17 06:48:22 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 259 字符, 總耗時: 25.254秒 2025-10-17 06:48:22 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2: 發現違規內容:「face 韓系素顏凹造型墨鏡 評分 0 滿分 5 NT$ 420 加入購物車」。此內容違反了規則2(條件式允許):「眼鏡/隱形眼鏡」須經醫師驗光處方,並... 2025-10-17 06:48:22 - WARNING - main - [url_processor.py:373] - process_url - UI審核: 子頁面審核不通過: https://chutaiselect.com/product-category/accessories/ 2025-10-17 06:48:22 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 14/21: https://chutaiselect.com/my-account/ 2025-10-17 06:48:22 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 90 字符 2025-10-17 06:48:22 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:48:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:48:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:48:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:48:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:48:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:48:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:48:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:48:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:48: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-17 06:48:30 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.779秒 2025-10-17 06:48:30 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.829秒 2025-10-17 06:48:30 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:48:30 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/my-account/ 2025-10-17 06:48:30 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 15/21: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:48:30 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 448 字符 2025-10-17 06:48:30 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:48:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:48:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:48:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:48:38 - 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-17 06:48:38 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.298秒 2025-10-17 06:48:38 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.348秒 2025-10-17 06:48:38 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:48:38 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/accessories/bag/ 2025-10-17 06:48:38 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 16/21: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:48:38 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 325 字符 2025-10-17 06:48:38 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:48:47 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:48:58 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:49:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:49:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:49:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:49:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:49:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:49:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:49:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:49:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:49:07 - 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-17 06:49:07 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 29.272秒 2025-10-17 06:49:07 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 265 字符, 總耗時: 29.323秒 2025-10-17 06:49:07 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:發現違規內容:「face 韓系素顏凹造型墨鏡 評分 0 滿分 5 NT$ 420 加入購物車」。此內容違反了規則2(條件式允許):眼鏡/隱形眼鏡須經醫師驗光處方,並由藥局或... 2025-10-17 06:49:07 - WARNING - main - [url_processor.py:373] - process_url - UI審核: 子頁面審核不通過: https://chutaiselect.com/product-category/accessories/face/ 2025-10-17 06:49:07 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 17/21: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:49:07 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 573 字符 2025-10-17 06:49:07 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49:09 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:49: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-17 06:49:13 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.129秒 2025-10-17 06:49:13 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 6.180秒 2025-10-17 06:49:13 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:49:13 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/apparel/skirt/ 2025-10-17 06:49:13 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 18/21: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:49:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 151 字符 2025-10-17 06:49:13 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49: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-17 06:49:20 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.491秒 2025-10-17 06:49:20 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 6.542秒 2025-10-17 06:49:20 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:49:20 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/accessories/belt/ 2025-10-17 06:49:20 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 19/21: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:49:20 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 588 字符 2025-10-17 06:49:20 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49:20 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:49:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:49:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-10-17 06:49:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:49:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:49:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:49:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:49: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-17 06:49:28 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.227秒 2025-10-17 06:49:28 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.278秒 2025-10-17 06:49:28 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:49:28 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/apparel/dress/ 2025-10-17 06:49:28 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 20/21: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:49:28 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 484 字符 2025-10-17 06:49:28 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49:31 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:49: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-17 06:49:35 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.553秒 2025-10-17 06:49:35 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 7.604秒 2025-10-17 06:49:35 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:49:35 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/apparel/pants/ 2025-10-17 06:49:35 - INFO - main - [url_processor.py:334] - process_url - UI審核: 開始審核子頁面 21/21: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:49:35 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1691 字符 2025-10-17 06:49:36 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:49:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:49:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:49: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-17 06:49:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 9.832秒 2025-10-17 06:49:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.883秒 2025-10-17 06:49:45 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容 規則2:無違規內容 規則3:無違規內容 網頁內容審查結論:審核通過... 2025-10-17 06:49:45 - INFO - main - [url_processor.py:375] - process_url - UI審核: 子頁面審核通過: https://chutaiselect.com/product-category/apparel/coat/ 2025-10-17 06:49:45 - INFO - main - [url_processor.py:395] - process_url - 開始判斷主頁面購物車功能 2025-10-17 06:49:45 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:49:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 156 字符 2025-10-17 06:49:45 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49: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-17 06:49:48 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.569秒 2025-10-17 06:49:48 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.623秒 2025-10-17 06:49:48 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:49:48 - INFO - main - [url_processor.py:398] - process_url - 主頁面購物車判斷: 有購物車功能 2025-10-17 06:49:48 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 1/21 購物車功能 2025-10-17 06:49:48 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:49:48 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 527 字符 2025-10-17 06:49:48 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 4, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:49:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:49:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:49: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-17 06:49:51 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.501秒 2025-10-17 06:49:51 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.551秒 2025-10-17 06:49:51 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:49:51 - INFO - main - [url_processor.py:409] - process_url - 子頁面 1 購物車判斷: 有購物車功能 2025-10-17 06:49:51 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 2/21 購物車功能 2025-10-17 06:49:51 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:49:51 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 156 字符 2025-10-17 06:49:51 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49: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-17 06:49:53 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.405秒 2025-10-17 06:49:53 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.455秒 2025-10-17 06:49:53 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:49:53 - INFO - main - [url_processor.py:409] - process_url - 子頁面 2 購物車判斷: 有購物車功能 2025-10-17 06:49:53 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 3/21 購物車功能 2025-10-17 06:49:53 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:49:53 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1814 字符 2025-10-17 06:49:53 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:49:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:49:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:49:58 - 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-17 06:49:58 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 5.089秒 2025-10-17 06:49:58 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.139秒 2025-10-17 06:49:58 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:49:58 - INFO - main - [url_processor.py:409] - process_url - 子頁面 3 購物車判斷: 有購物車功能 2025-10-17 06:49:58 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 4/21 購物車功能 2025-10-17 06:49:58 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:49:58 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 307 字符 2025-10-17 06:49:58 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:01 - 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-17 06:50:01 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.968秒 2025-10-17 06:50:01 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.018秒 2025-10-17 06:50:01 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:01 - INFO - main - [url_processor.py:409] - process_url - 子頁面 4 購物車判斷: 有購物車功能 2025-10-17 06:50:01 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 5/21 購物車功能 2025-10-17 06:50:01 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:01 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 782 字符 2025-10-17 06:50:01 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:50: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-17 06:50:05 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.359秒 2025-10-17 06:50:05 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.409秒 2025-10-17 06:50:05 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:50:05 - INFO - main - [url_processor.py:409] - process_url - 子頁面 5 購物車判斷: 無購物車功能 2025-10-17 06:50:05 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 6/21 購物車功能 2025-10-17 06:50:05 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:05 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 344 字符 2025-10-17 06:50:05 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:07 - 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-17 06:50:07 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.681秒 2025-10-17 06:50:07 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.731秒 2025-10-17 06:50:07 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:07 - INFO - main - [url_processor.py:409] - process_url - 子頁面 6 購物車判斷: 有購物車功能 2025-10-17 06:50:07 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 7/21 購物車功能 2025-10-17 06:50:07 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:07 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 97 字符 2025-10-17 06:50:07 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:09 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.822秒 2025-10-17 06:50:09 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 1.873秒 2025-10-17 06:50:09 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:09 - INFO - main - [url_processor.py:409] - process_url - 子頁面 7 購物車判斷: 有購物車功能 2025-10-17 06:50:09 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 8/21 購物車功能 2025-10-17 06:50:09 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:09 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 436 字符 2025-10-17 06:50:09 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:12 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.941秒 2025-10-17 06:50:12 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.992秒 2025-10-17 06:50:12 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能 2025-10-17 06:50:12 - INFO - main - [url_processor.py:409] - process_url - 子頁面 8 購物車判斷: 無購物車功能 2025-10-17 06:50:12 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 9/21 購物車功能 2025-10-17 06:50:12 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:12 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 138 字符 2025-10-17 06:50:12 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:50:16 - 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-17 06:50:16 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.357秒 2025-10-17 06:50:16 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.407秒 2025-10-17 06:50:16 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:16 - INFO - main - [url_processor.py:409] - process_url - 子頁面 9 購物車判斷: 有購物車功能 2025-10-17 06:50:16 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 10/21 購物車功能 2025-10-17 06:50:16 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 602 字符 2025-10-17 06:50:16 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:19 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.624秒 2025-10-17 06:50:19 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.674秒 2025-10-17 06:50:19 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:19 - INFO - main - [url_processor.py:409] - process_url - 子頁面 10 購物車判斷: 有購物車功能 2025-10-17 06:50:19 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 11/21 購物車功能 2025-10-17 06:50:19 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:19 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 71 字符 2025-10-17 06:50:19 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:22 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.226秒 2025-10-17 06:50:22 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.276秒 2025-10-17 06:50:22 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:22 - INFO - main - [url_processor.py:409] - process_url - 子頁面 11 購物車判斷: 有購物車功能 2025-10-17 06:50:22 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 12/21 購物車功能 2025-10-17 06:50:22 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:22 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 459 字符 2025-10-17 06:50:22 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:50:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:50: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-17 06:50:23 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.820秒 2025-10-17 06:50:23 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 1.872秒 2025-10-17 06:50:23 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:23 - INFO - main - [url_processor.py:409] - process_url - 子頁面 12 購物車判斷: 有購物車功能 2025-10-17 06:50:23 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 13/21 購物車功能 2025-10-17 06:50:23 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:23 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1527 字符 2025-10-17 06:50:23 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:50: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-17 06:50:27 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.241秒 2025-10-17 06:50:27 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.291秒 2025-10-17 06:50:27 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:27 - INFO - main - [url_processor.py:409] - process_url - 子頁面 13 購物車判斷: 有購物車功能 2025-10-17 06:50:27 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 14/21 購物車功能 2025-10-17 06:50:27 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:27 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 90 字符 2025-10-17 06:50:27 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:50:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:50:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:50:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:50: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-17 06:50:29 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.386秒 2025-10-17 06:50:29 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.436秒 2025-10-17 06:50:29 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:29 - INFO - main - [url_processor.py:409] - process_url - 子頁面 14 購物車判斷: 有購物車功能 2025-10-17 06:50:29 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 15/21 購物車功能 2025-10-17 06:50:29 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:29 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 448 字符 2025-10-17 06:50:29 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:31 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 1.879秒 2025-10-17 06:50:31 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 1.929秒 2025-10-17 06:50:31 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:31 - INFO - main - [url_processor.py:409] - process_url - 子頁面 15 購物車判斷: 有購物車功能 2025-10-17 06:50:31 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 16/21 購物車功能 2025-10-17 06:50:31 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:31 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 325 字符 2025-10-17 06:50:31 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:33 - 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-17 06:50:33 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.370秒 2025-10-17 06:50:33 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.422秒 2025-10-17 06:50:33 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:33 - INFO - main - [url_processor.py:409] - process_url - 子頁面 16 購物車判斷: 有購物車功能 2025-10-17 06:50:33 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 17/21 購物車功能 2025-10-17 06:50:33 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:33 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 573 字符 2025-10-17 06:50:34 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:36 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.168秒 2025-10-17 06:50:36 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.218秒 2025-10-17 06:50:36 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:36 - INFO - main - [url_processor.py:409] - process_url - 子頁面 17 購物車判斷: 有購物車功能 2025-10-17 06:50:36 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 18/21 購物車功能 2025-10-17 06:50:36 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:36 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 151 字符 2025-10-17 06:50:36 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:50:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:50:37 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:50:39 - 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-17 06:50:39 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.907秒 2025-10-17 06:50:39 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.957秒 2025-10-17 06:50:39 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:39 - INFO - main - [url_processor.py:409] - process_url - 子頁面 18 購物車判斷: 有購物車功能 2025-10-17 06:50:39 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 19/21 購物車功能 2025-10-17 06:50:39 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:39 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 588 字符 2025-10-17 06:50:39 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:42 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK" 2025-10-17 06:50:42 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.621秒 2025-10-17 06:50:42 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.672秒 2025-10-17 06:50:42 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:42 - INFO - main - [url_processor.py:409] - process_url - 子頁面 19 購物車判斷: 有購物車功能 2025-10-17 06:50:42 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 20/21 購物車功能 2025-10-17 06:50:42 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:42 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 484 字符 2025-10-17 06:50:42 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50: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-17 06:50:45 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.016秒 2025-10-17 06:50:45 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.067秒 2025-10-17 06:50:45 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:45 - INFO - main - [url_processor.py:409] - process_url - 子頁面 20 購物車判斷: 有購物車功能 2025-10-17 06:50:45 - INFO - main - [url_processor.py:406] - process_url - 開始判斷子頁面 21/21 購物車功能 2025-10-17 06:50:45 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷 2025-10-17 06:50:45 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1691 字符 2025-10-17 06:50:45 - INFO - ContentAnalyzer - [analyzer.py:1005] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384 2025-10-17 06:50:48 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:50: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-17 06:50:53 - INFO - ContentAnalyzer - [analyzer.py:1029] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.313秒 2025-10-17 06:50:53 - INFO - ContentAnalyzer - [analyzer.py:1037] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 7.363秒 2025-10-17 06:50:53 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能 2025-10-17 06:50:53 - INFO - main - [url_processor.py:409] - process_url - 子頁面 21 購物車判斷: 有購物車功能 2025-10-17 06:50:53 - INFO - main - [url_processor.py:421] - process_url - 最終購物車判斷結果: 有購物車功能 (檢查了 22 個頁面) 2025-10-17 06:50:53 - WARNING - main - [url_processor.py:446] - process_url - 審核不通過:2 個頁面失敗,0 個頁面被模型拒審(已忽略) 2025-10-17 06:50:53 - INFO - main - [url_processor.py:460] - process_url - 檢測聯絡資訊(URL ID=131):開始在主頁面搜索 2025-10-17 06:50:53 - INFO - main - [helpers.py:239] - _find_email_in_content - 在HTML源代碼中找到電子郵件 ritatsai5228@gmail.com 2025-10-17 06:50:53 - INFO - main - [url_processor.py:469] - process_url - 檢測聯絡資訊(URL ID=131):在主頁面找到Email 2025-10-17 06:50:53 - INFO - main - [url_processor.py:573] - process_url - URL ID 131 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證 2025-10-17 06:50:53 - INFO - main - [url_processor.py:581] - process_url - UI審核(URL ID=131):開始在主頁面搜索聯絡資訊 2025-10-17 06:50:53 - INFO - main - [helpers.py:239] - _find_email_in_content - 在HTML源代碼中找到電子郵件 ritatsai5228@gmail.com 2025-10-17 06:50:53 - INFO - main - [url_processor.py:592] - process_url - UI審核(URL ID=131):在主頁面找到Email 2025-10-17 06:50:53 - INFO - main - [url_processor.py:631] - process_url - UI審核(URL ID=131):身份驗證通過(找到頁面: https://chutaiselect.com/) 2025-10-17 06:50:53 - INFO - database - [database.py:505] - update_url_status - URL ID 131 状态已更新为 completed 2025-10-17 06:50:53 - INFO - main - [url_processor.py:733] - process_url - URL ID 131 分析完成,結果: fail, API驗證: False 2025-10-17 06:50:53 - INFO - main - [url_processor.py:758] - process_url - 工作線程 #3 完成處理 URL ID: 131 2025-10-17 06:50:59 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 131, UID: 7yuyzj2r7y, 進度: 22/22 2025-10-17 06:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:51:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:51:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:51:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:51:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:51:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:51:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:51:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:51:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:51:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:51:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:51:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:51:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:51:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:51:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:51:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:51:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:51:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:51:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:52:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:52:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:52:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:52:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:52:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:52:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:52:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:52:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:52:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:52:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:52:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:52:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:53:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:53:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:53:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:53:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:53:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:53:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:53:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:53:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:54:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:54:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:54:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:54:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:54:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:54:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:54:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:54:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:54:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:54:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:54:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:54:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:54:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:54:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:54:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:54:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:54:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:54:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:54:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:54:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:54:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:54:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:54:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:54:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:54:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:54:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-10-17 06:55:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:55:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:55:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:55:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:55:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:55:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:55:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:55:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:55:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:55:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:55:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:55:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:56:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:56:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:56:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:56:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:56:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:56:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:56:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:56:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:57:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:57:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:57:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:57:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:57:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:57:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:57:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 06:57:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 06:57:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:57:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:57:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:57:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:57:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:57:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:57:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:57:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:57:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:57:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:57:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:57:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:58:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:58:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-10-17 06:58:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:58:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:58:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:58:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:58:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:58:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 06:58:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 06:58:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 06:58:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 06:58:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 06:59:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:59:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:59:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:59:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:59:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:59:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:59:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 06:59:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-10-17 06:59:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:59:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:59:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:59:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:59:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:59:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 06:59:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 06:59:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-10-17 07:00:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:00:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:00:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:00:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:00:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:00:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:00:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:00:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:00:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 07:00:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 07:00:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 07:00:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:00:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:00:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 07:00:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:00:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:00:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:00:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:00:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:00:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:01:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:01:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:01:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:01:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:01:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:01:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:01:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:01:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:01:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 07:01:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 07:01:49 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 07:01:54 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 07:02:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:02:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:02:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:02:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:02:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:02:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:02:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:02:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:03:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:03:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:03:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:03:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:03:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:03:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:03:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-10-17 07:03:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-10-17 07:03:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 5, 記憶體 207.7MB, CPU 0.0% 2025-10-17 07:03:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 211.0MB, CPU 0.0% 2025-10-17 07:03:19 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 4, 記憶體 345.7MB, CPU 0.0% 2025-10-17 07:03:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:03:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:03:24 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 203.8MB, CPU 0.0% 2025-10-17 07:03:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:03:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:03:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:03:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:03:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-10-17 07:03:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-10-17 07:04:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 07:04:02 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251017_06.log,新:20251017_07.log 2025-10-17 07:04:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 07:04:06 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251017_06.log,新:20251017_07.log 2025-10-17 07:04:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 07:04:07 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251017_06.log,新:20251017_07.log 2025-10-17 07:04:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-10-17 07:04:07 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251017_06.log,新:20251017_07.log