【发布时间】:2011-03-28 23:01:08
【问题描述】:
有没有免费的实用程序可以用来在centos上截取网页和网站的截图,并且可以通过php运行。
谢谢
【问题讨论】:
标签: php centos web thumbnails
有没有免费的实用程序可以用来在centos上截取网页和网站的截图,并且可以通过php运行。
谢谢
【问题讨论】:
标签: php centos web thumbnails
有各种可用的命令行实用程序。大多数人启动browser engines in headless X11 之一,然后截图。一个特别常见的是khtml2png,它可以像这样从 php 中使用(不确定是否有 CentOS 的预编译版本):
exec("khtml2png --width 800 --height 600 http://google.com/ img.png");
这里列出了更多:Command line program to create website screenshots (on Linux)
【讨论】:
2>/dev/stdout 捕获它)。如果您无法从 exec() 启动此命令,那么其他选项(firefox 和捕获 X11 根窗口)将不会工作得更好。 -- 另一个通常推荐的替代方法是 wkhtml2pdf code.google.com/p/wkhtmltopdf (然后需要第二步将其再次转换为 PNG 图像..)
exec("./wkhtmltoimage-amd64 http://google.com/ google.png"); 调用它,它应该会生成一个PNG。 (这是一个生成图像而不是 PDF 截图的特殊版本。酷。)
我认为这是不可能的,因为 PHP 不像浏览器那样呈现网站。
编辑: 但是,您可以使用 PHP cURL 脚本保存每个页面的原始未渲染 HTML。
例如:
$websites[] = 'http://google.com';
$websites[] = 'http://stackoverflow.com';
$websites[] = 'http://msn.com';
$websites[] = 'http://microsoft.com';
foreach ($websites as $site)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $site);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
if(!empty($data))
{
savePageToFile($data); //placeholder, not real function
}
}
【讨论】: