文档章节

开源Nodejs项目推荐:抓取网站截图

i5ting
 i5ting
发布于 2016/04/19 10:09
字数 350
阅读 2045
收藏 68

抓取网站截图

很多网页特别长,直接的电脑截图非常麻烦,用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

© 著作权归作者所有

共有 人打赏支持
i5ting
粉丝 189
博文 68
码字总数 98509
作品 3
东城
加载中

评论(7)

xiashulin
xiashulin
做什么业务需要这样去自动截图
吐槽的达达仔
吐槽的达达仔

引用来自“i5ting”的评论

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

引用来自“i5ting”的评论

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

有没有玩过nightmarejs的??

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

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

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

https://github.com/segmentio/nightmare
encro
encro
直接用restify写一个服务调用phantomjs作截图,提供给第三方.大概20行代码,确实很爽
i5ting
i5ting

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

引用来自“i5ting”的评论

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

有没有玩过nightmarejs的??

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

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

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

引用来自“i5ting”的评论

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

有没有玩过nightmarejs的??

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

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

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

有没有玩过nightmarejs的??

貌似这东西已经3年没更新了
吐槽的达达仔
吐槽的达达仔
有没有玩过nightmarejs的??
【Cloud Foundry 应用开发大赛】“17轻松”文章采集应用

应用名称:17轻松 应用URL地址:http://17qingsong.cloudfoundry.com/ 已经开源,GitHub: https://github.com/xieren58/17qingsong 应用说明及使用场景: 17轻松是一个全自动定时采集网易手机...

czchen
2012/12/18
0
42
实例:使用puppeteer headless方式抓取JS网页

google chrome团队出品的puppeteer 是依赖nodejs和chromium的自动化测试库,它的最大优点就是可以处理网页中的动态内容,如JavaScript,能够更好的模拟用户。 有些网站的反爬虫手段是将部分内...

caiyongji
05/09
0
0
OSChina 技术周刊第二十三期 —— 每周技术精粹

每周技术抢先看,总有你想要的! 移动开发 【软件】Android 调试工具 Stetho 前端开发 【翻译】25 个超棒的 HTML5 & JavaScript 游戏引擎开发库 【翻译】什么时候 AngularJS 会超越 jQuery 【...

OSC编辑部
2015/03/02
0
0
nodejs入门——搭建一个聊天室应用

个人博客 http://mvc.coding.io/ 1入门教程推荐 node入门 很早之前看的就是这个,比较浅显易懂,看一遍就明白nodejs到底是怎么一回事儿了 2开源项目 昨天在coding上看到了一个nodejs聊天室,...

蛙牛
2014/08/06
0
6
用electron开发Mark Down编辑器(一) ——功能简介

引子(废话) 从使用github托管个人静态博客开始,了解到了MarkDown,不得说这个标记行语言确实让人非常着迷。 我又是一个爱折腾的人,电脑系统经常换,每次重新搭建Hexo,感觉特别麻烦,每次...

newbiebt
2016/11/25
114
5

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
36分钟前
1
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
51分钟前
4
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
1
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部