跳至内容

如何在 Mac 上批量截取网页截图

在 Mac 上使用 Temposhot 批量截取网页截图。粘贴 URL 列表,选择桌面、平板或移动端预设,并行截取,然后导出用于审计或报告。

8 分钟阅读网页截图作者:Temposhot Team

Website Capture of three URLs with four concurrent browsers

手动截取 30 个页面,意味着要重复 30 轮打开、等待、滚动和保存。批量运行只需提交一次 URL 列表,在本地浏览器中加载每个页面,并为每个 URL 保存一张图片。本文介绍 Temposhot 网页截图中的批量截取流程,以及保持结果一致的设置。

Website Capture of three URLs with four concurrent browsers

什么是网站爬虫?

网络爬虫从一个地址出发,沿链接发现更多页面。网页截图不会这样做。它只截取列表中的 URL,每行对应一帧,且从不自行跟随链接。

这使输出可预测。包含 40 个 URL 的列表最多生成 40 帧,每一帧都对应你输入的一行。要截取整个站点,先从站点地图文件、CMS 或分析报告中导出页面列表,再将该列表粘贴到网页截图中。

每一帧都保存在捕获历史的同一个会话中。之后可以重新导出该批次,无需再次加载页面。

粘贴前规划 URL 列表

干净的列表可以避免浪费时间和得到令人困惑的结果。粘贴前完成以下三项检查:

  • 源数据中有重复项时,手动删除。Temposhot 会跳过重复行,但你保留用于审计的列表应与其来源的站点地图或报告保持一致。
  • 决定如何处理跟踪参数。带有 ?utm_source=newsletter 的 URL 通常与干净的 URL 显示相同页面,但部分站点会根据参数改变内容。保留访问者实际使用的完整 URL。
  • 保持顺序有意义。帧按行的顺序出现,因此当报告需要按此顺序阅读时,先按章节再按路径对列表排序。

包含 400 个页面、按每批 100 个拆分的站点会得到四个会话。每个会话可以单独检查和重试,一个会话中的失败行不会影响其他会话。在你自己的笔记中为批次命名,例如 “pricing-pages-2026-11” 或 “docs-part-2”,这样捕获历史中的记录就能与报告对应。

查看结果面板

运行结束后,结果面板会列出该会话的每一帧。导出前检查以下三项:

  1. 捕获历史中每个会话的状态。Partial 表示部分 URL 失败。Cancelled 表示运行被停止,已完成的帧会保留。
  2. 帧数与已完成行数的对比。两者不一致表示有帧未被选中导出,这属于选择问题,而不是截取问题。
  3. 每一行的第一帧。显示横幅、登录表单或空白页的帧属于截取结果,即使该行显示 Capture complete 也是如此。

当批次应转为文档(每帧一页)时,选择 Create Document。当批次以文件形式交给审阅者时,使用导出按钮 ZIP、Images、PDF 和 MP4。

按任务选择导出格式

根据审阅者如何使用文件选择导出格式:

  • PDF 适合按顺序阅读并打印的报告。每页保留对应的帧,审阅者无需逐个打开文件。
  • ZIP 适合团队用自己的工具打开图片的场景。压缩包保存原始截图,不做任何编辑。
  • Images 适合由其他工具读取的文件夹,例如导入 PNG 文件的设计评审看板。
  • MP4 适合演示视频。每帧按导出设置中选择的帧率播放,因此 30 帧、帧率为每秒 1 帧的批次时长为 30 秒。

导出设置面板保存每种格式的质量和帧率。请在导出前设置,因为已保存的文件会保留其运行时的设置值。

大批量运行前估算耗时

批次耗时接近其最慢的几轮,而不是所有页面的总和。Concurrent browsers 设为 4 时,四个页面同时加载,某个浏览器空闲后再开始下一个页面。估算方法为:URL 数量除以并发数,再乘以每页的平均耗时。

