Puppeteer前言之所以开始学习这个技术是因为想做一个类似人人视频的电影资源网站,所以想通过学习爬虫获取相关资料.供您自己下载使用的电影资源。之前了解到大部分爬虫都是使用python实现的,但是因为工作忙,没有太多时间去学习新的语言,所以去网上搜索一下有没有前端使用的爬虫框架。网上大都推荐节点库——puppeteer什么是Puppeteer?Puppeteer是一个节点库,它提供了一组用于操作Chrome的API。总的来说就是一个headlesschrome浏览器(当然你也可以配置成有UI的,默认是没有的)。既然是浏览器,Puppeteer就可以在浏览器上做一切我们可以手动做的事情,比如用户的鼠标键盘操作。Puppeteer可以做什么?1.可以生成网页截图,生成PDF2。爬虫(常用)可以爬到异步加载内容的网页(基本上都可以爬)3.模拟用户操作(如:键盘鼠标操作,提交表单,打开/关闭/登录网页)4.实现UI自动化测试,帮助分析网站性能问题,运行环境,安装因为在puppeteer中,大部分都是异步操作,所以看各种文档可以看到async,await之类的ES7语法。目前官方要求是:在puppeteerv1.18.1之前,NODE版本需要至少为v6.4.0。NODE版本从v1.18.1到v2.1.0至少不低于v8.9.0。从v3.0.0开始,NODE的版本至少不低于v10.18.1,如果要使用async/await,NODE的版本至少不低于v7.6.0。您使用最新的chrome驱动程序。这是当你通过npm安装puppeteer时会自动检查你本地的驱动版本,然后自动下载最新的chrome驱动来安装puppeteernpminstallpuppeteer--savecnpminstallpuppeteer--saveyarnaddpuppeteerthroughnpm/cnpm/yarn使用(截图操作)当你安装完puppeteer后,我们就可以写一个简单的例子了。开始我们的学习之路demo1//1.首先介绍puppeteerconstpuppeteer=require("puppeteer");//2.启动puppeteer,启动浏览器引擎puppeteer.launch({ignoreHTTPSErrors:true,headless:false,slowMo:250,defaultViewport:{width:1920,height:1080,},timeout:0,}).then(async(browser)=>{//3.新建一个浏览器页面letnewPage=awaitbrowser.newPage();//4.设置本页跳转地址awaitnewPage.goto("https://www.chapaofan.com/");//5.本页截图awaitnewPage.screenshot({type:"jpeg",path:"../index.jpg",fullPage:true,});//6.关闭浏览器awaitbrowser.close();});demo结果已经切到项目上层目录,需要图片代码分析(根据上面源码)1.puppeteer.launch(options)该方法用于启动chrome浏览器,返回一个Promise,使用then方法获取浏览器实例,然后就可以操作浏览器参数选项了(这里给出一些常用参数):(1)ignoreHTTPSErrors
