PHP如何实现网页截图?

如何使用PHP实现网页截图

PHP实现网页截图是一个在日常开发中不常见的需求,但是如果实现还是非常有意思的。目前业界有很多成熟的方案,下面我推荐使用一个很稳定的第三方服务来直接实现,该服务有如下特点:

  • 支持多线路
  • 支持登录截图
  • 支持UA变换
  • 支持Cookie注入 实现登录截图
  • 支持自定义宽高
  • 支持网页滚动截图
  • 支持设定截图前的延迟时间

首先我们打开 它的首页 www.screenshotmaster.com/ 注册一个账号,然后你会在用户中心获取到一个唯一的Token,保存好这个Token 不要泄漏!

下面来看看它支持的参数:

网页截图API参数

您可以前往API文档页面查看更多的参数。

使用PHP调用截屏大师的接口获取截图:

//参数
$token = 'YOUR_API_TOKEN';
$url = urlencode('https://www.baidu.com');
$width = 1200;
$height = 800;
$full_page = 1;

// 构造URL
$query = "https://www.screenshotmaster.com/api/v1/screenshot";
$query .= "?token=$token&url=$url&width=$width&height=$height&full_page=$full_page";

// 调用API
$image = file_get_contents($query);

// 保存截图
file_put_contents('./screenshot.png', $image);

然后?没有然后了,就这么简单!
Enjoy Yourself!

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

第一个想到的是 html2canvas ,然后才反应过来用 PHP,强

3年前 评论

我还以为是无头浏览器实现,没想到是调用别人的接口。 :dog:

3年前 评论
萧潇 (楼主) 3年前

当前每月使用次数 100

如果真正在实际应用中 100个截图,不够用。

只能去花钱去购买

如果是花钱,还是选择自己开发吧

3年前 评论
萧潇 (楼主) 3年前

标题和内容严重不符呀 :sob:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!