2010-11-07 63 views
1

我想创建一个网站目录网站,我需要获得这些网站的屏幕截图。如何快速使用PHP获取网站截图? 我尝试过IECAPT,webscreencapture,khtml2png,但它们都很慢。他们都可以通过一个URL获得一个URL的截图。 IECAPT依赖于IE浏览器吗?如果是这样,为什么它不能打开很多ie标签,以便同时工作? 有没有人可以推荐我使用在线的PHP截图软件?根据我的上述要求?谢谢。如何快速使用PHP获取网站截图?

+1

为了让你知道,PHP是一种超文本预处理器,而不是渲染器。 – 2010-11-07 18:00:37

回答

0

也许最简单的方法是使用外部服务。曾经有Alexa网站缩略图,但它已经停产,所以你必须寻找替代品。例如http://www.pageglimpse.com/似乎是一个。

+0

嗨,coreyward,你认为一些缩略图服务网站,如http://www.pageglimpse.com/他们使用什么技术?我不认为他们会在他们的Web服务器上安装许多浏览器。 – 2010-11-07 13:56:54

3

你的要求是不现实的。您最好的选择是通过CutyCapt之类的东西与WebKit集成,它不会运行实际的浏览器,而只是WebKit渲染引擎。你不应该有任何并发​​问题,但它不会太棒了。

+0

是的,您不能使用PHP(或任何其他服务器语言)来捕获网站,因为它们可以使用HTML但不能渲染它。 CutyCapt似乎是一个很好的实用工具。 – 2010-11-07 04:18:58

+0

嗨,coreyward,你认为一些缩略图服务网站,如pageglimpse.com他们使用的是什么技术?我不认为他们会在他们的Web服务器上安装许多浏览器。 – 2010-11-07 13:58:23

+0

我试过CutyCapt,我复制了3个CutyCapt.exe并将它们重命名。 – 2010-11-07 13:59:18

0

我已经试过CutyCapt,我复制3 CutyCapt.exe和他们改名。但它也一个接一个地抓屏幕,一次不运行这3个进程。

<?php 
set_time_limit(0); 
$url1 = 'http://www.google.co.uk'; 
$out1 = '1.jpg'; 
$path1 = 'CutyCapt1.exe'; 
$cmd1 = "$path1 -u=$url1 -o=$out1"; 
//exec($cmd); 
system($cmd2); 
$url2 = 'http://www.google.com'; 
$out2 = '2.jpg'; 
$path2 = 'CutyCapt2.exe'; 
$height2 = '1200 '; 
$cmd2 = "$path2 -u=$url2 -o=$out2"; 
//exec($cmd); 
system($cmd2); 
$url3 = 'http://www.google.co.jp'; 
$out3 = '2.jpg'; 
$path3 = 'CutyCapt3.exe'; 
$height3 = '1200 '; 
$cmd2 = "$path3 -u=$url3 -o=$out3"; 
//exec($cmd); 
system($cmd3);` 
?> 

我不认为许多缩略图服务站点,如pageglimpse.com,他们在他们的web服务器上安装了许多浏览器。他们使用的是什么技术?