在python中,我们在使用requests库进行爬虫类和其他请求时,通常需要进行cookie的获取,保存和使用,下面的方法可以将cookie以两种方式存储为txt格式文件
一、保存cookie文件到cookie.txt
在开始之前,要加载如下几个库文件
代码语言:javascript复制import requests
import http.cookiejar
1、将cookie保存为curl可读取和使用的cookie文件
在session或者request加入以下代码,以初始化cookie存储
代码语言:javascript复制sess = requests.session()
sess.cookies = http.cookiejar.MozillaCookieJar(filename='cookie.txt')
在session请求完毕后,加入如下代码,将cookie保存到cookie.txt文件
代码语言:javascript复制sess.cookies.save(ignore_discard=True, ignore_expires=True)
2、将cookie保存为LWPcookiejar文件形式
在session或者request加入以下代码,以初始化cookie存储
代码语言:javascript复制sess = requests.session()
sess.cookies = http.cookiejar.LWPCookieJar(filename='cookies.txt')
在session请求完毕后,加入如下代码,将cookie保存到cookie.txt文件
代码语言:javascript复制sess.cookies.save(ignore_discard=True, ignore_expires=True)
保存cookie时的两个参数:
- ignore_discard:save even cookies set to be discarded.
- ignore_expires:save even cookies that have expired.
二、读取和使用cookie.txt文件
1、curl的cookie文件的读取和使用(MozillaCookieJar)
代码语言:javascript复制import requests
import http.cookiejar
load_cookiejar = http.cookiejar.MozillaCookieJar()
load_cookiejar.load('cookies.txt', ignore_discard=True, ignore_expires=True)
load_cookies = requests.utils.dict_from_cookiejar(load_cookiejar)
cookies = requests.utils.cookiejar_from_dict(load_cookies)
session = requests.Session()
session.cookies = cookies
2、LWPcookiejar文件形式的cookie文件的读取和使用
代码语言:javascript复制import requests
import http.cookiejar
load_cookiejar = http.cookiejar.LWPCookieJar()
load_cookiejar.load('cookies.txt', ignore_discard=True, ignore_expires=True)
load_cookies = requests.utils.dict_from_cookiejar(load_cookiejar)
cookies = requests.utils.cookiejar_from_dict(load_cookies)
session = requests.Session()
session.cookies = cookies