利用PhantomJS生成图片

一、应用场景

在项目应用中有时需要将网页自动化截图保存下来,通过PhantomJS可以很方便的实现这样的功能。

二、实现代码

var webserver = require('webserver');

var server = webserver.create();
var service = server.listen(8999, function(request, response){
  var page = require('webpage').create();
  page.viewportSize = { width: 900, height: 500 };
  page.clipRect = { top: 0, left: 0, width: 900, height: 500 };
  console.log(request.url.substring(5));
  page.open('http://127.0.0.1/' + request.url.substring(5), function (status) {
      response.statusCode = 200;
      response.headers = {
        'Cache':'no-cache',
        'Content-Type':'image/jpeg'
      };
      response.setEncoding('binary');
      response.write(atob(page.renderBase64('jpg')));
      response.close();
      page.close();
  });
});

将上述代码保存为screen-capture.js文件,然后执行以下命令:

./phantomjs screen-capture.js

打开浏览器输入地址:http://localhost:8999/wxbg/real/57679,浏览器中将看到返回的页面截图。

三、参考资料

http://phantomjs.org

https://cuiqingcai.com/2577.html

转载于:https://my.oschina.net/voole/blog/1815090

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值