开源Nodejs项目推荐:抓取网站截图
博客专区 > i5ting 的博客 > 博客详情
开源Nodejs项目推荐:抓取网站截图
i5ting 发表于2年前
开源Nodejs项目推荐:抓取网站截图
  • 发表于 2年前
  • 阅读 1813
  • 收藏 68
  • 点赞 2
  • 评论 7

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 很多网页特别长,直接的电脑截图非常麻烦,用ps等工具也非常麻烦,所以很多人都问我有木有自动抓出截图的软件,Node.js里是有的,本文会带着你玩,可以干很多坏事哦~~

抓取网站截图

很多网页特别长,直接的电脑截图非常麻烦,用ps等工具也非常麻烦,所以很多人都问我有木有自动抓出截图的软件

Node.js里是有的

推荐pageres

首先全局安装

$ PHANTOMJS_CDNURL=https://npm.taobao.org/dist/phantomjs npm install phantomjs --registry=https://registry.npm.taobao.org --no-proxy
$ npm install --global pageres-cli

执行

screenshot.png

效果如下

screenshot-output.png

说明:此模块依赖PhantomJS,请备好梯子或者用文中的国内镜像

嵌入代码中

通过shell是可以做,这是给其他语言调用的,对于Node.js,你可以使用对应模块就好了

https://github.com/sindresorhus/pageres

$ npm install --save pageres

PhantomJS, which is used for generating the screenshots, is installed automagically, but in some rare cases it might fail to and you'll get an Error: spawn EACCES error. Download PhantomJS manually and reinstall pageres if that happens.

用法

const Pageres = require('pageres');

const pageres = new Pageres({delay: 2})
    .src('yeoman.io', ['480x320', '1024x768', 'iphone 5s'], {crop: true})
    .src('todomvc.com', ['1280x1024', '1920x1080'])
    .dest(__dirname)
    .run()
    .then(() => console.log('done'));

原理

其实就是利用无头浏览器PhantomJS来实现的截图

剩下的就自己玩去吧

全文完

欢迎关注我的公众号【node全栈】

node全栈.png

共有 人打赏支持
粉丝 173
博文 66
码字总数 78270
作品 3
评论 (7)
吐槽的达达仔
有没有玩过nightmarejs的??
i5ting

引用来自“吐槽的达达仔”的评论

有没有玩过nightmarejs的??

貌似这东西已经3年没更新了
吐槽的达达仔

引用来自“i5ting”的评论

引用来自“吐槽的达达仔”的评论

有没有玩过nightmarejs的??

貌似这东西已经3年没更新了

。。。这github上面挺活跃的啊
i5ting

引用来自“吐槽的达达仔”的评论

引用来自“i5ting”的评论

引用来自“吐槽的达达仔”的评论

有没有玩过nightmarejs的??

貌似这东西已经3年没更新了

。。。这github上面挺活跃的啊

你把链接发我一下,是不是我看的不对啊?
encro
直接用restify写一个服务调用phantomjs作截图,提供给第三方.大概20行代码,确实很爽
吐槽的达达仔

引用来自“i5ting”的评论

引用来自“吐槽的达达仔”的评论

引用来自“i5ting”的评论

引用来自“吐槽的达达仔”的评论

有没有玩过nightmarejs的??

貌似这东西已经3年没更新了

。。。这github上面挺活跃的啊

你把链接发我一下,是不是我看的不对啊?

https://github.com/segmentio/nightmare
xiashulin
做什么业务需要这样去自动截图
×
i5ting
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: