Python3 requests 中 cookie文件的保存和使用

2022-11-14 15:48:22 浏览数 (1)

在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

0 人点赞