0

使用以下方法将 google chrome cookie 直接发送到 python 获取请求可以很好地工作,

import requests
import browsercookie
data = requests.get(url, cookies=browsercookie.chrome())

但是对于一个非常具体的用例,我需要将 google chrome cookie 存储在一个文件中,并在发出 python get 请求时使用它们(将来),如上所述,

我将 google chrome cookie 存储在一个文本文件中,如下所示,

import browsercookie
import pickle
pickle.dump(browsercookie.chrome()._cookies, open("cookies.pkl","wb"))

但我认为从“cookies.pkl”加载的 cookie 中存在一些 cookie 格式问题——这不起作用……

import requests
import browsercookie
import pickle
cj = pickle.load(open("imdb_cookies.pkl", "rb"))
data = requests.get(url, cookies=cj)

错误 -

Error: expected string or bytes-like object

我认为从“cookies.pkl”加载的cookie字典需要转换为“”...

我尝试了很多研究,但找不到解决方案。

如果有任何其他方式可以将 cookie 存储到文件中并在将来使用,请告诉我...

4

1 回答 1

0

我采用了不同的方法,它奏效了。而不是使用泡菜。我使用了一个名为 cookie.txt 的谷歌浏览器扩展。使用该扩展程序将 cookie 存储在 cookie.txt 中。然后以以下方式将cookie.txt与python请求一起使用,

import http.cookiejar as cookielib
cj = cookielib.MozillaCookieJar('cookies.txt')
cj.load()
data = requests.get(url, cookies=cj)
于 2020-06-11T06:21:19.213 回答