cookie信息的加載和保存

保存cookie到本地

保存cookie到本地,可以使用cookiejarsave方法,並且需要指定一個文件名:

from urllib import request
from http.cookiejar import MozillaCookieJar

#保存到電腦的cookie.txt位置
cookiejar = MozillaCookieJar("cookie.txt") 
handler = request.HTTPCookieProcessor(cookiejar)
opener = request.build_opener(handler)

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
}
req = request.Request('http://httpbin.org/cookies',headers=headers)

resp = opener.open(req)
print(resp.read())
#ignore_discard保存即將過期的cookie信息
cookiejar.save(ignore_discard=True,ignore_expires=True)

保存百度頁面的cookie信息

from urllib import request
from http.cookiejar import MozillaCookieJar

cookiejar = MozillaCookieJar("cookie.txt") 
handler = request.HTTPCookieProcessor(cookiejar)
opener = request.build_opener(handler)

resp=opener.open("http://www.baidu.com/")
cookiejar.save(ignore_discard=True)

cookie過期是指頁面關閉時候,cookie信息會過期,使用ignore_discard=True保存即將過期的cookie信息

從本地加載cookie:

從本地加載cookie,需要使用cookiejar的load方法,並且也需要指定方法:

from urllib import request
from http.cookiejar import MozillaCookieJar

cookiejar = MozillaCookieJar("cookie.txt")
#加載即將過期的cookie信息
cookiejar.load(ignore_expires=True,ignore_discard=True)
handler = request.HTTPCookieProcessor(cookiejar)
opener = request.build_opener(handler)

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
}
req = request.Request('http://httpbin.org/cookies',headers=headers)

resp = opener.open(req)
print(resp.read())

全文爲視頻學習筆記

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章