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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • char (*p)[]和char *p[]的区别[建议收藏]

    理解的关键在于:1.[]的优先级高于*,(*p)[]理解为指向一个数组,*(p[])存放指针的数组2. char(*p)[SIZE]:指向一维数组的指针,一维数组只能有SIZE个元素

    2021年12月18日
    37
  • java定义一个数组并初始化_java中什么是数组

    java定义一个数组并初始化_java中什么是数组介绍学习Java的朋友想必对数组并不陌生,它需要使用之前对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用该数组变量来访问数组元素。所谓数组初始化就是让数组名指向数组对象的过程,该过程主要分为两个步骤,一是对数组对象进行初始化,即为数组中的元素分配内存空间和赋值,二是对数组名进行初始化,即为数组名赋值为数…

    2022年9月13日
    0
  • 淘宝十年历程随笔_七十年历程

    淘宝十年历程随笔_七十年历程初创1.淘宝PV页面访问量在十几亿到二十几亿,所以即使访问淘宝首页页面服务器也有成百上千台,这过程用到的负载均衡技术LVS(LinuxVirtualServer由淘宝章文嵩博士开发)2.

    2022年8月3日
    3
  • 关于WiFi密码破解的一些心得

    关于加密方式  目前无线网络加密形式常见的有两种:WEP和WPA/WPA2。  WEP破解方法相对简单,这种加密方式由于不安全现在基本上没有使用了。这里对其破解方法不做讨论。  WPA/WPA2破解的主流方法有Pin码破解、抓包破解。Pin码  Pin码破解最简单成功率最高,(需要路由器开启wps才行),使用QSS很快即可破解。  常用的pin码软件有幻影Pin、水…

    2022年4月14日
    155
  • Java并发编程:线程池的使用

    Java并发编程:线程池的使用

    2022年2月21日
    35
  • 数据库面试常问的一些基本概念

    数据库面试常问的一些基本概念

    2020年11月12日
    169

发表回复

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

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