天天看點

python利用cookie登入百度的代碼_使用 cookie 登入百度

cookies2.txt 為存放 cookie 字元串的檔案。

cookie 字元串擷取方式

1. 可以通過手動的方式去取,比如登入之後在 console 裡面執行 document.cookie 即可獲得

2. 在 application 裡面檢視 cookie 的值

3. 通過 webdriver.Chrome(...) 建立出來的執行個體,調用 get_cookies() 就可以擷取到

from selenium import webdriver # 從selenium導入webdriver

import os

import platform

import traceback

import time

import pickle

BASE_PATH = os.path.abspath(os.path.dirname(__file__))

if platform.system() == 'Darwin':

wd = webdriver.Chrome('chromedriver') # Optional argument, if not specified will search path.

else:

wd = webdriver.Chrome(

os.path.join(BASE_PATH, 'chromedriver.exe')) # Optional argument, if not specified will search path.

url = 'https://zhidao.baidu.com/'

print(url)

wd.get(url)

cookie_path = os.path.join(BASE_PATH,'cookies2.txt')

readPath = open(cookie_path , 'r', encoding = 'utf-8')

BDCookies = readPath.read()

readPath.close()

allitem = BDCookies.split(';')

for item in allitem:

pair = item.split('=')

print('the pair ===> ', pair)

if pair and len(pair) == 2:

cookie = pair[0].lstrip()

value = pair[1]

try:

print(f'try add cookie "{cookie}"="{value}""')

wd.add_cookie({

"domain": "zhidao.baidu.com",

"name": cookie,

"value": value,

"path": '/',

"expires": None

})

except Exception as e:

traceback.print_exc()

wd.get("https://zhidao.baidu.com")

time.sleep(30)

wd.close()

del wd