python cookiejar儲存cookie資訊
阿新 • • 發佈:2018-11-09
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'))