phantomjs截取网页截图 场景 有一个视频播放地址,需要对该网页进行截图 解决思路: 1.将视频下载到本地,使用ffmpeg进行处理 2.使用phantomjs,phantomjs内置了webkit浏览器引擎,phantomjs可以模拟浏览器打开视频地址,然后进行整个网页的截图。 WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用) 选择 第一个方案,ffmpeg只能处理本地视频或者处理RTCP直播流,同时要求的视频直播地址中有部分是直播流,有部分是组件渲染,所以该方案不可行。 因此选择第二个方案。 phantomjs进行网页截图,这里以window平台为例 1.首先,去phantomjs官网下载页面下载phantomjs程序,支持window、mac os、linux、freebsd平台。 2.将下载下来的phantomjs添加系统环境变量里 3.编写js文件capture.js use strict; //严格模式 var page = require(webpage).create(); var system = require(system); page.viewportSize = { width : 1024, height : 720 }; if (system.args.length < 3) { console.log(param must greater 2); phantom.exit(); } else{ var url = system.args[1]; //远程视频地址 var saveFile = system.args[2]; //保存截图的文件路径 page.open(url, function(status) { if (status == success){ // 通过在JS获取页面的渲染高度 var rect = page.evaluate(function () { return document.getElementsByTagName(html)[0].getBoundingClientRect(); }); // 按照实际页面的高度,设定渲染的宽高 page.clipRect = { top: rect.top, left: rect.left, width: rect.width, height: rect.height }; setTimeout(function() { var result = page.render(saveFile); page.close(); console.log(result); phantom.exit(); }, 1000); //延迟截图时间 } }) } 4.在php中进行调用 $url = http://xxx; $savePath = c:\test.png; $jsPath = c:\phantomjs.js; $command = phantomjs {$jsPath} {$url} {$savePath}; $result = @exec($command ); 这样就对网页进行截图,保存截图在指定路径中。 另外:有大神在github上提交了个操作phantomjs的php类库,可以参考使用: https://github.com/jonnnnyw/php-phantomjs http://jonnnnyw.github.io/php-phantomjs/4.0/2-installation/ ———————————————— 版权声明:本文为CSDN博主「陪代码一起浪迹天涯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/seoyundu/article/details/101782923
相关文章
【2024年推荐】20个本地信息发布平台,发布本地信息发布网站,全国信息免费发布2024-12-22
【2024年强烈推荐】20个免费发布信息的平台,免费企业发布信息的网站2024-12-21
【2024年推荐】 10 个免费建设网站的平台,在线制作网站可以绑定域名2024-12-21
大学老师卖鱼丸一年大赚14亿 2024-12-21
8000元启动资金半年赚130万,博主分享创业奇迹2024-12-21
免费网站计数器 jooh在线网站计数器 网站统计代码2024-12-20
合肥400电话办理流程及申请方案,选择优质号码2024-12-20
合肥地区400电话办理:助力企业腾飞的通信利器 ,合肥400电话办理及申请2024-12-20
构站网是一个专注于网站建设、网页制作、网站设计、软件开发、建站服务的平台2024-12-19
高价回收域名:让您的闲置资产焕发新生 2024-12-19