From fdd79b6931eb194b5cfa93c899190c89e33b9656 Mon Sep 17 00:00:00 2001 From: Qyir <13521889462@163.com> Date: Fri, 17 Oct 2025 16:40:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B7=AF=E5=BE=84=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=8B=E5=8A=A8=E7=99=BB=E5=BD=95=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handlers/Rankings/rank_data_scraper.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/handlers/Rankings/rank_data_scraper.py b/handlers/Rankings/rank_data_scraper.py index 88d13d1..e063aa5 100644 --- a/handlers/Rankings/rank_data_scraper.py +++ b/handlers/Rankings/rank_data_scraper.py @@ -217,10 +217,17 @@ class DouyinPlayVVScraper: if env_override: candidates.append(env_override) logging.info(f'检测到环境变量 OVERRIDE_CHROMEDRIVER,优先使用: {env_override}') - # 优先使用用户提供的路径 + # 脚本所在目录的drivers路径(优先) + script_dir = os.path.dirname(os.path.abspath(__file__)) + script_driver_path = os.path.join(script_dir, 'drivers', 'chromedriver.exe') + candidates.append(script_driver_path) + logging.info(f'优先尝试脚本目录路径: {script_driver_path}') + + # 项目根目录的drivers路径 user_driver_path = os.path.join(os.getcwd(), 'drivers', 'chromedriver.exe') candidates.append(user_driver_path) - logging.info(f'优先尝试用户提供路径: {user_driver_path}') + logging.info(f'尝试项目根目录路径: {user_driver_path}') + # 项目根目录 candidates.append(os.path.join(os.getcwd(), 'chromedriver.exe')) # 其他可能目录 @@ -278,7 +285,7 @@ class DouyinPlayVVScraper: def navigate(self): logging.info(f'导航到: {self.start_url}') self.driver.get(self.start_url) - time.sleep(3) + time.sleep(8) # 增加页面加载等待时间 def ensure_login(self): """确保用户已登录并导航到收藏合集页面""" @@ -328,7 +335,7 @@ class DouyinPlayVVScraper: logging.warning(f"检测URL时出错: {e}。请重试。") time.sleep(1) - def _check_login_and_page(self, timeout: int = 30) -> bool: + def _check_login_and_page(self, timeout: int = 600) -> bool: """检查是否已登录并在正确页面""" try: current_url = self.driver.current_url @@ -351,7 +358,7 @@ class DouyinPlayVVScraper: logging.warning(f"检查登录状态时出错: {e}") return False - def _detect_login_status(self, timeout: int = 30) -> bool: + def _detect_login_status(self, timeout: int = 600) -> bool: """自动检测是否已登录""" try: start = time.time()