[解决]给你一个Url 然后把网页做成图片返回 这个功能怎么实现比较好

码农与厨子 发布于 2015/01/23 10:23
阅读 1K+
收藏 4
 有个需求。例如。给你一个Url 然后把网页做成图片返回

你们有什么思路 

我的思路两种 一种就是 比较笨。用代码打开浏览器然后调用浏览器插件截图保存上传

另一种就是,我模拟这个Url请求 然后得到网页源码。我内嵌一个浏览器内核。然后解析生成网页布局。然后截图保存?

除了这两种还有什么办法

加载中
0
旧城的骁珖
旧城的骁珖
请使用nodejs
var webpage = require('webpage')
  , page = webpage.create();
page.viewportSize = { width: 1440, height: 900 };
page.clipRect = { top: 0, left: 0, width: 1440, height: 900 };
page.settings = {
  javascriptEnabled: true,
  loadImages: true,
  userAgent: 'Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0'
};

page.open('http://www.jandan.net', function (status) {
  var data;
  if (status === 'fail') {
    console.log('open page fail!');
  } else { 
    page.render('./snapshot/test.png');
  }
  // release the memory
  page.close();
});




0
JavaJason
JavaJason

如果都是纯粹java代码实现的话,建议你看看这篇文章:http://blog.csdn.net/jasonchris/article/details/7705631

和http://blog.csdn.net/jasonchris/article/details/7729130

0
郭幻程
郭幻程
js 直接拿源码生成就行了
0
码农与厨子
码农与厨子

引用来自“JavaJason”的评论

如果都是纯粹java代码实现的话,建议你看看这篇文章:http://blog.csdn.net/jasonchris/article/details/7705631

和http://blog.csdn.net/jasonchris/article/details/7729130

感谢
0
码农与厨子
码农与厨子

引用来自“wxg4osc”的评论

请使用nodejs
var webpage = require('webpage')
  , page = webpage.create();
page.viewportSize = { width: 1440, height: 900 };
page.clipRect = { top: 0, left: 0, width: 1440, height: 900 };
page.settings = {
  javascriptEnabled: true,
  loadImages: true,
  userAgent: 'Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0'
};

page.open('http://www.jandan.net', function (status) {
  var data;
  if (status === 'fail') {
    console.log('open page fail!');
  } else { 
    page.render('./snapshot/test.png');
  }
  // release the memory
  page.close();
});




感谢 我附加上 这个webpage需要安装 phantomjs

0
抢小孩糖吃
抢小孩糖吃
直接调用现有图形库直接把URL打印进图片
码农与厨子
码农与厨子
什么意思。不太懂
0
酒逍遥
酒逍遥

casperjs也可以的

var casper = require('casper').create();  
casper.start('http://www.oschina.net');
casper.then(function(){
        this.capture("osc.png");
});
casper.run();




0
码农与厨子
码农与厨子

引用来自“酒逍遥”的评论

casperjs也可以的

var casper = require('casper').create();  
casper.start('http://www.oschina.net');
casper.then(function(){
        this.capture("osc.png");
});
casper.run();




感谢
返回顶部
顶部