1. 立项背景和目标
手动批量下载百度图片效率低下,为快速收集配图素材,基于 Playwright 开发关键词图片自动爬取工具,输入关键词即可批量下载图片到本地文件夹,提升素材收集效率,掌握动态页面爬虫技术。
2. 核心功能模块
环境初始化:自动创建 imgs 存储文件夹,配置 Edge 浏览器路径与 UA 请求头,规避基础反爬;
浏览器自动化:启动 Edge 浏览器访问百度图片搜索页,循环滚动模拟下拉加载全部懒加载图片;
图片下载解析:通过 XPath 提取图片真实地址,过滤无效链接,用 requests 下载图片并本地保存,异常捕获防止单张失败导致程序崩溃。
3. 业务流程
输入搜索关键词→自动创建保存文件夹→浏览器打开对应搜索页面→多次下滑加载完整图片→提取图片有效链接→批量下载存入本地 imgs 文件夹→关闭浏览器结束程序。
1. 技术架构与技术栈
整体为 Python 单文件线性脚本架构,四层执行:文件操作层、浏览器自动化层、元素解析层、文件下载层。
技术:Python3.12、Playwright(浏览器渲染解决动态懒加载)、requests(图片下载)、os(文件管理)、XPath 元素定位。
2. 个人负责内容与量化成果
独立完成全部代码编写、参数调试、异常处理。可单次输入关键词下滑 30 次加载多页图片,最多稳定抓取 300 余张图片自动归档,全程无需手动操作,素材收集效率大幅提升。
3. 遇到难点及解决方案
(1)百度图片动态懒加载,静态请求拿不到图片:使用 Playwright 真实浏览器渲染页面,模拟滚轮下滑加载数据;
(2)图片真实地址存于 data-src 属性:优先读取 data-src,兜底 src,过滤非 http 无效链接;
(3)爬虫操作过快被网站限制:添加 slow_mo 延时、页面强制等待,模拟真人浏览速度;
(4)个别图片链接失效中断程序:下载代码增加 try 捕获异常,失败图片直接跳过不终止整体任务;
(5)重复运行创建文件夹报错:os.makedirs 设置 exist_ok=True,文件夹存在直接跳过。