From 10ce2ba17be1ac83137058f6fc6691aa860efe1b Mon Sep 17 00:00:00 2001 From: xiaji Date: Wed, 21 Jan 2026 11:54:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=85=8D=E7=BD=AE):=20=E5=A2=9E=E5=8A=A0p?= =?UTF-8?q?laywright=5Fdir=E9=85=8D=E7=BD=AE=E9=A1=B9=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=B5=8F=E8=A7=88=E5=99=A8=E8=B7=AF=E5=BE=84=E6=9F=A5?= =?UTF-8?q?=E6=89=BE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加playwright_dir配置项以支持自定义浏览器路径 优化打包环境和开发环境下的浏览器路径查找逻辑,优先使用配置中的路径 删除不再使用的build.bat打包脚本 --- build.bat | 47 ----------------------------------------- build.spec | 3 ++- config_manager.py | 8 +++++-- spider.py | 51 ++++++++++++++++++++++++++++++--------------- sse_screenshot.png | Bin 0 -> 48738 bytes 5 files changed, 42 insertions(+), 67 deletions(-) delete mode 100644 build.bat create mode 100644 sse_screenshot.png diff --git a/build.bat b/build.bat deleted file mode 100644 index 2acde5e..0000000 --- a/build.bat +++ /dev/null @@ -1,47 +0,0 @@ -@echo off -echo ======================================== -echo 股吧人气指示器 - 打包工具 -echo ======================================== - -REM 检查并安装必要的依赖 -echo 检查并安装依赖... -pip install -r requirements.txt - -REM 安装Playwright浏览器 -echo 安装Playwright浏览器... -python -m playwright install chromium - -REM 检查 pyinstaller 是否安装 -pip show pyinstaller >nul 2>&1 -if errorlevel 1 ( - echo 正在安装 pyinstaller... - pip install pyinstaller -) - -REM 清理旧的构建文件 -echo 清理旧的构建文件... -if exist "build" rmdir /s /q build -if exist "dist" rmdir /s /q dist -if exist "guba-indicator.spec" del guba-indicator.spec - -echo 开始打包... -pyinstaller build.spec --noconfirm - -if exist "dist\guba-indicator\guba-indicator.exe" ( - echo ======================================== - echo 打包成功! - echo 可执行文件位置: dist\guba-indicator\guba-indicator.exe - echo ======================================== - - REM 复制必要的资源文件 - echo 复制资源文件... - copy guba.ico dist\guba-indicator\ >nul 2>&1 - copy indicator.ico dist\guba-indicator\ >nul 2>&1 - copy config.json dist\guba-indicator\ >nul 2>&1 - - echo 资源文件复制完成! -) else ( - echo 打包失败,请检查错误信息 -) - -pause diff --git a/build.spec b/build.spec index ecaf4fd..b0c8336 100644 --- a/build.spec +++ b/build.spec @@ -5,7 +5,8 @@ import sys from PyInstaller.utils.hooks import collect_data_files, collect_submodules # 添加当前目录到路径 -sys.path.append(os.path.dirname(os.path.abspath(__file__))) +current_dir = os.getcwd() +sys.path.append(current_dir) block_cipher = None diff --git a/config_manager.py b/config_manager.py index ecbe9bc..2852498 100644 --- a/config_manager.py +++ b/config_manager.py @@ -25,7 +25,8 @@ class ConfigManager: "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "fetch_interval": 60, "retry_times": 3, - "retry_interval": 5 + "retry_interval": 5, + "playwright_dir": "" }, "ui": { "opacity": 0.9, @@ -131,7 +132,8 @@ class ConfigManager: def update_spider(self, target_url: str = None, xpath: str = None, user_agent: str = None, fetch_interval: int = None, - retry_times: int = None, retry_interval: int = None): + retry_times: int = None, retry_interval: int = None, + playwright_dir: str = None): """更新爬虫配置""" if target_url: self.config["spider"]["target_url"] = target_url @@ -145,6 +147,8 @@ class ConfigManager: self.config["spider"]["retry_times"] = retry_times if retry_interval: self.config["spider"]["retry_interval"] = retry_interval + if playwright_dir: + self.config["spider"]["playwright_dir"] = playwright_dir logger.info("爬虫配置已更新") self.save_config() diff --git a/spider.py b/spider.py index 3c11cb0..d1b0c85 100644 --- a/spider.py +++ b/spider.py @@ -289,31 +289,48 @@ class SpiderManager: logger.info(f"开始爬取上证所网页截图: {url}") logger.info(f"目标XPath: {xpath}") + # 首先从配置中读取浏览器路径 + config_playwright_dir = self.config.get('playwright_dir') + if config_playwright_dir: + logger.info(f"从配置中获取到Playwright浏览器路径: {config_playwright_dir}") + # 获取当前脚本目录 if getattr(sys, 'frozen', False): # 打包后的环境 current_dir = os.path.dirname(sys.executable) - # 尝试多个可能的Playwright浏览器路径 - possible_paths = [ - os.path.join(current_dir, '_internal', 'ms-playwright'), - os.path.join(current_dir, 'ms-playwright'), - os.path.join(os.path.dirname(current_dir), 'ms-playwright') - ] - playwright_dir = None - for path in possible_paths: - if os.path.exists(path): - playwright_dir = path - logger.info(f"找到Playwright浏览器路径: {playwright_dir}") - break - - if not playwright_dir: - logger.warning("未找到Playwright浏览器路径,尝试使用系统默认路径") + # 优先使用配置中的路径 + if config_playwright_dir and os.path.exists(config_playwright_dir): + playwright_dir = config_playwright_dir + logger.info(f"使用配置中指定的Playwright浏览器路径: {playwright_dir}") + else: + # 配置路径不存在或未设置,尝试多个可能的Playwright浏览器路径 + possible_paths = [ + os.path.join(current_dir, '_internal', 'ms-playwright'), + os.path.join(current_dir, 'ms-playwright'), + os.path.join(os.path.dirname(current_dir), 'ms-playwright') + ] + + playwright_dir = None + for path in possible_paths: + if os.path.exists(path): + playwright_dir = path + logger.info(f"找到Playwright浏览器路径: {playwright_dir}") + break + + if not playwright_dir: + logger.warning("未找到Playwright浏览器路径,尝试使用系统默认路径") else: # 开发环境 current_dir = os.path.dirname(os.path.abspath(__file__)) - playwright_dir = None - logger.info(f"开发环境,当前目录: {current_dir}") + + # 优先使用配置中的路径 + if config_playwright_dir and os.path.exists(config_playwright_dir): + playwright_dir = config_playwright_dir + logger.info(f"使用配置中指定的Playwright浏览器路径: {playwright_dir}") + else: + playwright_dir = None + logger.info(f"开发环境,当前目录: {current_dir}") output_dir = current_dir screenshot_path = os.path.join(output_dir, "sse_screenshot.png") diff --git a/sse_screenshot.png b/sse_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..649cd1ed2e8003954590be20bf9359eb952c2a8b GIT binary patch literal 48738 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 literal 0 HcmV?d00001