首页 python正文

pyppeteer如何使用cookies实现快速登录

启明SEO python 2022-12-24 11:39:36 1594 0 cookies

要想使用pyppeteer实现cookies登录,首先我们需要知道pypeteer中需要的cookies格式是怎样的。官方文档介绍是说要包含一个拥有以下字段的字典:

* ``name`` (str): **required**
* ``value`` (str): **required**
* ``url`` (str)
* ``domain`` (str)
* ``path`` (str)
* ``expires`` (number): Unix time in seconds
* ``httpOnly`` (bool)
* ``secure`` (bool)
* ``sameSite`` (str): ``'Strict'`` or ``'Lax'``

其实需要的就是一个字典列表,这个我们可以使用pyppeteer直接获取,使用pyppeteer打开一个网站,比如说这里打开我的博客,再使用page.cookies()方法获取到cookies,具体代码如下:

from pyppeteer import launch
import asyncio
async def main():
    browser = await launch(headless=False,
                           args=['--disable-infobars', '--no-sandbox', '--start-maximized'], slowMo=2,
                           dumpio=True)

    page = await browser.newPage()
    await page.goto('https://liaojinhua.com/zb_system/login')
    # 现在暂停程序,我们手动输入密码与账号登录,然后按回车键获取cookies
    input()
    cookies=await page.cookies()
asyncio.get_event_loop().run_until_complete(main())

获取到cookies后,我们输出一下看看,发现就是一个字典列表。现在就可以直接使用了,使用方法有两种:

第一种代码如下:

for cookie in cookies:
    await page.setCookie(cookie)

第二种代码如下:

await page.setCookie(*cookies)

最后完成代码如下:

from pyppeteer import launch
import asyncio
async def main():
    browser = await launch(headless=False,
                           args=['--disable-infobars', '--no-sandbox', '--start-maximized'], slowMo=2,
                           dumpio=True)

    page = await browser.newPage()
    await page.setCookie(*cookies)
    await page.goto('https://liaojinhua.com/zb_system/login')

asyncio.get_event_loop().run_until_complete(main())


评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

修改浏览指纹的方法其实也是很简单,主要使用到......

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

我遇到的问题是电脑原先安装过mysql,卸......