python 爬蟲:利用selenium抓取cookie進行模擬登陸
阿新 • • 發佈:2018-12-21
- 說明:
- selenium抓取cookie模擬登陸,理論上可以登入任何網站。以下兩段程式碼分別介紹抓取cookie,和攜帶cookie登入。
- 抓取cookie.json程式碼
-
import json from selenium import webdriver import time url = 'https://www.taobao.com/' driver = webdriver.Chrome() driver.get(url) # 卡主瀏覽器 回車繼續執行 input('請手動登入') # 獲取cookie並通過json模組將dict轉換成str dictCookies = driver.get_cookies() # 核心 jsonCookies = json.dumps(dictCookies) print(jsonCookies) # 登入完成後將cookie儲存到本地檔案 with open('taobao.json','w') as f: f.write(jsonCookies) time.sleep(3) driver.close()
- 攜帶cookie進行模擬登陸
- 攜帶cookie登入後需要重新整理頁面才會顯示登入,以下程式碼已經使用程式碼進行頁面重新整理
-
import json from selenium import webdriver import time url = 'https://www.taobao.com/' driver = webdriver.Chrome() driver.get(url) # 卡主瀏覽器 回車繼續執行 input('回車自動登入') driver.get(url) # 刪除第一次建立連線時的cookie driver.delete_all_cookies() # 讀取本地的cookie檔案 with open('taobao.json','r',encoding='utf8') as f: listCookies = json.loads(f.read()) for cookie in listCookies: driver.add_cookie({ "domain":".taobao.com", "expiry":1557891103, "httpOnly":cookie['httpOnly'], "name":cookie['name'], "path":"/", "secure":cookie['secure'], "value":cookie['value'] }) # 讀取完cookie重新整理頁面 driver.refresh() input('按回車鍵退出') driver.close()