我正在尝试捕获一些包含Adobe Flash元素的网站,但没有运气。
我的PHP脚本:
$url=escapeshellarg($url);
$filename=escapeshellarg($filenamebase);
$format=escapeshellarg($format);
$useragent=escapeshellarg($useragent);
$cmd = "xvfb-run --server-args="-screen 0, ".$width."x".$height."x24" CutyCapt --url=$url --out=$filename --out-format=$format --user-agent=$useragent --plugins="on" --delay=5000 --javascript=$js";
exec($cmd);
对于 exampe,如果我想捕获 http://flashhry.cz/h/kingdom-rush 我的脚本正在 shell 中运行此 cmd:
xvfb-run --server-args="-screen 0, 1024x5000x24" CutyCapt --url='http://sk.search.etargetnet.com/cookie.php?eURL=http%3A%2F%2Fflashhry.cz%2Fh%2Fkingdom-rush' --out='./screens/http_flashhry.cz_h_kingdom-rush.png' --out-format='png' --user-agent='Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0' --plugins="on" --delay=5000 --javascript=on
输出(http://prntscr.com/5pxc7e)无闪光灯
命令标准输出是:
Xlib: extension "RANDR" missing on display ":99".
无错误输出。
我需要它在 CentOS 6 服务器上工作,但我的 Ubuntu 桌面也有类似的结果。
尝试以下参考实现:
https://github.com/jaequery/php-site-screenshot
请注意 Ubuntu 的安装脚本。 它也可能让你了解 CentOS 的依赖关系。
https://github.com/jaequery/cutycapt-installer-script-on-ubuntu/blob/master/install
如果它仍然失败,我会想象 CentOS 6 可能太旧而无法满足要求。