shot-scraper 1.12 新增 WebP 支持:截图体积大幅缩小

shot-scraper 1.12 新增 WebP 格式支持,可显著减小批量截图的文件体积。
开发者 Simon Willison 发布了命令行截图工具 shot-scraper 的 1.12 版本,核心改进是加入了 WebP 格式输出支持。用户只需将输出文件名后缀改为 `.webp`,并可通过 `--quality` 参数选择有损或无损压缩模式。WebP 由 Google 推出,在保持相近画质的前提下,文件体积通常比 JPEG 和 PNG 小 25% 以上,对需要在网页中大量嵌入截图的场景尤为有利。此功能的直接驱动力是作者为自己的另一个工具 commit-rewriter 生成配图的实际需求,体现了开源工具"因需而做"的典型迭代模式。
开发者 Simon Willison 为自己的截图自动化工具 shot-scraper 发布了 1.12 版本,核心更新是加入了 WebP 格式支持。对于经常需要批量生成网页截图的开发者和内容创作者来说,这是一个实用的小改进。

WebP 支持带来了什么
shot-scraper 是一款基于 Playwright 的命令行截图工具,能够自动化地对网页进行截图。此前它主要输出 PNG 和 JPEG 格式,而在 1.12 版本中,用户可以直接生成 WebP 格式的截图。
使用方式非常简洁,只需在命令中指定 .webp 输出文件名即可:
shot-scraper https://simonwillison.net -o screenshot.webp --quality 80
其中 --quality 选项用于设置图片质量。如果不加这个参数,shot-scraper 会生成无损(lossless)的 WebP 文件;加上后则采用有损压缩,通过牺牲少量画质换取更小的体积。
Playwright 是微软开发的开源浏览器自动化框架,支持 Chromium、Firefox 和 WebKit 三大浏览器引擎。与早期的 Puppeteer 相比,Playwright 提供了更完善的跨浏览器支持和更稳定的 API。shot-scraper 以 Playwright 为底层驱动,意味着它能够渲染完整的 JavaScript 动态页面,而不仅仅是抓取静态 HTML,这使得截图结果与用户在浏览器中实际看到的页面完全一致。
为什么选择 WebP
WebP 是由 Google 推出的现代图片格式,在保持相近视觉质量的前提下,通常比 JPEG 和 PNG 拥有更小的文件体积。作者在发布说明中明确指出,根据他的实际使用经验,WebP 截图的文件大小几乎总是显著小于对应的 JPEG 或 PNG 版本。
这一点对于需要在网页中大量嵌入截图的场景尤其重要。更小的图片体积意味着更快的页面加载速度、更低的带宽消耗,以及更好的用户体验。相关的 Pull Request 中还附带了一些具体的体积对比示例,供有兴趣的用户参考。
WebP 由 Google 于 2010 年发布,其压缩算法基于 VP8 视频编码技术(有损)和 WebP 无损编码(无损)。根据 Google 的测试数据,相同质量下 WebP 有损压缩比 JPEG 平均小约 25–34%,无损压缩比 PNG 平均小约 26%。WebP 同时支持透明通道(Alpha 通道),这是 JPEG 所不具备的特性,因此它可以在很多场景下同时替代 PNG 和 JPEG。目前主流浏览器(Chrome、Firefox、Safari 14+、Edge)均已原生支持 WebP,使其成为网页图片的实用选择。
一个真实的应用场景
值得一提的是,作者开发这项功能并非纯粹的技术演练,而是有明确的实际需求。他表示,之所以推出 WebP 支持,是为了给自己的新工具 commit-rewriter 生成配图截图。
这种「因需而做」的开发模式,也是开源工具迭代的常见路径——作者本人既是维护者也是重度用户,功能的实用性往往经过真实场景的检验。这类基于 Playwright 的自动化截图工具,在生成文档配图、监控网页视觉变化、自动化测试等场景中都有广泛用途,而 WebP 的加入让它在输出效率上又前进了一步。
小结
shot-scraper 1.12 的更新虽然不大,却切中了截图工具的一个常见痛点:图片体积。通过引入 WebP 格式和灵活的质量控制选项,它让用户能够在画质与体积之间自由取舍。对于依赖自动化截图工作流的开发者而言,升级到新版本、尝试用 WebP 替代传统的 PNG/JPEG 输出,是一个值得考虑的优化。
相关推荐

commit-rewriter 0.1:批量重写 Git 提交信息的开源工具
commit-rewriter 0.1 是 Simon Willison 开源的 Git 提交信息批量重写 Web 工具,通过 uvx 一键运行,可清理 AI coding agent 生成的冗余内容和私有引用,并自动创建时间戳备份分支支持回退。

拒绝AI的年轻创意人:反AI创业能成立吗?
在生成式AI席卷创意行业之际,Hacker News上出现了一个反潮流设想:为拒绝AI的年轻创意人做创业项目是否可行?本文分析反AI群体的真实需求、可能的产品形态与商业可行性挑战。

会话式家庭服务器:老旧笔记本的低功耗玩法
一位 Reddit 用户用十年老笔记本搭建会话式家庭服务器,每天只开机 10-12 小时运行 Plex、qBittorrent 和 Watcharr,三服务空闲内存仅 305MB。本文探讨会话式与 24/7 常开的取舍及极简 Homelab 运维思路。