学习Three.js的时候,看到官方提供了很多很多的example,实在太多了,但并不是每个我都感兴趣,想去了解,但我又记不住每个链接对对应的效果是什么样的,于是我想,能不能把所有的案例用图片保存下来,用图片来对异性每一个example不是更直接明了吗? 于是我准备写一个工具,这个工具可以批量将网页保存成图片或PDF并且生成对应的图片案例页面,或json数据

说干就干

因为对nodejs比较数据,于是就选择用nodejs+puppeteer来实现这个小工具.当然python也是可以的.

首先是获取所有的example链接

在控制台输入下面这段代码就会获取所有example的链接json数组

代码如下:

 let linkArr = [...document.querySelector('#content').querySelectorAll('a')].map(x => {return {href:x.href,name:x.innerText.replace(/\//g, '_',)}})console.log(linkArr)

效果如图:

主程序代码如下

使用async await 递归example的链接数组 进行截图,保存.

const puppeteer = require('puppeteer');(async () => {const link = {linkArr: [{nam:'animation_cloth', href :'http://172.16.7.199:8000/examples/webgl_animation_cloth.html'},{name:'animation_keyframes',href:'http://172.16.7.199:8000/examples/webgl_animation_keyframes.html'}]}const browser = await puppeteer.launch({executablePath:'./chrome-win/chrome.exe',// headless:false,defaultViewport :{width:1920,height:1080}});const linkArr = link.linkArrlet i = 0async function forGet() {let  x = linkArr[i]const page = await browser.newPage();await page.goto(x.href);await setTimeout(x => {}, 5000)await page.screenshot({path: x.name+'.jpg'});i++if (i < linkArr.length) {forGet()} else {await browser.close();}}forGet()// let linkArr = [...document.querySelector('#content').querySelectorAll('a')].map(x => {//   return {//     href:x.href,//     name:x.innerText.replace(/\//g, '_',)//   }// })// console.log(linkArr)})()

当然这个程序有很多大的性能提升空间,比如并发请求链接,而不是同步. 再比如多线程.都是不错的方案

使用Nodejs+puppeteer 批量保存网页为图片或PDF相关推荐

  1. 【超实用】python批量ppt转图片,pdf转图片,word转图片脚本,直接拿去用

    前言 某天我们运营在编辑后台的时候说每次上传ppt,pdf,word时都要把每个文件先导出一次图片,然后一个一个上传(png用作预览,ppt,pdf,word源文件不能直接下载的,要付费),说效率太低 ...

  2. python批量把漫画图片转PDF格式代码

    我有个爱好,喜欢看漫画,但是很多漫画找到以后是图片格式,不太好保存,所以写了一个批量把漫画文件按照文件夹的形式转成pdf格式并存储的py小程序,分享出来! import img2pdf import ...

  3. 怎么批量保存网页图片-快速批量保存网页的方法

    怎么批量保存网页图片,日常工作和生活娱乐中,我们经常在网上保存大量的图片,不管是表情包,或者产品图等等.一保存就是几十上百张,想想就痛苦. 接下来的文章将会给大家介绍如何快速地批量保存下载网页图片,支 ...

  4. MATLAB【四】 ————批量适配图片信息与excel/txt等文档信息,批量移动拷贝图片,批量存图片中点和方框

    1.批量读取图片,批量读取文件 2.适配文件与excel.txt等文档信息 3.获取显示图片ROI.Point.rect.更改像素值 4.批量移动拷贝图片,批量显示 5.保存显示图片或者图片中的点和方 ...

  5. word存为html图片有两个,如何批量保存Word图片?另存为Word多个图片的方法

    如何批量保存Word图片?很多用户在发送Word文档的时候都没有附上原图的习惯,导致接收方需要使用Word文档中的图片的时候还需要一个个另存为下载,当然,这是不明智的行为,如果你曾经历过这些,一定想知 ...

  6. aspx网页背景图片设置代码_python requests,BeautifulSoup批量下载360图片

    本代码演示通过python的requests,BeautifulSoup库批量下载360图片,并保存在本机的路径 代码如下: #BeautifulSoup库是网页爬虫解析库,主要用来对HTML源代码进 ...

  7. Python批量删除错误图片、修改文件名以及删除重复图片

    一.批量删除错误图片: 代码如下: import osfor name in range(1,150):with open('C:\\Users\\adimin\\Desktop\\Pixiv_Img ...

  8. 在线批量压缩JPG图片-JpegMini

    2019独角兽企业重金招聘Python工程师标准>>> 之前有推荐过一个在线批量压缩PNG图片的网站TinyPng,这儿小觉再次推荐一个同类网站,专门在线批量压缩JPG图片的Jpeg ...

  9. foxit phantom pdf 7.3_Jpeg to Pdf Converter 3000批量将图片转为PDF的方法

    Jpeg to Pdf Converter 3000是一款非常优秀的图片转PDF软件,该软件界面清爽美观,用户使用该软件,可以快速的将JPG图片转换为PDF文件,而且转换的质量非常高.我们在日常的办公 ...

  10. 大多数人不敢想的PDF操作:添加书签,电子签名,压缩,修改文字,提取部分页面为新文件、批量导出为图片

    目录 PDF神仙级软件和网站(免费) PDF加书签 PDF电子签名 PDF文件压缩 修改PDF内的文字 提取部分页面为新PDF文件 PDF批量导出为图片 PDF神仙级软件和网站(免费) 主要以比较方便 ...

最新文章

  1. PluckerNet:一种基于3D线匹配的配准网络(CVPR2021)
  2. 二、应用层协议概述与HTTP
  3. 用800行代码做个行为树(Behavior Tree)的库(2
  4. react http请求_通过Webpack全局配置开发环境和多种生产环境的请求地址
  5. ES6关于Promise的用法
  6. html5摒弃的标记,全新改进的HTML5表单创建
  7. linux打开vivado_ubuntu启动vivado UBUNTU 16.04安装VIVADO成功启动SDK - Linux - 服务器之家...
  8. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
  9. p话少说,放码过来?
  10. 开源个.NetCore写的 - 并发请求工具PressureTool
  11. 115配额怎么增加_笔电、平板接口少怎么办,ORICO八合一多功能扩展坞助你一臂之力...
  12. 神奇的国度(HYSBZ-1006)
  13. 作为Java开发工程师,如何高效优雅地编写接口文档
  14. php curl登录,php curl保存登录信息 模拟登录
  15. 关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围
  16. 怎么计算crc16校验数据的校验码
  17. Ubuntu图形界面和终端界面切换快捷键
  18. 数字信号处理中均值、均方值、均方差、均方根值、均方误差、均方根误差、方差、协方差、标准差对比分析及统计学意义
  19. EndNoteX9保姆级基础功能使用教程(够用!!)
  20. java 将html转为word导出 (富文本内容导出word)

热门文章

  1. 什么是数据库连接池?为什么使用数据库连接池?数据库连接池工作原理
  2. 奇*信往期秋招笔试知识点总结
  3. FFT算法(Java实现)
  4. VS2015配置OpenCV-contribu4.1.1及缺少xfeatures2d等无法打开包括文件: “features2d/test/test_detectors_regression.im问题
  5. 数字图像处理技术与应用练习题
  6. 温湿度传感器的工作原理及应用领域你了解多少呢
  7. Oracle--CDB和PDB数据库的启动与关闭说明
  8. 最互联网的定制家居增长新势力,如何三招实现疫情期的逆势增长?
  9. 联想硬盘保护系统计算机名,联想硬盘保护系统,教您联想硬盘保护系统怎么用...
  10. 可以上传、下载文件的SSH客户端软件--SecureCRT绿色版