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)