pyppeteer 基本用法和案例

news2024/11/17 13:33:50

特点

自带chromium 不用自己下载也可以下载,比较省事.比selenium好用

可异步调用

简介

一. pyppeteer介绍
Puppeteer是谷歌出品的一款基于Node.js开发的一款工具,主要是用来操纵Chrome浏览器的 API,通过Javascript代码来操纵Chrome浏览器,完成数据爬取、Web程序自动测试等任务。

Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式。

Pyppeteer的两大特点,chromium浏览器和asyncio框架:

Chromium是一款独立的浏览器,是Google为发展自家的浏览器Google Chrome而开启的计划,相当于Chrome的实验版,Chromium的稳定性不如Chrome但是功能更加丰富,而且更新速度很快,通常每隔数小时就有新的开发版本发布。
asyncio是Python的一个异步协程库,自3.4版本引入的标准库,直接内置了对异步IO的支持。
github地址:https://github.com/puppeteer/puppeteer/blob/v2.1.1/docs/api.md

中文版教程:https://zhaoqize.github.io/puppeteer-api-zh_CN/

案例

此处的代码是淘宝案例,配置淘宝webdriver阻拦设置为false

import asyncio
from pyppeteer import launch

width, height = 1366, 768

async def main():
    browser = await launch(headless=False, args=['--disable-infobars'], userDataDir='./userdata')
    page = await browser.newPage()
    await page.setViewport({'width': width, 'height': height})
    await page.goto('https://www.taobao.com/')
    await page.evaluate(
        '''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }''')
    await asyncio.sleep(1000)

参数配置案例

pyppeteer的环境搭建,常见参数及2个案例_错误:找不到满足要求的版本pyee<9.0.0,>=8.1.0(来自pyppeteer)(来自版本:-CSDN博客

Python 爬虫利器之 Pyppeteer 的用法 - 知乎

借鉴以上博主,以防自己忘记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1065518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Columbus:一个基于API实现的子域名发现服务工具

关于Columbus【点击领取安装包】 Columbus是一款功能强大的子域名发现与枚举工具&#xff0c;该工具基于API实现其功能&#xff0c;并且还提供了很多其他的高级功能。在该工具的帮助下&#xff0c;广大研究人员可以快速且高效地实现子域名枚举任务。 【点击领取安装包】 前端…

接口测试复习Requests PyMysql Dubbo

一。基本概念 接口概念&#xff1a;系统与系统之间 数据交互的通道。 接⼝测试概念&#xff1a;校验 预期结果 与 实际结果 是否⼀致。 特征&#xff1a; 测试⻚⾯测试发现不了的问题。&#xff08;因为&#xff1a;接⼝测试 绕过前端界⾯。 &#xff09; 符合质量控制前移理…

【开发篇】十八、SpringBoot整合ActiveMQ

文章目录 1、安装ActiveMQ2、整合3、发送消息到队列4、使用消息监听器对消息队列监听5、流程性业务消息消费完转入下一个消息队列6、发布订阅模型 1、安装ActiveMQ docker安装 docker pull webcenter/activemqdocker run -d --name activemq -p 61616:61616 -p 8161:8161 webce…

Pikachu靶场——跨站请求伪造(CSRF)

文章目录 1. 跨站请求伪造&#xff08;CSRF&#xff09;1.1 CSRF(get)1.2 CSRF(post)1.3 CSRF Token1.4 CSRF漏洞防御 1. 跨站请求伪造&#xff08;CSRF&#xff09; 还可以参考我的另一篇文章&#xff1a;跨站请求伪造(CSRF) 全称Cross-site request forgery&#xff0c;翻译…

DRM全解析 —— plane详解(1)

本文参考以下博文&#xff1a; Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢&#xff01; 1. 简介 一个plane代表一个image layer&#xff08;硬件图层&#xff09;&#xff0c;最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。…

软信天成:医药企业数据整合难、共享难?这套企业级数据治理体系是关键

在数字化时代&#xff0c;数据已成为企业发展的核心资产。然而&#xff0c;对于拥有十余个业务系统的某大型国有医药企业&#xff08;下文简称案例企业&#xff09;来说&#xff0c;数据整合难、共享难等问题却一直存在。面对庞杂的数据来源和多样化的数据格式&#xff0c;传统…

Datawhale团队第十期录取名单!

Datawhale团队 公示&#xff1a;Datawhale团队成员 Datawhale成立四年了&#xff0c;从一开始的12个人&#xff0c;学习互助&#xff0c;到提议成立开源组织&#xff0c;做更多开源的事情&#xff0c;帮助更多学习者&#xff0c;也促使我们更好地成长。于是有了我们的使命&…

OpenAI重大更新!为ChatGPT推出语音和图像交互功能

原创 | 文 BFT机器人 OpenAI旗下的ChatGPT正在迎来一次重大更新&#xff0c;这个聊天机器人现在能够与用户进行语音对话&#xff0c;并且可以通过图像进行交互&#xff0c;将其功能推向与苹果的Siri等受欢迎的人工智能助手更接近的水平。这标志着生成式人工智能运动的一个显著…

Embedding技术与应用 (2) :神经网络的发展及现代Embedding方法简介

编者按&#xff1a;IDP开启Embedding系列专栏&#xff0c;详细介绍Embedding的发展史、主要技术和应用。 本文是《Embedding技术与应用系列》的第二篇&#xff0c;重点介绍 神经网络的发展历程及其技术架构&#xff0c;剖析了嵌入技术与这些神经网络&#xff08;Transformer、B…

通讯网关软件017——利用CommGate X2Modbus实现Modbus RTU访问MSSQL服务器

本文介绍利用CommGate X2Modbus实现Modbus RTU访问MS SQL数据库。CommGate X2MODBUS是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;实现上位机通过Modbus RTU来获取MS SQL数据库的数据。 【…

解密人工智能:决策树 | 随机森林 | 朴素贝叶斯

文章目录 一、机器学习算法简介1.1 机器学习算法包含的两个步骤1.2 机器学习算法的分类 二、决策树2.1 优点2.2 缺点 三、随机森林四、Naive Bayes&#xff08;朴素贝叶斯&#xff09;五、结语 一、机器学习算法简介 机器学习算法是一种基于数据和经验的算法&#xff0c;通过对…

0基础学习VR全景平台篇 第104篇:720全景后期软件安装

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 摄影进入数码时代&#xff0c;后期软件继承“暗房工艺”&#xff0c;成为摄影师表达内在情感的必备工具。 首先说明&#xff0c;全景摄影与平面摄影的一个显著的区别是全景图片需…

将表情存入数据库

概念&#xff1a; 表情是一种比较特殊的字符串&#xff0c;为unicode编码&#xff0c;unicode编码要存入数据库一般情况下&#xff0c;是存不了的&#xff0c;有两种解决方式&#xff0c;一种将数据表编码方式改为unicode编码方式&#xff0c;但是这种情况适用于功能刚开始设计…

TikTok+KOL:打造品牌种草的完美组合

随着社交媒体的崛起&#xff0c;品牌推广已经进入了全新的时代。在这个数字时代&#xff0c;消费者不再仅仅关注产品的质量和功能&#xff0c;他们也关注品牌的故事&#xff0c;情感共鸣以及社交影响力。 因此&#xff0c;品牌种草已经成为品牌营销策略中的一环&#xff0c;而…

1.4 系统环境变量

前言&#xff1a; **1.4 系统环境变量** --- **主要内容**: - **系统环境变量的定义**: 系统环境变量是在计算机操作系统中定义的一系列变量。这些变量是全局的&#xff0c;可以被操作系统上的所有应用程序所使用。 - **Java中的环境变量**: - 当学习和使用Java时&am…

[计算机入门] Windows附件程序介绍(轻松使用)

3.15 Windows附件程序介绍(轻松使用) 3.15.1 讲述人 Windows系统中的讲述人&#xff08;Narrator&#xff09;是一项辅助功能&#xff0c;旨在帮助具有视觉障碍或阅读困难的用户。讲述人可以读出屏幕上的文本和其他内容&#xff0c;同时提供导航和操作指导。 以下是讲述人程序…

算法通关村第16关【黄金】| 滑动窗口与堆结合

思路&#xff1a;求最大值和前k个最大值通常就要考虑使用堆 一般想法是堆的根结点保存当前窗口最大值&#xff0c;循环加入元素&#xff0c;怎么判断根结点是不是在窗口内呢 那就是还需要保存元素对应的下标&#xff0c;当根结点的下标在窗口外&#xff08;一定会在最左侧&am…

亚马逊计划向开创性的人工智能初创公司Anthropic投资高达4亿美元

原创 | 文 BFT机器人 在一项巨大而突破性的举措中&#xff0c;亚马逊公布了向人工智能初创公司Anthropic投资高达4亿美元的计划&#xff0c;其愿景是创建更易于理解和可控的人工智能系统。此次合作标志着亚马逊打算在人工智能领域率先取得进步&#xff0c;巩固其在技术领域的地…

gitee 创建仓库 git 连接

文章目录 gitee 创建仓库 & git 连接gitee 创建仓库git 可视化工具使用 gitee 创建仓库 & git 连接 gitee 创建仓库 gitee 官网&#xff1a;工作台 - Gitee.com 先注册、登录账号 点击右上角 号&#xff0c;新建仓库 填写仓库名称&#xff0c;然后创建 选择你所在…

1.5 JAVA程序运行的机制

**1.5 Java程序的运行机制** --- **简介&#xff1a;** Java程序的运行涉及两个主要步骤&#xff1a;编译和运行。这种机制确保了Java的跨平台特性。 **主要内容&#xff1a;** 1. **Java程序的执行过程**&#xff1a; - **编译**&#xff1a;首先&#xff0c;扩展名为.jav…