Puppeteer入门
简介
- Puppeteer是 GoogleChrome 团队官方的无界面(Headless)Chrome工具
- 它是一个NodeJs库
- 提供了高级的 API 来控制基于Chrome Debug Protocols(简称 CDP)协议上的Headless Chrome
- 可以用于配置控制正常的Chrome
- 本文主要添加一些使用示例
安装
安装chrome
不再详细描述,下载安装即可。启动headless,参考链接
chrome \--headless \ # Runs Chrome in headless mode.--disable-gpu \ # Temporarily needed if running on Windows.--remote-debugging-port=9222 \https://www.chromestatus.com # URL to open. Defaults to about:blank.
安装Puppeteer
npm安装,详情参考链接
$ npm i --save puppeteer
示例代码
网页源码
const puppeteer = require('puppeteer');(async () => {const browser = await puppeteer.launch();const page = await browser.newPage();await page.goto('https://www.toutiao.com', { waitUntil: 'networkidle2' });const pageContent = await page.content()console.log(pageContent)await page.close()await page.deleteCookie()await browser.close();
})();
网页截图
const puppeteer = require('puppeteer');(async () => {const browser = await puppeteer.launch();const page = await browser.newPage();page.setViewport({ width: 1920, height: 2160})await page.goto('https://www.toutiao.com', { waitUntil: 'networkidle2' });await page.screenshot({path:'toutiao.png'})await page.close()await page.deleteCookie()await browser.close();
})();
代理及认证
- 参考文章
const puppeteer = require('puppeteer');(async () => {const proxyServer = 'http://proxy_ip:proxy_port'const browser = await puppeteer.launch({headless:false,args: [`--proxy-server=${proxyServer}`]});const page = await browser.newPage();await page.authenticate({ username: 'username', password: 'password' })await page.goto('https://www.toutiao.com/', { waitUntil: 'networkidle2' });const pageContent = await page.content()console.log(pageContent)await page.close()await page.deleteCookie()await browser.close();
})();
设置代理
正常代理
const puppeteer = require('puppeteer');(async () => {const proxyServer = 'http://proxy_ip:proxy_port'const browser = await puppeteer.launch({headless: false,args: [`--proxy-server=${proxyServer}`]});
})();
含有账密的代理
参考[示例代码 - 代理及认证]
PAC代理
const puppeteer = require('puppeteer');(async () => {const pacProxyFile = 'file location'const browser = await puppeteer.launch({headless: false,args: [`google-chrome --proxy-pac-url=${pacProxyFile}`]});const page = await browser.newPage();await page.authenticate({ username: 'username', password: 'password' })
})();
相关链接
Chrome Debug Protocol
Headless 入门
Puppeteer
Puppeteer中文
相关教程
Puppeteer入门相关推荐
- puppeteer入门教程
puppeteer入门教程 安装命令 npm install puppeteer demo案例-打开百度并截图 const puppeteer = require('puppeteer');(asyn ...
- Puppeteer入门初探
本文来自网易云社区 作者:唐钊 最近在看 node 爬虫相关的一些东西,我记得还是很久以前常用的 node 爬虫工具还是 superagengt+cherrio,他们的思路是通过发起 http 请求然 ...
- Puppeteer入门实践
环境 1.安装nodejs 官网:https://nodejs.org/zh-cn 下载安装好nodejs只后 验证:node -v 出现版本号表示安装成功,否则需要配置环境变量 2.创建node项目 ...
- puppeteer( Nodejs 版 selenium )快速入门
From:https://www.cnblogs.com/CyLee/p/9310839.html puppeteer 官网:https://pptr.dev/ Puppeteer 中文文档 (与官方 ...
- nginx指定配置文件启动_【第1717期】Nginx入门指南
前言 Nginx有在部署早读课网站的时候用到,平时用的不多,又是一个可以顺便了解的知识点.那个@李晓云,这篇是你想了解的吗?今日早读文章由@慕小白翻译分享. 正文从这开始-- 这份指南是对nginx的 ...
- 无头浏览器 和 Puppeteer
什么是无头浏览器 无头浏览器即headless browser,是一种没有界面的浏览器.它有浏览器该有的一切功能,除了界面.可以通过命令进行浏览器内的各种操作. 我们日常使用浏览器的步骤为:启动浏览器 ...
- puppeteer 教程(2) ---- puppeteer介绍
目标 对puppeteer大概的介绍,是什么,能够做什么,如何使用 简介 Puppeteer 是一个node库,他提供了一组用来操纵Chrome的API, 通俗来说就是一个 headless chro ...
- 深入理解浏览器原理和架构|硬核
本文用47张图带你了解「浏览器的发展史」.「浏览器的架构」.「浏览器的基本原理」以及 「浏览器的其它小知识」 ???? 正文开始 浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示HTML文档. ...
- 活动预告丨易盾CTO朱浩齐将出席2018 AIIA大会,分享《人工智能在内容安全的应用实践》
本文来自网易云社区 对于很多人来讲,仿佛昨天才燃起来的人工智能之火,转眼间烧遍了各个角落,如今我们的生活中,处处渗透着人工智能.10月16日,2018年 AIIA人工智能开发者大会在苏州举办,网易云易 ...
最新文章
- pytorch 调用forward 的具体流程
- 杭州程序员吐槽:月薪1.3万,结婚需要给女方彩礼35-40万,直呼结不起!网友回复:娶老婆还是娶祖宗?...
- c语言题目及答案1037,PAT Basic 1037. 在霍格沃茨找零钱(20)(C语言实现)
- SpringMVC核心流程图
- win7服务器端口被占用,高手亲自帮您win7端口被占用的详尽处理要领
- Exynos4412 中断驱动开发(一)—— 中断基础及中断的注册过程
- CVPR AAAI 2020 |人脸活体检测最新进展
- java学习日记之小技巧(跟着变量走一走)
- 幅相曲线matlab,matlab开环幅相曲线
- SQL Server中Text和varchar(max)数据类型区别
- [NVIDIA] Ubuntu 20.04 安装 nvidia-460 + cuda-11.2
- 深度学习实践指南(五)—— 求解异或问题
- 【信号与系统】Multisim 仿真信号合成与分解
- html表格中的字体上下居中 css,css 文字垂直居中实现方法总结
- CH(NH2)2PbI3(FAPbI3) 甲脒碘基钙钛矿 1451592-07-6
- 专利文件公开显示谷歌或正开发实时翻译新型虚拟键盘
- 分享一个qt实现的登录界面模板
- android上查看浏览器内核版本号,各种浏览器的userAgent及如何使用JS来检测游览器类型,或android是什么版本号...
- html怎么做实心圆,html5如何使用canvas画空心圆与实心圆
- php 数字转换为字符串,PHP-将数字转换为Excel的字符串
热门文章
- 如何利用互联网思维在线上进行获客?
- Vue3+Typescript学习笔记(十)组件通信--父子组件通信(props,$emit),非父子组件通信(provide和inject,mitt库)
- HTML5竹林在风中摇曳动画
- Linux工作站开机后鼠标很卡,(已解决)开机后鼠标延迟卡顿1分钟后就没事了是什么情况...
- 水果FL Studio/Cubase/Studio one音乐宿主软件对比
- python指南针_如何用用Python 函数库 APIs 编写?指南针在这里
- tp5 分表+ 分页查询
- microsoft sql server 错误18456
- Python爬虫帮你自建无版权图片素材库!
- 云上创新 | 2021阿里云峰会直播预告