Python爬蟲動態獲取Cookie

2020-10-14 11:00:15

安裝擴充套件

由於動態獲取cookie需要開啟瀏覽器,所以我們先安裝chrome的擴充套件,不是平常用的使用者端,到下方連結處下載
chrome擴充套件下載地址(點選進入下載介面)
根據當前chrome版本來選擇下載
在這裡插入圖片描述
之後根據系統選擇對應版本
在這裡插入圖片描述
下載後解壓,將chromedriver.exe複製到python目錄下的Scripts資料夾內
在這裡插入圖片描述
完成上述步驟後我們來安裝selenium庫,cmd內鍵入

python -m pip install selenium

安裝完成後我們可以開啟一個瀏覽器測試一下

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

執行結果如下即成功
在這裡插入圖片描述

獲取cookie

由selenium開啟瀏覽器存取頁面,並獲取cookie

from selenium import webdriver
import json
import requests
import re
 
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
Cookie = driver.get_cookies()
strr = ''
for c in Cookie:
    strr += c['name']
    strr += '='
    strr += c['value']
    strr += ';'
full_cookie = strr

優化操作

上面操作中開啟了瀏覽器,並且沒有關閉,我們可以嘗試使用後臺開啟瀏覽器,並獲取cookie後關閉後臺的瀏覽器

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://www.baidu.com/')
time.sleep(3)#等待3秒保證cookie載入完畢,也可以自行寫一個判斷
Cookie = driver.get_cookies()
strr = ''
for c in Cookie:
	strr += c['name']
	strr += '='
	strr += c['value']
	strr += ';'
full_cookie = strr
driver.quit()#關閉後臺瀏覽器

小結

這是小白為了獲得動態cookie的權宜之計,可能很low,但目前的能力只能這樣實現功能,望各位大佬多多指點。