1. 程式人生 > >python cookiejar儲存cookie資訊

python cookiejar儲存cookie資訊

cookie資訊是什麼?

cookie, 某些網站為了辨別使用者身份, 只有登陸之後才能訪問某個頁面;
進行一個會話跟蹤, 將使用者的相關資訊包括使用者名稱等儲存到本地終端


from http import cookiejar
from urllib.request import  HTTPCookieProcessor
from urllib import  request
# 1. 如何將Cookie儲存到變數中, 或者檔案中;
# 1). 宣告一個CookieJar ---> FileCookieJar --> MozillaCookie
cookie = cookiejar.CookieJar()
# 2). 利用urllib.request的HTTPCookieProcessor建立一個cookie處理器
handler = HTTPCookieProcessor(cookie)
# 3). 通過CookieHandler建立opener
# 預設使用的openr就是urlopen;
opener = request.build_opener(handler)
# 4). 開啟url頁面
response = opener.open('http://www.baidu.com')
# 5). 列印該頁面的cookie資訊
print(cookie)
for item in cookie:
    print(item)

在這裡插入圖片描述

如何將Cookie以指定格式儲存到檔案中

# 1). 設定儲存cookie的檔名
cookieFilename = 'cookie.txt'
# 2). 宣告一個MozillaCookie,用來儲存cookie並且可以寫入文進阿
cookie = cookiejar.MozillaCookieJar(filename=cookieFilename)
# 3). 利用urllib.request的HTTPCookieProcessor建立一個cookie處理器
handler = HTTPCookieProcessor(cookie)
# 4). 通過CookieHandler建立opener
# 預設使用的openr就是urlopen;
opener = request.build_opener(handler)
# 5). 開啟url頁面
response = opener.open('http://www.baidu.com')
# 6). 列印cookie,
print(cookie)
print(type(cookie))
# ignore_discard, 即使cookie資訊將要被丟棄。 也要把它儲存到檔案中;
# ignore_expires, 如果在檔案中的cookie已經存在, 就覆蓋原檔案寫入;
cookie.save(ignore_discard=True, ignore_expires=True)

在這裡插入圖片描述

在這裡插入圖片描述

利用已有的cookie資訊訪問網頁

from http import cookiejar
from urllib.request import  HTTPCookieProcessor
from urllib import  request



# 3. 如何從檔案中獲取cookie並訪問
# 1). 指定cookie檔案存在的位置
cookieFilename = 'cookie.txt'
# 2).宣告一個MozillaCookie,用來儲存cookie並且可以寫入檔案, 用來讀取檔案中的cookie資訊
cookie = cookiejar.MozillaCookieJar()
# 3). 從檔案中讀取cookie內容
cookie.load(filename=cookieFilename)
# 4). 利用urllib.request的HTTPCookieProcessor建立一個cookie處理器
handler = HTTPCookieProcessor(cookie)
# 5). 通過CookieHandler建立opener
# 預設使用的openr就是urlopen;
opener = request.build_opener(handler)
# 6). 開啟url頁面
response = opener.open('http://www.baidu.com')
#7). 列印資訊
print(response.read().decode('utf-8'))

在這裡插入圖片描述