1) 模板导出:识别「基码表-胸围」填 sku.bust(多个胸围列都填);申报价格模糊匹配多列统一按加价后价格填写;详情图文不再拼接 img_url_2;SPU 款式来源统一填「现货款」;商品产地国家简称映射(沙特→沙特阿拉伯) 2) 模特性别分组:model_features 按男女分组,按模板类目含男/女固定取对应性别模特(含 Pinterest 模式 pipeline) 3) 三合一提示词:去掉 DESIGN CONTENT 四要素描述(设计已由设计稿提供) 4) 生图尺寸:全部改为读 config 不再硬编码(设计图 compose.design_size / 合成图 compose.size / 种草图 seed_shot.size)
Pinterest 关键词图片爬取工具
用 Playwright 启动本机 Google Chrome 搜索 Pinterest,并下载最高分辨率的图片。登录态通过项目内持久化缓存目录自动保存,首次登录后无需重复操作。
前置条件
- 安装 Python 依赖:
uv sync - 本机已安装 Google Chrome(脚本直接复用它,不下载任何浏览器内核)
运行方式
最简用法(默认,会自动缓存登录态)
uv run pinterest_image_capture.py "风景壁纸" -n 50
脚本会用项目内的 .chrome_session/User Data 作为 Chrome 用户数据目录启动一个可见的本地 Chrome 窗口:
- 首次运行:请在弹出的窗口里登录 Pinterest(只需这一次)。登录态会缓存在
.chrome_session目录中。 - 后续运行:直接复用缓存的登录态,自动登录,不再需要手动登录。
- 你能实时看到滚动与采集过程,脚本结束自动关窗。
.chrome_session已加入.gitignore,不会误提交。
模式 B:接管你已开好的调试版主浏览器(可选)
如果你平时就用 open_chrome_debug.bat(或桌面快捷方式)开着调试版主浏览器,可加 --cdp 直接接管,跳过自动启动:
uv run pinterest_image_capture.py "风景壁纸" -n 50 --cdp http://127.0.0.1:9222
代理
代理按以下顺序解析,无需手动填:命令行 --proxy > 环境变量 > 本地常见端口探测 > 系统代理(兜底)。你机器的系统代理会被自动读取并同时用于浏览器与图片下载。传 --proxy "" 可禁用。
参数
| 参数 | 说明 | 默认值 |
|---|---|---|
keyword |
搜索关键词(必填,位置参数) | - |
-n, --count |
爬取图片数量 | 40 |
--proxy |
代理地址(默认自动解析:本地探测/系统代理;传空字符串禁用) | 自动 |
--cdp |
可选:指定 CDP 地址以接管已开的调试版 Chrome(见模式 B) | 不填(默认用持久化缓存目录启动本地 Chrome) |
--headless |
自动启动 Chrome 时采用无头模式 | 关闭 |
-o, --output |
保存目录 | output/img/<关键词> |
示例
# 最简用法:只填关键词和数量,代理自动探测
uv run pinterest_image_capture.py "风景壁纸" -n 50
# 无头模式运行(不弹窗)
uv run pinterest_image_capture.py 猫 -n 10 --headless
# 手动指定代理 / 禁用代理
uv run pinterest_image_capture.py 猫 -n 10 --proxy "http://127.0.0.1:7890"
uv run pinterest_image_capture.py 猫 -n 10 --proxy ""
代理自动探测
脚本会按以下顺序自动确定代理,无需手动填写:
- 读取系统/用户环境变量
HTTPS_PROXY/HTTP_PROXY(含小写)。 - 实测本地常见代理端口:Clash(
7890~7893)、v2rayN(10808/10809)、Shadowsocks(1080/1087)、Fiddler(8888)等。
浏览器和下载阶段都会走同一个代理。若都没探测到,脚本会直连运行并在控制台提示(此时若无法访问 Pinterest 需手动用 --proxy 指定)。
说明
- 连续 10 轮滚动无新图片时自动停止(搜索结果不足目标数量时不会死循环)。
- 下载阶段并发数为 10,浏览器与下载都走自动探测到的代理。
- 默认模式下脚本启动的 Chrome 用
.chrome_session用户目录,登录态持久化保存;脚本结束自动关窗。如需清空登录态,删除.chrome_session目录即可重新登录。 --cdp接管模式下脚本只断开连接,不会关闭你的主浏览器。