异步Asyncio + Pyppeteer,带你甩开Selenium十条马路

2,587 阅读2分钟

提起Selenium 大家都应该都知道,这是一款著名的 Web 自动化框架, 经常呗爬虫工具来使用。但是 selenium 的缺点也很清除,比如速度十分缓慢、要求严苛的版本配置。还有些网页检测到是否是使用了selenium ,限制比较多。

今天就给大家介绍一款 web 自动化工具 Pyppeteer,在安装配置的便利和运行效率远胜 selenium。加上Asyncio这个Python的异步协程库的使用, 据说它是Python中最雄心勃勃的库, 两者配合十分强大。

首先你需要安装这两个库

其实现功能如下: 生成页面的截图和PDF。 抓取SPA(单页应用程序)并渲染页面 自动提交表单,输入键盘。

当然还有些高级功能如js注入、模拟操作、异步执行、伪装。

重要的都放了备注,这篇文章足够让你入门Pyppeteer asyncio.get_event_loop().run_until_complete(main()) #启动单个任务

打开百度,输入文字后搜索的实现:

Pyppeteer 三种解析方式

查看状态信息,截图,保存pdf等功能,非常实用

在网页上执行js 脚本

遇到iframe时也不要慌,也有办法.

异步的语法,你需要适应一下. await asyncio.sleep(2) # 异步等待

以及最后需要优雅的关闭浏览器,避免死进程

当然.必须要学会多个任务一起执行

Pyppeteer 其实是 Puppeteer 的 Python 版本。pyppeteer 模块看不懂就去看puppeteer文档,pyppeteer 只是在 puppeteer之上稍微包装了下而已 。pyperteer是puppeteer的Python实现,相比于selenium具有异步加载、速度快、具备有界面/无界面模式

但在selenium被广泛和谐的今天,pyppeteer无疑为防爬打通了捷径,针对selenium的T宝、M团等网站,以前不能用selenium的现在可以使用pyppeteer轻易拿下,后面将针对pyppeteer进行系列教程的分享,关注公众号【Python成功之路】带你走向成功。

大功告成!!! 本文秉承技术分析之道,把好东西献给大家. 公众号内回复“PYPPETEER”,就能获取文章内全套代码, 可直接运行跑通,加速你的速成学会实用。