pyppeteer 使用教程
Posted chenxiyuxiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyppeteer 使用教程相关的知识,希望对你有一定的参考价值。
1 安装模块 pip install pyppeteer
2 初次调用
import asyncio
from pyppeteer import launch
async def main():
browser = await launch(‘headless‘: False,‘dumpio‘:True, ‘autoClose‘:False,‘args‘: [‘--no-sandbox‘, ‘--window-size=1366,850‘])
page = await browser.newPage()
await page.setViewport(‘width‘: 1366, ‘height‘: 768)
await page.goto(‘http://www.baidu.com‘)
# await page.screenshot(‘path‘: ‘example.png‘) 截屏
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
# 第一次调用 会开始下载需要的插件工具 ,如果设置成无头浏览器,可能会报超时的错误
3 常用的属性以及方法
title = await page.title() # 获取标题
print(title)
cookie = await page.cookies() # 获取cookie , 字典形式
print(cookie)
targe = page.target # 暂时不清楚
print(targe)
cov = await page.content() # 获取渲染后网页的内容
print(cov)
4 选择器
使用 page.querySelector如果没有找到指定的对象,则返回None,而不是抛出异常。不管规范不规范,反正比selenium爽多了。
5 避免反爬,可在加载页面之前注入js代码
在page.goto(xxxx) 前加入以下代码
page.evaluateOnNewDocument(
""" var _navigator = ;
for (name in window.navigator)
if (name != "webdriver")
_navigator[name] = window.navigator[name]
Object.defineProperty(window , ‘navigator‘ ,
get : () => _navigator,
)
"""
)
6 缺点 , 当程序中涉及到点击某个标签的话,可能将进程卡死
7 用于爬虫, 效率有待验证
以上是关于pyppeteer 使用教程的主要内容,如果未能解决你的问题,请参考以下文章