python 自动登录访问网站

  用程序自动登录某网站:

  1、首先在浏览器手动登录某网站

  2、从浏览器获取cookie

  3、在程序中把获取的cookie设置在程序中就可以自动登录

  下面list_cooke 可以通过google浏览器的EditThisCookie插件导出

from selenium import webdriver
from selenium.webdriver.chrome.options import Options


def get_driver(proxy, headless=True):
    chrome_options = Options()
    if headless:
        chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
    chrome_options.add_argument(
        'user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"')
    if proxy:
        chrome_options.add_argument('--proxy-server=' + proxy)
    driver = webdriver.Chrome(chrome_options=chrome_options)
    driver.set_page_load_timeout(60)
    driver.maximize_window()
    return driver


def logon_web():
    driver = get_driver('', False)
    try:
        url = 'https://www.baidu.com/'
        driver.get(url)
        driver.delete_all_cookies()
        list_cooke =[
{
    "Domain": ".baidu.com",
    "expirationDate": 1640169402,
    "hostOnly": False,
    "httpOnly": False,
    "name": "BA_HECTOR",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "81a02lak212l8100r61gs5sda0q",
    "id": 1
},
{
    "Domain": ".baidu.com",
    "expirationDate": 1671701707.753021,
    "hostOnly": False,
    "httpOnly": False,
    "name": "BAIDUID",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "295E4D533D77D7DDEF8FA7C4D846CCB4:FG=1",
    "id": 2
},
{
    "Domain": ".baidu.com",
    "expirationDate": 1671701803.358657,
    "hostOnly": False,
    "httpOnly": False,
    "name": "BAIDUID_BFESS",
    "path": "/",
    "SameSite": "no_restriction",
    "secure": True,
    "session": False,
    "storeId": "0",
    "value": "295E4D533D77D7DDEF8FA7C4D846CCB4:FG=1",
    "id": 3
},
{
    "Domain": ".baidu.com",
    "expirationDate": 1899365783.277132,
    "hostOnly": False,
    "httpOnly": True,
    "name": "BDUSS",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "npqMEZnU0E5ZmdIRnF5QmI2QW1ybFp5SmtOMFN6dGpXYXRhV0tzaWZKZVhmdXBoRUFBQUFBJCQAAAAAAAAAAAEAAAA0w~oGc2hhb19za3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJfxwmGX8cJhN",
    "id": 4
},
{
    "Domain": ".baidu.com",
    "expirationDate": 1955525803.358692,
    "hostOnly": False,
    "httpOnly": True,
    "name": "BDUSS_BFESS",
    "path": "/",
    "SameSite": "no_restriction",
    "secure": True,
    "session": False,
    "storeId": "0",
    "value": "npqMEZnU0E5ZmdIRnF5QmI2QW1ybFp5SmtOMFN6dGpXYXRhV0tzaWZKZVhmdXBoRUFBQUFBJCQAAAAAAAAAAAEAAAA0w~oGc2hhb19za3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJfxwmGX8cJhN",
    "id": 5
},
{
    "Domain": ".baidu.com",
    "expirationDate": 2649317784,
    "hostOnly": False,
    "httpOnly": False,
    "name": "BIDUPSID",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "D722E0CA4AC99C35D083E363248667B3",
    "id": 6
},
{
    "Domain": ".baidu.com",
    "hostOnly": False,
    "httpOnly": False,
    "name": "H_PS_PSSID",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": True,
    "storeId": "0",
    "value": "35466_35105_31660_35239_35456_34584_35491_34872_35322_26350_35478_35562",
    "id": 7
},
{
    "Domain": ".baidu.com",
    "expirationDate": 3787649430.8953,
    "hostOnly": False,
    "httpOnly": False,
    "name": "PSTM",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "1640165783",
    "id": 8
},
{
    "Domain": "www.baidu.com",
    "hostOnly": True,
    "httpOnly": False,
    "name": "BD_HOME",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": True,
    "storeId": "0",
    "value": "1",
    "id": 9
},
{
    "Domain": "www.baidu.com",
    "expirationDate": 1641029802,
    "hostOnly": True,
    "httpOnly": False,
    "name": "BD_UPN",
    "path": "/",
    "SameSite": "unspecified",
    "secure": False,
    "session": False,
    "storeId": "0",
    "value": "12314753",
    "id": 10
}
]
        for cook in list_cooke:
            driver.add_cookie(cook)
        driver.refresh()

    except Exception as ex:
        print(ex)
    driver.quit()

if __name__ == '__main__':
    logon_web()
    print(1)
View Code
原文地址:https://www.cnblogs.com/shaosks/p/15720541.html