好的,现在我无法支付任何服务的费用。我希望能够使用我的租用服务器(基于Linux)获取屏幕截图,并将其输出到屏幕上。
我知道有很多服务可以做到这一点,但它们通常有限制或水印,或者您必须等待从队列中截取屏幕截图。
有没有办法自己截取屏幕截图,以后可能会缓存它们或任何东西?我正在使用PHP,但我不仅限于此;我只是在Linux服务器上,所以GD的适当功能不起作用。救命! :)
答案 0 :(得分:10)
if(phantom.state.length === 0){
phantom.state = '0_home';
phantom.open('http://www.mini.de');
}
else if(phantom.state === '0_home'){
phantom.viewportSize = {width: 800, height: 600};
phantom.sleep(2000);
phantom.render('home.png');
phantom.exit(0);
}
答案 1 :(得分:9)
http://cutycapt.sourceforge.net/
CutyCapt是一个小型跨平台命令行实用程序,用于捕获WebKit将网页呈现为各种矢量和位图格式,包括SVG,PDF,PS,PNG,JPEG,TIFF,GIF和BMP。 / p>
没有PHP-api,但您可以随时通过PHP的exec
函数使用它。
答案 2 :(得分:5)
这是一个使用phantomJS 1.5的更好的脚本
var page = require('webpage').create();
page.open('http://www.google.com', function() {
page.viewportSize = {width: 1024, height: 768};
page.render('screenshot.png');
phantom.exit();
});
答案 3 :(得分:1)
2017年的解决方案之一:
https://github.com/GoogleChrome/puppeteer
示例:
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
browser.close();
})();
答案 4 :(得分:0)
由于您拥有自己的Linux服务器,因此最好的方法是不受限制地运行自己的屏幕快照服务。 这是在服务器上运行它的简单解决方案: https://github.com/filovirid/screenshot_server
它创建一个API,以便您可以从任何地方访问它。