热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP截图网页截图html转为图片通过PhantomJS截图支持thinkphp和ci框架或yii

如果页面有JS错误,则会终止执行。所以我在每个html页面head里加上这句屏蔽提示:$contentstr_replace(,

如果页面有JS错误,则会终止执行。所以我在每个html页面head里加上这句屏蔽提示:

$content = str_replace("",'',$content);

WINDOWS下载:

下载地址:https://sourceforge.net/projects/cutycapt/files/cutycapt/
我下载的是 CutyCapt-Win32-2010-06-06.zip,下载后解压保存

set_time_limit(0);
$s=time();
$url='http://www.baidu.com'; //要截图的网页
$imgname='test.png';
$out = 'D:/'.$imgname; //图片保存路径
$path = 'D:/CutyCapt.exe'; //CutyCapt路径
$cmd = "$path --url=$url --out=$out"; //CutyCapt执行命令
echo $cmd , '
'; //D:/CutyCapt.exe --url=http://www.baidu.com --out=D:/test.png
system($cmd);
$e=time();
echo '耗时:' . ($e - $s) . '秒';

LINUX下载

#sudo apt install cutycapt/xenial
#cutycapt --url=http://www.baidu.com --out=baidu.jpg
普通用户执行或者su - root执行 (su切换到root执行会报错)
(cutycapt:20501): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name:assertion 'G_IS_DBUS_CONNECTION (connection)' failed

运行以下命令
#cd /home/test
#wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
#tar -xf phantomjs-2.1.1-linux-x86_64.tar.bz2
#mv phantomjs-2.1.1-linux-x86_64 phantomjs
#cd phantomjs/examples/
#vim test.js //在examples下创建test.js,将下面test.js的代码copy进去
以命令行方式运行,下面的指令是在test.js目录下即/home/test/phantomjs/examples/目录下运行的
运行成功后能在 /home/test目录下 看到test.png就安装成功了
#/home/test/phantomjs/bin/phantomjs test.js http://www.baidu.com /home/test/test.png

创建test.php代码

set_time_limit(0);
$path = 'D:\phantomjs-2.1.1-windows\bin\phantomjs'; //phantomjs路径
//$path = '/home/test/phantomjs/bin/phantomjs'; //linux目录
$jsPath = 'D:\phantomjs-2.1.1-windows\examples\test.js'; //test.js路径
//$jsPath = '/home/test/phantomjs/examples/test.js'; //linux目录
$url = 'https://blog.csdn.net/'; //要抓取的网页
$out = 'D:/test222.png'; //图片保存路径
//$out = '/home/test222.png'; //确认php具有该目录写入权限
$cmd = "$path $jsPath $url $out";
echo $cmd;
system($cmd);

在examples下创建test.js

var page = require('webpage').create();
var args = require('system').args;
var url = args[1];
var filename = args[2];
page.open(url, function () {page.render(filename);phantom.exit();
});

https://blog.csdn.net/bizu005/article/details/84025569


推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • Nginx 反向代理配置与应用指南
    本文详细介绍了 Nginx 反向代理的配置与应用方法。首先,用户可以从官方下载页面(http://nginx.org/en/download.html)获取最新稳定版 Nginx,推荐使用 1.14.2 版本。下载并解压后,通过双击 `nginx.exe` 文件启动 Nginx 服务。文章进一步探讨了反向代理的基本原理及其在实际应用场景中的配置技巧,包括负载均衡、缓存管理和安全设置等,为用户提供了一套全面的实践指南。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
author-avatar
无休止的等待Happy_212
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有