使用playwright获取网站cookies

设计思路

对于一些登录比较复杂的网站,具有反爬虫机制,比如手机验证码、滑块验证等,这时可以通过人工手动登录后,保存cookies到指定文件,以后登录就可以通过加载已保存的cookies实现免登陆啦。
1、打开网站登录页面;
2、设置等待时间,进行手工登录;
3、登录后获取并保存cookies。

from playwright.sync_api import sync_playwright
import json
# 先手动登录,保存Cooies到文件。
def saveCookies():
    with sync_playwright() as p:
        # 显示浏览器,每步操作等待100毫秒
        browser = p.firefox.launch(headless=False, slow_mo=100)
        context = browser.new_context()
        # context.add_init_script(js)
        page = context.new_page()
        page.goto('https://cq.meituan.com/', timeout=50000)  # 设置超时时间为50s
        time.sleep(80)  # 此处手动登录,然后到个人信息页再获取cookie
        cookies = context.cookies()
        print(page.title())
        browser.close()
        f = open('cookies.txt', 'w')
        json.dump(cookies, f)
        print('已获取cookies')
        time.sleep(2)
        browser.close()
saveCookies()#执行函数

你可能感兴趣的:(网络爬虫,python,开发语言)