分享知識 傳遞快樂
1、selenium儲存cookie
def save_cookie(browser):
'''
說明:pickle庫來序列化資料(把格式資料存入檔案和加載到記憶體)
'''
cookies = browser.get_cookies()
# 方法一
# with open('taobao_cookie.pickle','wb') as f:
# pickle.dump(cookies, f)
# 方法二
pickle.dump(cookies, open('taobao_cookies.pkl','wb'))
2、selenium讀取cookie
def get_cookie(browser):
# 清除浏覽器打開已有的cookies
browser.delete_all_cookies()
# 方法一
# with open('taobao_cookie','rb') as f:
# cookies = pickle.load(f)
# for cookie in cookies:
# if 'expiry' in cookie:
# del cookie['expiry']
#
# browser.add_cookie(cookie)
# 方法二
cookies = pickle.load(open("taobao_cookies.pkl", "rb"))
for cookie in cookies:
if isinstance(cookie.get('expiry'), float):
cookie['expiry'] = int(cookie['expiry'])
browser.add_cookie(cookie)
open 中的 taobao_cookies.pkl 是儲存 cookie 的檔案,該檔案的路徑在目前 python 檔案的平級目錄下。讀 cookie 時若出現異常,請參考《Python selenium中讀取cookie報錯:ERROR Message: invalid argument: invalid 'expiry'》