Python uses selenium+cookies to obtain the web page after login

Baidu webpage requires login + mobile phone SMS verification. kind of hard

Here I manually log in to the Baidu account first, and then save the relevant cookies of the Baidu account.

Then use selenium to dynamically log in to the web page

The overall code is as follows

from selenium import webdriver
    import time
    options = webdriver.ChromeOptions()
    options.add_argument('--start-maximized')  # 浏览器最大化
    options.add_argument('--disable-infobars')
    browser = webdriver.Chrome(options=options)
    browser.get('http://www.baidu.com')
    cookie_1 = {"name":"BAIDUID","value":"83D79E79B353728AA1824DACF6D670DC"}
    cookie_2 = {"name":"BDUSS","value":"pSUFZPT1ctbXlJeDJVZlZ1VWItWk9qYkVtNE0tZlNqWnZpRUNveHVuVUVSeTVsRVFBQUFBJCQAAAAAAAAAAAEAAABE1ecvwffQx9PqstDDzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS6BmUEugZlU3"}
    time.sleep(3)
    browser.add_cookie(cookie_1)
    browser.add_cookie(cookie_2)
    time.sleep(3)
    browser.get('http://www.baidu.com')
    time.sleep(10)

1. Log in to Baidu website and view the source code

 Find the two key fields BAIDUID and BDUSS shown in 2, and manually construct two cookies

cookie_1 = {"name":"BAIDUID","value":"83D79E79B353728AA1824DACF6D670DC"}
cookie_2 = {"name":"BDUSS","value":"pSUFZPT1ctbXlJeDJVZlZ1VWItWk9qYkVtNE0tZlNqWnZpRUNveHVuVUVSeTVsRVFBQUFBJCQAAAAAAAAAAAEAAABE1ecvwffQx9PqstDDzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS6BmUEugZlU3"}

Then use selenium to add the two constructed cookies

browser.add_cookie(cookie_1)
browser.add_cookie(cookie_2)

Next, you're done 

Here is a faster way to directly copy all Cookies

Then manually construct cookies according to rules

The rules are similar to the following code

cookie_1 = {"name": "BAIDUID", "value": "83D79E79B353728AA1824DACF6D670DC"}

The following is the total code 

def dongtai_BAIDU():
    """
    :return: 获取登录后的cookies 然后携带这些cookie
    """
    from selenium import webdriver
    import time
    options = webdriver.ChromeOptions()
    options.add_argument('--start-maximized')  # 浏览器最大化
    options.add_argument('--disable-infobars')
    browser = webdriver.Chrome(options=options)
    browser.get('http://www.baidu.com')
    # cookie_1 = {"name": "BAIDUID", "value": "83D79E79B353728AA1824DACF6D670DC"}
    # cookie_2 = {"name": "BDUSS",
    #             "value": "pSUFZPT1ctbXlJeDJVZlZ1VWItWk9qYkVtNE0tZlNqWnZpRUNveHVuVUVSeTVsRVFBQUFBJCQAAAAAAAAAAAEAAABE1ecvwffQx9PqstDDzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS6BmUEugZlU3"}
    cookies = "BIDUPSID=83D79E79B353728A8EC4C62E933EEF8A; PSTM=1694932781; BD_UPN=12314753; BA_HECTOR=8hak0k8gah81808ka4aha52l1igd7pd1p; ZFY=FFDC03Zc:Bp2wVP15g5U4cKd12L:B4UP88tb5D6i6ZhME:C; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BD_CK_SAM=1; PSINO=7; delPer=0; shifen[1858839_91638]=1694935272; shifen[1858839_87962]=1694935272; BCLID=11202995316399066065; BCLID_BFESS=11202995316399066065; BDSFRCVID=cOKOJexroG0Aahbq3iXuesms7eKK0gOTDYLEOwXPsp3LGJLVcRc7EG0PtjJ5HU4bLrA9ogKKLmOTHpuF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID_BFESS=cOKOJexroG0Aahbq3iXuesms7eKK0gOTDYLEOwXPsp3LGJLVcRc7EG0PtjJ5HU4bLrA9ogKKLmOTHpuF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tJAj_D-btK03H48k-4QEbbQH-UnLq-J9W2OZ04n-ah02EJjd-RL5Mqk0bqbLb5b-W20j0h7m3UTdsq76Wh35K5tTQP6rLtJNKbv4KKJxbnckMqnaj-5dKxo-hUJiBM7LBan7QP5IXKohJh7FM4tW3J0ZyxomtfQxtNRJ0DnjtpChbRO4-TFaj6bLef5; H_BDCLCKID_SF_BFESS=tJAj_D-btK03H48k-4QEbbQH-UnLq-J9W2OZ04n-ah02EJjd-RL5Mqk0bqbLb5b-W20j0h7m3UTdsq76Wh35K5tTQP6rLtJNKbv4KKJxbnckMqnaj-5dKxo-hUJiBM7LBan7QP5IXKohJh7FM4tW3J0ZyxomtfQxtNRJ0DnjtpChbRO4-TFaj6bLef5; COOKIE_SESSION=0_0_0_1_0_1_1_0_0_1_0_0_0_0_0_0_0_0_1694935272%7C1%230_0_1694935272%7C1; BDUSS=pSUFZPT1ctbXlJeDJVZlZ1VWItWk9qYkVtNE0tZlNqWnZpRUNveHVuVUVSeTVsRVFBQUFBJCQAAAAAAAAAAAEAAABE1ecvwffQx9PqstDDzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS6BmUEugZlU3; BDUSS_BFESS=pSUFZPT1ctbXlJeDJVZlZ1VWItWk9qYkVtNE0tZlNqWnZpRUNveHVuVUVSeTVsRVFBQUFBJCQAAAAAAAAAAAEAAABE1ecvwffQx9PqstDDzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS6BmUEugZlU3; BDRCVFR[S4-dAuiWMmn]=I67x6TjHwwYf0; H_PS_PSSID=39310_39363_39279_39349_39097_39198_39261_39359_39233_26350; BAIDUID=83D79E79B353728AA1824DACF6D670DC:SL=0:NR=10:FG=1; sug=3; sugstore=1; ORIGIN=0; bdime=0; H_PS_645EC=429eEe9gpR3wfujbqACMgrQQ0Qa0BzvEMw9PZbFseOM5%2FslGgIVC3wEIxeUdoBbKjw; BAIDUID_BFESS=83D79E79B353728AA1824DACF6D670DC:SL=0:NR=10:FG=1"
    cookies = {i.split("=")[0]: i.split("=")[1] for i in cookies.split(";") if len(i.split("=")) > 0}
    cookies_ = {}
    for i in cookies:
        cookies_['name'] = i.replace(" ","")
        cookies_['value'] = cookies[i].replace(" ","")
        browser.add_cookie(cookies_)
    time.sleep(3)
    # browser.add_cookie(ret)
    # browser.add_cookie(cookie_1)
    # browser.add_cookie(cookie_2)
    time.sleep(3)
    # browser.add_cookie(cookies)
    browser.get('http://www.baidu.com')
    time.sleep(10)

Guess you like

Origin blog.csdn.net/linxizi0622/article/details/132946921