40 个 URL 批次在 4 个并发浏览器下的时间线,每页耗时 6 秒:URL 1 至 4 于 0:00 开始,URL 5 至 8 于 0:06 开始,URL 37 至 40 于 0:54 开始,批次于约 1:00 结束。

以 40 个 URL、每页 6 秒为例。40 除以 4 得 10 轮,10 轮每轮 6 秒,共 60 秒。同一列表在并发数为 1 时需要 40 乘以 6,即 240 秒,是前者的四倍。并发数减少总时间,但不会减少每个页面的等待时间。设置了 4 秒 Delay 的页面,会使其所在的每一轮增加 4 秒。

40 个 URL 示例的三项数据:4 个并发浏览器需 10 轮,每页 6 秒时批次需 60 秒,并发数为 1 时需 240 秒。

实际耗时通常更长。页面加载时间各不相同,加载时间为 20 秒的页面会在整个过程中占用其浏览器槽位。先将前 8 个 URL 作为测试运行,从结果中读取每页耗时,再计算完整运行时间。

为每个任务选择设备和截取区域

默认值决定每一帧的外观。根据批次要回答的问题选择它们,然后保持不变。

Viewport 与 Full page 截取区域的对比:保存的区域、最佳用途以及帧高度的确定方式。

对于长页面,Full page 帧很高,比 Viewport 帧更难用肉眼比较。以 1920 × 1080 的桌面 Viewport 为例,一个 10000 像素高的页面会生成高度约为视口高度九倍的帧。对于审阅,使用 Full page 批次;对于同一批 URL 的快速浏览,使用 Viewport 批次。

响应式检查中,每个设备占一行。下表为移动端批次中一行的设置。

移动端批次中一行的设置:390 × 844 设备、Full page 区域、等待网络空闲、2 秒延迟、拒绝 Cookie 横幅、PNG 格式,以及开启广告和跟踪器拦截。

移动端帧较窄,默认字号的文字在桌面尺寸的报告中可能显得很小。运行前请以原始尺寸检查预览。如果文字难以辨认,报告使用 Desktop 设备,移动端仅用于响应式检查。

移动端批次的每一页都使用相同的行设置。如果某一行的延迟或设备不同,帧之间的差异就与页面本身无关。

排查失败的行

单独一条失败的行所能提供的信息很少,因此按固定顺序检查原因。以下步骤由成本最低的检查开始,逐步进入成本较高的检查。

下图展示行经过的状态。处于 Capture failed 的行可以通过 Retry 重新进入队列,重试从 Retry pending 开始。

行在批次中的状态流转:Capture pending,然后 Capturing,再到 Capture complete 或 Capture failed;Capture failed 的行可通过 Retry pending 路径返回。

以下快捷键适用于批次会话:

批次会话的快捷键列表:Command+2 打开 Website Capture,Enter 在当前行下方添加新行。
排查失败行的步骤:检查 URL,将等待改为 Load 并添加短延迟,关闭拦截器,降低并发数,然后重试该行。

第一步可以排除大多数失败。URL 缺少路径或存在拼写错误时,运行前即会显示消息 “Enter a valid HTTP or HTTPS URL”,因此运行中出现的失败通常来自页面本身、等待设置或 Mac 的负载。只有在导致失败的设置已更改后才重试该行。使用相同设置重试通常会以相同方式失败。

有些站点会主动拒绝自动化浏览器。若某行在所有设置下都失败,且没有任何与 URL 相关的错误,该站点通常属于这种情况。网页截图不会绕过站点的拦截。正确的做法是将该行记为失败,手动截图,或向站点所有者索取导出文件。

经过排查仍然失败的行,应列入一份简短的手动截取清单。在每一行旁记录原因,例如 “login required” 或 “site blocked automated browsing”,使清单能够说明批次中缺失的部分。

验证已完成的批次

已完成的批次在纳入报告之前需要检查。请按以下清单逐项确认。

已完成批次的四项检查:每行都有最终状态,帧数与已完成行数一致,各行的设备、区域和等待设置一致,每条失败行都有书面原因。

