直接将google chrome cookies发送到python get请求中,使用下面的方法完全可以。
import requests
import browsercookie
data = requests.get(url, cookies=browsercookie.chrome())
但对于一个非常特殊的用例,我需要将google chrome cookies存储在一个文件中,并在使用它们(将来)的同时,按照上面所说的调用一个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存储到文件中,并在将来使用,请告诉我......
我采用了另外一种方法,结果成功了。我没有使用pickle。我使用了一个名为cookie.txt的google chrome扩展。使用该扩展在cookie.txt中存储cookie。然后用下面的方式用python请求使用cookie.txt。
import http.cookiejar as cookielib
cj = cookielib.MozillaCookieJar('cookies.txt')
cj.load()
data = requests.get(url, cookies=cj)