跳至内容

截图 API

截图 API 的含义、工作原理,以及何时适合用它以编程方式截图。

截图 API 是一种 Web 服务。它通过 HTTP 请求接收 URL 和截取选项,在自己的服务器上用浏览器加载页面,再以图像或 PDF 形式返回结果。应用无需自行安装或运行浏览器,就能在代码中请求截图。

大多数服务用 API 密钥验证请求,并按截图次数计费。各服务商的功能、限制和价格各不相同,而且会随时间调整,请以各服务商的文档为准进行比较。

截图 API 的工作原理

  1. 客户端发送请求,附带 URL 和各项选项,例如视口宽度和高度、整页或视口区域、设备缩放比例、格式、延迟以及等待条件。
  2. 服务在无头浏览器中打开该 URL,浏览器通常由 Playwright 或 Puppeteer 驱动。
  3. 服务等待页面加载完成,应用隐藏 Cookie 横幅或广告等选项,然后截图。
  4. 服务直接返回图像,或先存储图像再返回链接。

截图 API 的使用场景

  • 按需生成链接预览图和社交卡片图。
  • 为目录或 CMS 工具中用户提交的 URL 生成缩略图。
  • 保存页面的存档副本以留作记录。
  • 定期检查页面,比较其随时间发生的变化。

托管服务与自托管

托管 API 省去了浏览器的维护、扩容和更新工作。代价是 URL 和图像要经过第三方,页面也从服务商的网络和地区加载,这可能改变登录、VPN 或地域规则背后的内容。使用 Playwright 或 Puppeteer 自托管可以把数据留在自己的基础设施内,但需要自行运行浏览器、队列和重试机制。

使用截图 API 的常见错误

  • 截取需要登录的页面,却没有传入会话数据。
  • 没有设置等待条件,导致返回加载到一半的页面。
  • 把私有或内部 URL 发送给第三方服务。
  • 在大批量任务中忽视速率限制和超时。

需要反复截取同样的画面?

Temposhot 的 Website Capture 会在 Mac 上由应用管理的本地浏览器中加载你输入的 URL,并把文件保存在本地。它在应用内运行,而不是作为 HTTP 服务提供。请参阅 网站截图自动化。

常见问题

使用截图 API 需要写代码吗?

需要,至少要通过脚本或自动化工具发出请求。

截图 API 能截取需要登录的页面吗?

部分服务可以接收 Cookie 或请求头来实现。请查看服务商的文档以及目标网站的条款。

参考资料

相关资源

总是重复截取相同的截图吗?

Temposhot 可定时截取屏幕、窗口或指定区域,并将结果导出为 PDF、图片、ZIP 或 MP4。免费的网页工具只能处理单张图片。

相关资源

相关术语

全部术语