pyppeteer使用教程(代码片段)

chenxiyuxiao chenxiyuxiao     2022-12-21     324

关键词:

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 用于爬虫, 效率有待验证

小爬爬4:12306自动登录&&pyppeteer基本使用(代码片段)

超级鹰(更简单的操作验证)-超级鹰-注册:普通用户-登陆:-创建一个软件(id)-下载示例代码  1.12306自动登录 2.pyppeteer基本使用  查看详情

0基础学爬虫爬虫基础之自动化工具pyppeteer的使用(代码片段)

...爬虫】专栏,帮助小白快速入门爬虫,本期为自动化工具Pyppeteer的使用。概述前两期文章中已经介绍到了Selenium与Playwright的使用方法,它们的功能都非常强大。而本期要讲的Pyppeteer与Playwright一致,都可以作为Selenium的替代者来使... 查看详情

pyppeteer基本使用demo(代码片段)

...:utf-8-*-#类似selenium,支持异步,不需要再单独安装环境,pyppeteer自动安装环境#异步await要写到一个函数的内部frompyppeteerimportlaunchimportasynciofromlxmlimportetreeasyncdefmain():#实例化一个浏览器,默认的是没有可视化界面bro=awaitlaunch(headless=... 查看详情

pyppeteer爬虫例子(代码片段)

importasyncioimportpyppeteerfromcollectionsimportnamedtupleResponse=namedtuple("rs","titleurlhtmlcookiesheadershistorystatus")asyncdefget_html(url,timeout=30):#默认30sbrowser=awaitpyppeteer.launch(headl 查看详情

爬虫学习pyppeteer(代码片段)

爬虫学习Pyppeteerpyppeteer模块的基本使用引言Selenium在被使用的时候有个麻烦事,就是环境的相关配置,得安装好相关浏览器,比如Chrome、Firefox等等,然后还要到官方网站去下载对应的驱动,最重要的还需要安装对应的PythonSelenium... 查看详情

pyppeteer(代码片段)

目录PyppeteerPyppeteer简介环境安装示例Pyppeteer引言Selenium在被使用的时候有个麻烦事,就是环境的相关配置,得安装好相关浏览器,比如Chrome、Firefox等等,然后还要到官方网站去下载对应的驱动最重要的还需要安装对应的PythonSeleni... 查看详情

asyncio多进程+pyppeteer浏览器控制+pyquery解析实现爬虫demo(代码片段)

importasynciofrompyppeteerimportlaunchfrompyqueryimportPyQueryaspqasyncdefmain():browser=awaitlaunch()page=awaitbrowser.newPage()awaitpage.goto(‘https://dynamic2.scrape.cuiqingcai.com/‘)awaitpage.wait 查看详情

pyppeteer之简介(代码片段)

官方文档链接官方示例:importasynciofrompyppeteerimportlaunchasyncdefmain():bro=awaitlaunch()page=awaitbro.newPage()awaitpage.goto("https://www.baidu.com")awaitpage.screenshot(‘path‘:‘example.png‘)awaitbro.close()asyncio.get_event_loop().run_until_complete(main())1流程解析:as... 查看详情

pyppeteer控制chromium在隐身模式下启用插件(代码片段)

基础启用隐身模式frompyppeteerimportlaunchasyncdefstart_browser():browser=awaitlaunch(**"headless":False)browser_context=awaitbrowser.createIncognitoBrowserContext()page=awaitbrowser_context.newPage()awaitpage.goto("http://www.baidu.com")awaitbrowser.close()return非隐身... 查看详情

pyppeteer 中的 page.waitForTimeout()?

】pyppeteer中的page.waitForTimeout()?【英文标题】:page.waitForTimeout()inpyppeteer?【发布时间】:2021-07-3108:50:29【问题描述】:我有一个pyppeteer(不是puppeteer)浏览器,打开了许多页面,我想等待2秒,然后再在其中一些页面上执行其他... 查看详情

reuqests-html教程

一、概述requests作者开发,集成pyppeteer。最近爬虫遇到的情况是,爬取的网站使用JavaScript渲染的,网站爬取的结果只有一堆JS代码。之前遇到这种情况的处理办法是用Splash(一般是配合Scrapy),或者Selenium来爬取,介绍一下常用的模... 查看详情

pyppepeer淘宝登录(代码片段)

代码:#-*-coding:utf-8-*-#__author__="zok"[email protected]#Date:2019-04-27Python:3.7importtimeimportrandomimportasyncioimportpyppeteerclassLoginTaoBao:"""类异步"""pyppeteer.DEBUG=Truepage=Noneasyncdef 查看详情

蟒蛇使用教程(代码片段)

在AnacondaPrompt中利用Anaconda创建一个python3.6的环境,环境名称为tfcondacreate-ntfpython=3.6在AnacondaPrompt中启动tf环境activatetf关闭环境:deactivatetf安装Tensorflowpipinstalltensorflow-gpuactivatetfactivatetfactivatetfactivatetf 查看详情

vim代码片段插件ultisnips使用教程(代码片段)

...来按需修改后上传到自己的github即可。如果你和我一样也使用vim-plug来管理插件的话,添加下面的代码到你的vimrc中保存刷新即可Plug‘SirVer/ultisnips‘"你自己的代码仓库git地址Plug‘keelii/vim-snippets‘ 查看详情

php使用php教程解析flickrfeed(代码片段)

查看详情

markdown使用githubapi的curl教程(代码片段)

查看详情

git使用教程(代码片段)

git常用命令。创建SSHKey$ssh-keygen-trsa-C"youremail@example.com"配置用户信息$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.email"email@example.com"仓库在当前目录新建一个Git代码库$git 查看详情

pythonmnist使用批量标准化-tensorflow教程(代码片段)

查看详情