网页转图片工具
功能介绍
本工具是一个基于 Python 的桌面 GUI 应用,支持批量输入多个网址,自动抓取网页内容并将其保存为本地 HTML 文件,同时利用 Chrome 浏览器自动化(Selenium + ChromeDriver)将网页渲染后截图保存为 PNG 图片。适用于需要批量归档网页内容、生成网页快照等场景。
主要功能
- 支持批量输入多个网址(每行一个)
- 一键选择保存文件夹
- 自动抓取网页源码并保存为 HTML 文件
- 自动渲染网页并截图保存为 PNG 图片(高质量,支持 JS 动态内容)
- 进度实时显示,操作完成弹窗提示
依赖环境
- Python 3.7 及以上
- selenium >= 4.x
- Chrome 浏览器(与 chromedriver 版本一致)
- chromedriver(需与本机 Chrome 版本完全匹配)
安装依赖
pip install selenium
使用方法
- 下载与你 Chrome 浏览器版本一致的 chromedriver,并放到本项目目录下或指定绝对路径。
- 运行 main.py:
python main.py - 在界面中输入多个网址(每行一个),选择保存文件夹,点击“开始”按钮。
- 程序会自动抓取网页并保存 HTML 和 PNG 图片到指定文件夹。
主要技术点
- 使用 Tkinter 实现跨平台桌面 GUI
- 使用 Selenium + ChromeDriver 实现网页自动化渲染和截图,支持 JS 动态内容
- 多线程处理,保证界面不卡死
- 自动保存网页源码和截图,文件名自动处理特殊字符
创作过程
- 需求分析:根据用户需求,确定需要批量抓取网页并截图,要求支持 JS 动态内容,需用浏览器自动化。
- 技术选型:初步尝试 requests+imgkit 方案,发现对 JS 动态内容支持有限,最终采用 selenium+chromedriver。
- GUI 设计:用 Tkinter 实现简单易用的界面,支持批量输入、文件夹选择、进度显示。
- 功能实现:实现网页抓取、截图、HTML 保存、异常处理、进度提示等功能。
- 兼容性优化:适配不同 selenium 版本,最终采用 selenium 4.x 官方推荐的 Service 写法,保证兼容性和稳定性。
- 用户体验优化:多线程处理,避免界面卡死,所有操作均有进度和弹窗提示。
打包为exe(Windows)
-
安装 pyinstaller:
pip install pyinstaller -
在 main.py 所在目录打开命令行,执行:
pyinstaller --noconsole --onefile --add-data "chromedriver.exe;." main.py--noconsole:不弹出命令行窗口(适合 GUI 程序)--onefile:打包成单一 exe 文件--add-data:将 chromedriver.exe 一起打包(Windows 下用分号 ;)
-
打包完成后,dist 目录下会生成 main.exe,双击即可运行。
如需自定义图标,可加参数 --icon=youricon.ico。
如有问题或建议,欢迎反馈!