繁体   English   中英

如何使用 PHP 获取网页的快照或缩略图?

[英]How might I obtain a Snapshot or Thumbnail of a web page using PHP?

我需要创建快照/缩略图/站点预览 a-site.com。

有一些网站如 thumbshot.org 可以满足我的需要。 但是我不想使用外部服务,也不想依赖其他人来做我的项目(如果他们关闭站点会发生什么?)

出于这个原因,我正在寻找一些项目让我这样做。

有什么想法吗?

PHP 库中没有任何内容可以执行此操作 - 您正在考虑设置外部应用程序(带有队列)来拍摄图像,尽管您当然可以使用 PHP 将项目添加到队列中。

GD 中有几个 Windows 函数可以拍摄计算机(网络服务器 - 不是客户端)的屏幕截图,所以也许您可以用 PHP 编写一个脚本来执行此操作。

编辑:正在考虑这些:imagegrabscreenimagegrabwindow 我不确定他们会做你想做的事(即使在全屏模式下,Firefox 在屏幕顶部也有一个蓝色的栏 - 不确定其他浏览器)。 但是,如果您有兴趣, 皮埃尔对这些功能有所了解。

我建议用另一种语言编写一个应用程序(我假设 .NET 有一些东西)来为你做这件事。 编辑: 此页面告诉您如何在 C# 中执行此操作

在 Windows 上,您可以使用 GD 的imagegrabwindow()函数。

编辑:帮助页面实际上向您展示了如何从 IE 抓取屏幕截图。

在这种情况下,PHP 不会为您做太多事情。 您需要一个完整的 (X)HTML 渲染引擎,支持 CSS,可能还支持 JavaScript。

那,或者使用某种可以启动真正浏览器的古怪脚本,并从中截取屏幕截图。 无论哪种方式,PHP 可能都不是用于操作部分的正确工具。

有一个 Firefox 扩展程序可以将您正在查看的网页转换为图像:

http://www.screengrab.org/

http://addons.mozilla.org/en-US/firefox/addon/1146

如果您愿意发挥创造力,则可能会遇到问题。

谢谢大家。 我找到了一个伪解决方案,(使用 dcom + imagegrabscreen + wamp)。 我需要用gd调整final.png的大小,因为png等于客户端的分辨率(在我家,是1650 * 1280的图片)。 当我结束这个时,我会发布一个 .zip 文件来下载再次感谢(但如果有人有更好的主意,我很高兴看到)

PS:对不起我的英语

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM