pyppeteer 基本用法和案例

特点

自带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/

pyppeteer 基本用法和案例_第1张图片

案例

此处的代码是淘宝案例,配置淘宝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张图片

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

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

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

你可能感兴趣的:(pyppetteer)