打开会话中的第一帧、中间帧和最后一帧。加载了登录页、同意墙或错误页的页面,在文件列表中看起来像成功,因此视觉检查能发现状态无法显示的问题。

文件夹结构对接收批次的人很重要。文件夹树与批次名称对应,便于查找文件。

交付文件夹的文件树,包含两个批次文件夹:桌面端的定价页和移动端的文档页,每个文件夹内都有导出的 PDF 和一个备注文件。

保持每月审计结果可比

每月运行的批次只有在设置和 URL 列表保持不变时才有用。将设置与会话名称一起保存在笔记中。典型的记录包括:设备、区域、等待、延迟、Cookie 选项、格式、并发数,以及 URL 数量和已完成数量。

例如,每月第一个周一进行的 60 个 URL 审计,有 52 行完成、8 行失败,完成率为 87%。如果下个月有 60 行完成,增加的是 8 行,差异可能来自列表或站点的变化。若没有保存设置,这一比较不可信,因为等待时间或设备的变化也可能解释部分增长。

在共享文件夹中保存一份固定的列表文件。仅在添加或删除页面时编辑列表,并注明日期记录变更。列表同时也是审计所覆盖页面的记录。

同一批次混用设备

同一批次中混用设备是造成结果混乱的最常见原因。审阅者看到 390 像素宽的帧与 1920 像素宽的帧并排,会认为页面本身存在差异。每个批次只使用一种设备,并以相同的 URL 列表将第二种设备作为独立会话运行。

保持帧可比较的批次操作列表:每个批次使用一种设备,每种设备运行相同的列表,不混用 Viewport 与 Full page,不在未记录原因的情况下修改单行。

截取第一批 URL

  1. 打开 Website Capture

    在侧边栏中选择 Website Capture,或按 Command+2。

  2. 添加 URL

    选择 Bulk insert,每行粘贴一个 URL,然后选择 Insert URLs。重复行会被跳过。example.com 等不带协议的域名会自动添加 https://。仅接受 HTTP 和 HTTPS 地址。如需添加一个页面,在最后一行输入内容后按 Enter。

  3. 设置默认值

    选择 Device(Desktop 1920×1080、Tablet 768×1024 或 Mobile 390×844)和 Area(Viewport 或 Full page)。选择等待条件和图片格式。

  4. 覆盖单行设置

    当某个页面需要不同的等待条件或设备时,打开该行的设置。选择 Render preview,在运行前检查结果。

  5. 设置并发数并开始

    将 Concurrent browsers 设为 1 到 10 之间的值(默认 4),然后选择 Start Capture。

每一行依次经历自己的状态:Capture pending、Capturing,然后是 Capture complete 或 Capture failed。一行失败不会中止其余行。

常见批量截取任务

任务设备区域导出
重新设计前后的存档DesktopFull pagePDF
竞品落地页审阅DesktopViewportImages
小型站点的响应式检查Mobile,然后 DesktopFull pageZIP
公开页面的定期存档DesktopFull pagePDF
站点核心页面的简短演示DesktopViewportMP4

进行响应式检查时,用同一列表运行两次:一次使用 Mobile,一次使用 Desktop。每个批次只使用一种设备,帧更容易比较。

大批量的限制

网页截图在你的 Mac 上运行,因此内存和 CPU 决定实际上限。Concurrent browsers 控制同时加载的页面数。默认值 4 是合理的起点,更高的值能更快完成,但会占用更多内存。

需要规划的其他限制:

  • 需要登录会话的页面,会以未登录访问者看到的样子被截取。网页截图最适合用于公开页面。
  • 部分站点会拒绝自动化浏览器。这些行会以 Capture failed 结束。
  • 被停止的运行会保留所有已完成的帧,会话显示 Cancelled。
  • 同时包含已完成行和失败行的运行显示 Partial。

将数百个 URL 的列表按每批 50 至 100 个拆分,可以让每个会话便于检查和重试。

笔记本上的内存与并发

