捕获和转换Web的工具

如何更快地创建捕获!

更快的捕捉

很难说创建捕获需要多长时间,因为并非所有时间都实际用于渲染捕获。 例如,加载目标网站或 HTML 也需要一些时间。 要加快屏幕截图渲染速度,请首先检查您是否没有使用 延迟 生成屏幕截图时。

指定延迟不仅会增加创建捕获所需的时间,而且还会影响捕获优先级(万一出现队列)。 幸运的是有 办法解决这个.

接下来检查什么 检索方法 您是否希望收到捕获完成的通知? 同步方法, SaveTo 慢很多 比异步方法 Save。 作为 SaveTo 方法必须每三秒轮询一次 GrabzIt 以确定屏幕截图是否完成,而异步方法将在屏幕截图准备好后立即调用您的回调 URL。

其他可以缩短捕获时间的技术包括:

  1. 拦截广告,这将捕获某些网页所需的时间减少了 50%。
  2. 如果您尝试捕获托管在世界特定地区的网站,请指定一个国家/地区 靠近那个位置.
  3. 如果您正在尝试捕获使用 GrabzIt 独家托管的网站 地理定位功能.
  4. 如果您要转换 HTML into 图像、PDF 或 DOCX 文档尝试嵌入任何引用的图像(如 数据URI)、脚本和CSS文件直接 intHTML。 这将减少转换 HTML 之前必须加载的资源数量。 另外,如果您可以删除不需要出现在输出中的任何冗余 HTML,例如隐藏的 HTML 元素和注释。 因为这将减少转换 HTML 所需的时间。
  5. 如果你是 创建高清捕捉,确保您没有将图像宽度和高度参数设置为 -1 以外的任何值。 由于这会再次缩小高清图像,因此会适得其反并且耗时。
  6. 运用 本地 or 全局代理 添加额外的跃点 into 网络传输。 仅在必要时才使用代理。

另一个问题可能是下载屏幕截图所需的时间。 首先检查您生成的捕获的大小,如果它们是大文件,您可以尝试通过执行以下一项或多项操作来缩短下载时间:

  1. 通过更改输出宽度和高度来减小图像的大小。
  2. 减少 捕获质量.
  3. 使用压缩程度更高的图像格式,例如 PNG。

最后,如果您控制页面,则可以尝试优化它的屏幕截图。 这需要您进行一些测试,但是可以 save 你几秒钟。 可以尝试的方法包括压缩图像、脚本和 CSS,甚至直接嵌入资源 into 网页的 HTML。 这避免了生成网络捕获时的单独请求。

JavaScript API 特定改进

虽然使用 JavaScript API 时可以实现上述许多优化,但由于 JavaScript 在浏览器而不是服务器端运行,因此存在一系列潜在的优化和特有的问题。

考虑使用 preconnect 技术。 这将确保在第一次调用 GrabzIt 的 API 之前完成 DNS 解析和任何所需的 SSL 握手。 为此,将以下代码添加到 HEAD 使用 GrabzIt 的 HTML 页面的标记。

<link rel="preconnect" href="https://api.grabz.it" crossorigin>
<link rel="preconnect" href="https://grabz.it" crossorigin>

请注意,如果您的网站是 HTTP 只是,您需要更改上述 URL 才能使用 http 并不是 https.

如果您使用 JavaScript 数据URI方法 与服务器端 API 相比,这会增加额外的开销,因为 JavaScript 必须将图像读取为字节并将其转换为数据 URI。