5

我知道没有直接的方法可以用 PHP 截取网页的屏幕截图。实现此目的最直接的方法是什么?是否有任何命令行工具可以做到这一点,我可以从 PHP 脚本执行(我在想一些可以在'NIX OS(特别是 OS X 和/或 Linux)中运行的东西)?

编辑:或者我可以通过 SOAP 或 REST 访问的某种 Web 服务或......

编辑#2:我发现了一个讨论 CLI 选项的相关问题,但如果有人知道任何事情,我仍然愿意接受其他方法。

4

6 回答 6

1

http://www.thumbshots.org/

于 2009-03-26T17:58:07.623 回答
1

html2ps在相对简单的页面上做得不错,而且它对外部二进制文件的需求很少,这意味着它非常易于安装/使用。如果您控制要捕获的页面,则可以确保它们在 html2ps 中正确呈现。但是,如果您希望捕获任意 URL,我不确定 HTML2PS 的 PHP 端口是否能胜任这项任务。它也不是世界上最快的东西(复杂页面的渲染时间预计在几秒钟内),但这对于某些应用程序来说并不重要。

于 2009-03-26T18:19:19.803 回答
1

有关执行此操作的 OSX 命令行程序,请参阅webkit2png 。

该页面还提到了 Linux 替代方案。

[编辑]:wkhtml2image是镇上最新的孩子,它比我用过的其他任何东西都好用。

[edit2]:截至 2014 年,PhantomJS似乎是要走的路,因为它拥有我所知道的替代方案的最新 webkit 版本。

[edit3]:在 2019 年,Puppeteer是要走的路。官方无头镀铬,始终保持最新。

于 2009-07-28T23:06:33.590 回答
0

不确定这对你来说是否足够,因为它在那里添加了一些东西,但值得一试:http ://www.snap.com

于 2009-03-26T17:54:38.083 回答
0

您可以使用 GD 功能imagegrabscreen()imagegrabwindow()截屏,但它们目前仅在 Windows 上可用。

于 2009-03-26T17:56:10.280 回答
0

可以使用 Google pagespeed api 获取网站的 base64 编码图像。您可以指定桌面或移动视图,但仅限于特定大小的图像。

于 2014-08-19T21:35:18.157 回答