关于Nodejs 做网页截屏的问题。。。。。
发布于 11 年前 作者 hedgehog 10879 次浏览 最后一次编辑是 8 年前

最开始是用https://github.com/Skullbock/screenshot-nodejs 去做的, 他是基于snapito,后来发现速度会很慢。

所以就想用phantomjs做截屏。

然后在github找到一个模块https://github.com/brenden/node-webshot 但不知道什么原因,照着上面的API弄,一直不成功。。。 不知道是因为他的代码有问题,还是我这边的问题。。调试了好久,还是找不到原因。愁死了。。

有经验的同学麻烦帮我看下。 或者有更好的截屏方法~~

9 回复

果断phantomjs

phantomjs很好用,但是注意要和nodejs配合使用的话使用node.js 0.8.4 + Phantom1.9。 node.js 0.10.4 + [Phantom1.6 ~ Phantom1.9]有bug

phantomjs 正解

这个我测了一下 感觉 node.js + html2image 截图速度要快些呢!

phantomjs 折腾了下,,感觉没说的那么好用。。。 找用nodejs操作phantomjs的包都找了好几个,试了phantomjs和phantom这两个包都不怎么好用。而且安装各种报错。说明文档写的也不清楚。

最后才找了个node-phantom,勉强还可以。。

但phantomjs本身也有很多BUG。。他的viewportSize这个属性根本就没起到作用。 而且phantomjs也不能生成缩略图,很不方便啊。。

如果我要截取一个页面,并保存为错缩略图 用什么好呢?

phantomjs生成原始截图后用imagemagick里的工具做缩略图呗

phantomjs有不许要安装的包 http://phantomjs.org/download.html 立马可用的

不是这个问题,是phantomjs可以截图,但是不能对图片进行缩放。。他有zoomFactor这个缩放属性,但只针对网页的,有很多网页一缩放就变形了,截屏下来也就没意义了。。所以要先截屏,保存为图片,然后再对图片进行缩放。。 但phantomjs没这功能~~~真纠结。

楼主的需求看似比较复杂啊,一般都phantomjs

回到顶部