文档章节

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

i5ting
 i5ting
发布于 2016/04/19 10:09
字数 350
阅读 1970
收藏 68
点赞 2
评论 7

抓取网站截图

很多网页特别长,直接的电脑截图非常麻烦,用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
粉丝 185
博文 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的??
实例:使用puppeteer headless方式抓取JS网页

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

caiyongji ⋅ 05/09 ⋅ 0

用electron开发Mark Down编辑器(一) ——功能简介

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

newbiebt ⋅ 2016/11/25 ⋅ 5

alex1504/wx-guita_tab

微信小程序·口袋吉他 用微信扫描二维码预览 项目截图 项目地址 https://github.com/alex1504/wx-guitatab 功能说明 分页加载及可配置轮播图 吉他谱浏览及收藏数据统计 吉他谱收藏功能 搜索功...

alex1504 ⋅ 05/04 ⋅ 0

鼓捣phantomjs(二) node.js模块化集成

著作权所有:http://www.cnblogs.com/zeusro/ 引用(爬虫)不给稿费的,切你jj 追忆似屎年华 在上一篇post(http://www.cnblogs.com/zeusro/p/4185196.html)里面,我留下了3个坑没有填平。 ...

amiba.org ⋅ 2014/12/27 ⋅ 0

WEB前端学习面试题之SEO:SEO需要注意哪些点

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰 ⋅ 05/29 ⋅ 0

Vue-cli 脚手架的安装与使用(详细说明)

1.1.1.1 安装Node.js 无疑Node.js是前端编程的必备环境配置之一。 安装过程非常简单,与平时安装的一般软件无异。 官方网站:https://nodejs.org/en/ Node.js自带npm包管理工具,使用npm可使...

weir_will ⋅ 04/05 ⋅ 0

nodejs开源博客系统--Liblog

Liblog开源博客系统(nodejs) 一. 简介 Liblog是一个简单易用的Markdown博客系统,它是基于开源框架thinkJS(使用 ES6/7 特性开发 Node.js 框架)开发的nodejs项目 需要mysql数据库支持,具有...

262248861 ⋅ 2016/07/15 ⋅ 0

【Cloud Foundry 应用开发大赛】“17轻松”文章采集应用

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

czchen ⋅ 2012/12/18 ⋅ 42

发福利:整理了一份关于“资源汇总”的汇总

觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zhCN 通用 free-programming-books-zhCN 免费的计算机编程类中文书籍 精彩博客集合 hacke2/hacke2.gith...

justjavac ⋅ 2014/11/13 ⋅ 1

WEB前端学习面试问题指南:网站的SEO你会怎么做?

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰 ⋅ 05/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 10分钟前 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 26分钟前 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 34分钟前 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 38分钟前 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 57分钟前 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 今天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 今天 ⋅ 0

聊聊spring cloud gateway的RedisRateLimiter

序 本文主要研究下spring cloud gateway的RedisRateLimiter GatewayRedisAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springframework/cloud/gateway/con......

go4it ⋅ 今天 ⋅ 0

169. Majority Element - LeetCode

Question 169. Majority Element Solution 思路:构造一个map存储每个数字出现的次数,然后遍历map返回出现次数大于数组一半的数字. 还有一种思路是:对这个数组排序,次数超过n/2的元素必然在中...

yysue ⋅ 今天 ⋅ 0

NFS

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC...

派派菠菜 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部