首 页 | 站长基地 网址分类 小程序 源码主题 | 实用工具 最新 推荐 随机 热门 地区导航 | 网址快审 收录标准 | 网址提交 |
当前位置: 首页 > 站长基地 > javascript
来源:原创 浏览:20次 时间:2021-04-06 23:10:10
搭建phantomjs首先进入http://phantomjs.org/download.html选择你的操作系统进行下载安装包小杰拿centos7.x 64位的VPS进行搭建的运行命令w...

搭建phantomjs

首先进入http://phantomjs.org/download.html

选择你的操作系统进行下载安装包
小杰拿centos7.x 64位的VPS进行搭建的
运行命令

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

wget下载.jpg

下载文件到服务器,因为文件是bz2格式,所以我们需要使用bzip2命令进行解压

bzip2 -d phantomjs-2.1.1-linux-x86_64.tar.bz2

之后在执行tar解压命令到目录/user/local/

tar xvf phantomjs-2.1.1-linux-x86_64.tar -C /usr/local/

然后安装依赖软件

yum -y install wget fontconfig

yum依赖软件.jpg

之后我们重命名文件夹

mv /usr/local/phantomjs-2.1.1-linux-x86_64/ /usr/local/phantomjs

之后创建一个软链接,具体作用就是能直接调用phantomjs,就跟安装python等软件是一个原理

ln -s /usr/local/phantomjs/bin/phantomjs /usr/bin/

然后我们执行phantomjs 

[root@root ~]# phantomjs 
phantomjs>

到这样就完成了安装phantomjs。上面的安装教程是参考https://www.cnblogs.com/zengguowang/p/6911812.html

php调用phantomjs

下面是说说如何在web上运行phantomjs
phantomjs是系统软件,我们需要用到php的shell_exec函数,启动这个函数后一定要重启php服务才能生成
首先我们在网站根目录中创建一个test.js的文件,内容代码如下

var page = require('webpage').create();//viewportSize being the actual size of the headless browserpage.viewportSize = { width: 1024, height: 768 };//the clipRect is the portion of the page you are taking a screenshot ofpage.clipRect = { top: 0, left: 0, width: 1024, height: 768 };//the rest of the code is the same as the previous examplepage.open('https://blog.youngxj.cn/', function() {
  page.render('germy.png');
  phantom.exit();});

然后我们在服务器中路径移动到网站根目录,然后执行命令

[root@root blog.youngxj.cn]# phantomjs test.js

等待服务器执行完成后,你就会在网站根目录发现多出一张图片

截图成功.jpg

图片上虽然显示的不完整,但是说明我们的网站截图服务能正常使用了

那如何在web中调用运行呢,下面给大家写个小案例,你就能看懂了

var page = require('webpage').create();var sys = require('system');//创建system对象var url = sys.args[1]; var filename = sys.args[2];// 浏览器窗口大小page.viewportSize = { width: 1024, height: 768 };// 网页截图窗口大小page.clipRect = { top: 0, left: 0, width: 1024, height: 768 };// 进行网页打开并保存为图片的操作page.open(url, function() {
  page.render(filename);
  phantom.exit();});

以上代码重新保存为test1.js
以下代码保存为index.php

<?php// 网站url[一定要加http://]$url = $_GET['url'];// 图片名称[一定要写上图片格式]$filename = $_GET['name'];$ex = "phantomjs test1.js $url $filename";shell_exec($ex);

之后我们访问
http://域名/index.php?url=https://blog.youngxj.cn&name=a.png

就会发现根目录出现一个a.png

截图成功1.jpg

到现在我们的php就能够利用get参数进行网站截图了。
很多眼睛细的同学应该会发现两个截图效果中没有中文字符,全是乱码
这个是服务器本身不包含中文字符,需要自己手动安装中文字符字体(具体如何操作可以参考https://www.linuxidc.com/Linux/2016-09/135548.htm)

当然phantomjs远不止这么点功能,他还支持模拟head头,cookie,ua等数据,还可以进行控制台信息输出,网站加载项记录等等功能,更多参数可以参考官网http://phantomjs.org/
也可以参考(中文):https://www.cnblogs.com/liuliliuli2017/p/6746555.html


上一篇:网页防扒技术合集 下一篇:已经是最后一篇
转载请注明本文地址: http://www.hzlm.net/javascript/219.html复制链接】【收藏 】 【打印更新时间:2021-04-06 23:11:50
特别提示:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.hzlm.net",如遇到无法解压的请联系管理员!

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
最新文章
推荐文章

© 2020-2021 Hzlm.net All Rights Reserved.

QQ联系我们 电子邮件联系我们

粤ICP备2021016327号-1   粤公网安备44060402002046号

顶部