蜘蛛吧,新站快速收录,高质量网站外链,吸引各种蜘蛛! 免费收录 快速收录 最新收录 网站地图 TAGS
首页/ > 文章资讯/ > 运维

php phantomjs javascript 脚本抓取指定网站截图

2023-01-10 10:58:09   运维   0
【导读】:中安装安装步骤引用自查看系统的版本官方下载地址网页中有适合不同系统的版本下载自己需要的使用命令跳转到自己的安装目录在终端中执行命令如果报错说明没有安装命令安装参考路径执行命令解压修改文件的名字创建文件的软链接给软连接添加权限可以不设置检查安...本文地址:/news/1173.html

Linux 中安装 phantomjs

        phantomjs 安装步骤 引用自:https://blog.csdn.net/huo_wa/article/details/117259398

1、查看系统的版本:

uname -a

2、官方下载地址:http://phantomjs.org/download.html

网页中有适合不同系统的版本,下载自己需要的:

3、使用cd命令跳转到自己的安装目录:

4、在终端中执行 rz 命令。如果报错,说明没有安装 rz 命令,安装rz参考路径:https://blog.csdn.net/huo_wa/article/details/117259530

5、执行 rz 命令:

6、解压:

tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2

7、修改文件的名字:

8、创建文件的软链接:

ln -sf /usr/local/phantomjs/bin/phantomjs /usr/local/bin/phantomjs

9、给软连接添加权限(可以不设置):

chmod u+x,o+x /usr/local/bin/phantomjs

10、检查安装的版本,版本号出现之后说明安装成功,否在安装失败:

phantomjs --version

接下来创建 js 截图脚本:   jt.js

var page = require('webpage').create();
var sys = require('system');//创建system对象
var url = sys.args[1]; 
var filename = sys.args[2];
// 浏览器窗口大小
page.viewportSize = { width: 1280, height: 768 };
// 网页截图窗口大小
page.clipRect = { top: 0, left: 0, width: 1280, height: 768 };
//伪装浏览器
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36';
page.customHeaders = {
    "Connection" : "keep-alive",
    "Cache-Control" : "max-age=0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "zh-CN,zh;q=0.8,en;q=0.6",
};
//超时时间
page.settings.resourceTimeout = 20000;  //超时20秒
page.settings.XSSAuditingEnabled = true ;
page.zoomFactor = 0.90;  //缩放 按百分比
// 进行网页打开并保存为图片的操作
page.open(url, function(s) {
    if (s != 'success') {
    phantom.exit(1);
    page.quit();
} else {
    var body = page.evaluate(function () {
      return document.body.bgColor = 'white'; //设置背景为白色
      //return document.body.backgroundColor = 'white'; //设置背景为白色
    });
        setTimeout(function () {//10000ms之后开始截图
          page.render(filename,{format: 'jpg', quality: '80'}); //截图格式为jpg 80%的图片质量
          phantom.exit();
          page.quit();
        }, 10000);
}
});

继续创建 php 脚本 跟 上边的js 交互:

<?php
    $url = "https://www.baidu.com"; //需要截图的网站 百度为例
    $filename = "/home/baidu.jpg";  //图片保存路径
    $ex = "phantomjs jt.js $url $filename";   //拼接命令
    shell_exec($ex);  //执行命令

//基本大功告成,请自行更改,适配自己的程序

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、文章来源:来自于网络收集。

网站声明:本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,本站不承担任何责任。
©2017-2022 蜘蛛吧  https://www.zhizhuba.com/ ICP备案号:冀ICP备19007129号-5