每个并发浏览器都会占用内存和 CPU,负载取决于页面。新闻首页和带视频的仪表盘等复杂页面,比纯文本页面占用更多资源。从默认值 4 开始,并在第一轮运行时观察活动监视器。如果内存压力升高到 Mac 大量使用交换空间的程度,请在下一批次中降低 Concurrent browsers。一个并发数为 2、90 秒完成的批次,优于一个并发数为 8、卡住并需要重试三次的批次。

耗时示例中的数值也按同样的方式变化。并发数为 10 时,40 个 URL 的批次需要 4 轮,每页 6 秒,约 24 秒,但内存占用为默认值的 2.5 倍。选择 Mac 在不使用交换空间的前提下能承受的最高值。

优化批量截取结果

只有每个页面都以相同方式截取,批次才可用于比较。除非某个页面需要例外处理,否则在所有行中保持设备、区域、等待、延迟和拦截设置一致。

  1. Wait。 Load 适用于大多数站点。Network idle 适用于加载后还会获取内容的页面,1 到 3 秒的延迟可覆盖动画。
  2. 懒加载图片。 仅在滚动进入视口时才加载图片的页面,需要进行全页面检查,而 Network idle 等待不总能满足这一需求。如果全页面帧中出现空白图片区域,将该行切换为 Network idle 并添加短延迟。懒加载 词条说明了其原因。
  3. Cookie 横幅。 选择 Reject banners、Accept minimal、Hide only 或 Leave unchanged。处理为尽力而为,因此对于使用自定义同意管理工具的站点,请检查预览。
  4. 格式。 默认为 JPEG。需要保持小字清晰时使用 PNG,需要更小文件时使用 WebP。质量参数 1 到 100 适用于 JPEG 和 WebP。
  5. 拦截。 Block ads 和 Block trackers 默认开启。如果某行的布局依赖被拦截的脚本,请为该行关闭其中一项。

截取选项指南 列出了每个 URL 的全部设置。

常见问题

一个批次最多能包含多少个 URL?

URL 列表没有固定上限。实际限制取决于一次运行所需的时间,以及运行后会话是否便于检查。

能否只重试失败的页面?

可以。每个失败或已取消的行都会显示 Retry 控件,并且可以在其他行完成之前运行。运行与结果指南 列出了所有行状态。

能否以两种宽度截取同一页面?

可以。使用两行,二者 URL 相同但设备不同。每行保留各自的设置,因此桌面行和移动端行可以在同一会话中运行。为了公平比较,两行的其他设置应保持一致。运行前请检查每行的预览,因为预览会显示该帧将使用的设备尺寸。

不会。每个页面在独立的私密浏览器会话中打开,两次运行之间不保留任何 Cookie 或站点数据。依赖同意选择的批次需要为每行设置 Cookies 选项,无法识别的横幅会保留在帧中。

可以导出哪些格式?

结果面板可以导出 ZIP、Images、PDF 和 MP4。PDF 可搜索,文字通过 OCR 识别。

能否截取需要登录的页面?

网页截图在受管理的本地浏览器中加载页面,而不是你日常使用的浏览器配置文件。对于需要登录的页面,请在 Chrome 中使用 Temposhot 扩展,它可以保存当前标签页的一张完整页面 PNG。

开始批量截取

将你经常检查的五个 URL 粘贴到网页截图中,以默认并发数 4 运行。然后在运行更长的列表之前,使用 Render preview 比较同一行的 Viewport 与 Full page。

需要免代码的网页截图自动化吗?

网页截图自动化页面 介绍了网页截图的功能,网页截图快速入门 涵盖首次运行。Temposhot 可免费下载,适用于 Apple Silicon 芯片的 Mac。

website-capturebatch-screenshotsmacurls

本文使用的术语: full page screenshot, responsive screenshot, viewport screenshot

把重复性截图整理为成品

Temposhot 可按定时或每次点击进行截图,并将结果导出为 PDF、图片、ZIP 或 MP4。

相关文章