pyppeteer和核心思路就是通过python启动chromium浏览器后,通过python执行一些浏览器设置、命令执行、跳转等行为,同时通过evaluate()函数注入JS代码到网页内进行元素内容读写操作。
python主要操作浏览器,JS则注入浏览器页面内部直接操作并可将结果返回。
pyppeteer确实是爬虫神器。
import asyncio
from pyppeteer import launch
async def main():
#启动浏览器 并设置浏览器窗口大小
browser = await launch(headless=False,userDataDir='d:/tests/userdata',args=['--window-size=1920,1080','–start-maximized','–disable-infobars'])
#浏览器打开新页面
page = await browser.newPage()
# 设置请求头userAgent
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3542.0 Safari/537.36')
#设置页面视口大小
await page.setViewport({
"width": 1920,
"height": 1080
})
#浏览器跳转到制定地址 设定60秒超时
await page.goto('https://www.baidu.com/',{'timeout':1000*60