php phantomjs 截屏,phantomjs截图

php phantomjs 截屏,phantomjs截图废话不多说,直接上代码。功能:随便截取一个url页面:https://www.baidu.com/s?word=phantomjs+%E6%88%AA%E5%9B%BE&tn=43061099_196_hao_pg&ie=utf-8&ssl_sample=hao_1phantomjs的js环境test.jssystem=require(‘system’)address…

大家好,又见面了,我是你们的朋友全栈君。

废话不多说,直接上代码。

功能:随便截取一个url页面:

https://www.baidu.com/s?word=phantomjs+%E6%88%AA%E5%9B%BE&tn=43061099_196_hao_pg&ie=utf-8&ssl_sample=hao_1

phantomjs的js环境test.js

system = require(‘system’)

address = system.args[1];//获得命令行第二个参数 接下来会用到

//console.log(‘Loading a web page’);

var page = require(‘webpage’).create();

var url = address;

//console.log(url);

page.open(url, function (status) {

//Page is loaded!

if (status !== ‘success’) {

console.log(‘Unable to post!’);

} else {

//console.log(page.content);

//var title = page.evaluate(function() {

// return document.title;//示范下如何使用页面的jsapi去操作页面的 www.oicqzone.com

// });

//console.log(title);

console.log(‘ok’);

page.render(‘e:/phantomjs/example.png’);

}

phantom.exit();

});

java调用外部程序代码:

public class PhantomTest {

public static String getAjaxCotnent(String url) throws IOException {

Runtime rt = Runtime.getRuntime();

Process p = null;

try {

p = rt.exec(“D:/phantomjs-2.0.0-windows/bin/phantomjs.exe e:/phantomjs/test.js “+url);

} catch (IOException e) {

e.printStackTrace();

}

InputStream is = p.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is));

StringBuffer sbf = new StringBuffer();

String tmp = “”;

while((tmp = br.readLine())!=null){

sbf.append(tmp);

}

System.out.println(“a”+sbf);

System.out.println(sbf.toString());

return sbf.toString();

}

public static void main(String[] args) throws IOException {

getAjaxCotnent(“https://www.baidu.com/s?word=phantomjs+%E6%88%AA%E5%9B%BE&tn=43061099_196_hao_pg&ie=utf-8&ssl_sample=hao_1”);

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159373.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java的集合和数组_Java集合和数组的区别

    java的集合和数组_Java集合和数组的区别Java 集合和数组的区别集合和容器都是 Java 中的容器 区别数组特点 大小固定 只能存储相同数据类型的数据集合特点 大小可动态扩展 可以存储各种类型的数据转换数组转换为集合 Arrays asList 数组 示例 int arr 1 3 4 6 6 Arrays asList arr for inti 0 iSystem out println arr i 集合转换为数组 集

    2025年10月12日
    8
  • 怎么让Java输入字符串_怎么让Java获取用户输入的字符串[通俗易懂]

    怎么让Java输入字符串_怎么让Java获取用户输入的字符串[通俗易懂]从控制台动态输入数据,对数据进行各种各样的处理,然后将数据输出是很常见的操作。现在对数据的输入方式进行系统的介绍:Scanner类的调用相关方法:hasNext()判断扫描器中当前扫描位置后是否还存在下一段。hasNextLine()如果在此扫描器的输入中存在另一行,则返回true。next()查找并返回来自此扫描器的下一个完整标记。nextLine()此扫描器执行当前行,并返回跳过的输入信息。…

    2022年7月7日
    23
  • ZooKeeper 常用应用场景原理详解

    ZooKeeper 常用应用场景原理详解ZooKeeper 常用应用场景原理详解,zookepper存放数据的目录结构类似于标准的文件系统格式,如果使用过window或linux就能体会到其内部的数据结构

    2022年6月17日
    45
  • vsftpd实例:匿名访问共享+系统用户访问控制

    vsftpd实例:匿名访问共享+系统用户访问控制

    2022年3月3日
    40
  • centos下宝塔的安装卸载「建议收藏」

    centos下宝塔的安装卸载「建议收藏」宝塔是什么简单的说宝塔是一个建站工具,一个简单好用的服务器运维面板,比如我们linux服务器,一般没有安装图形桌面系统,所以我们只能通过SSH方式登录服务器,使用shell命令来控制和操作服务器和文件,比如安装软件和程序,复制粘贴,创建文件等,任何操作都是没有图形界面,这样对于非技术人员还是比较有难度的,不适合初学建站的人使用。目前linux系统和windows系统都有了宝塔面板,而且是宣称永久免费的。下面说一下宝塔的安装和卸载流程安装流程通过ssh连接到需要安装宝塔的服务器,小便用的是腾.

    2025年9月18日
    6
  • 维度建模方法论[通俗易懂]

    维度建模方法论[通俗易懂]维度建模方法一、前言本人学习《数仓工具箱》的学习总结,纯学习分享,供大家参考。二、经典数仓架构理论围绕着维度建模,那就不得不了解,早期的数据仓库构架方法。这里介绍一下两个经典的数仓架构理论。2.1、Kimball模式Kimball模式从流程上看是是自顶向下的,即从数据集市到数据仓库再到数据源(先有数据集市再有数据仓库)的一种敏捷开发方法。对于Kimball模式,数据源每每是给定的若干个数据库表,数据较为稳定但是数据之间的关联关系比较复杂,须要从这些OLTP中产生的事务型数据结构抽取出分析型

    2022年9月23日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号