Python爬虫模拟登录(五):记录cookice

成功登录后可以将cookies保存,在下次访问时带上cookie,免去登录过程;

当然,要在cookie的有效期内;

s = requests.Session()

之前都是requests 的Session在帮我们管理cookie;

print(s.cookies)

输出:

<RequestsCookieJar[<Cookie JSESSIONID=48758FD2200CD718BA9E5AE6104ED4E2 for ..../>]>

是一个RequestsCookieJar类型,可以用字典的方式去访问;

print(s.cookies['JSESSIONID'])


当我们判断登陆成功后,将cookie写入本地文件保存;

cokf = open("cookies/cookies", 'w')
cokf.write(s.cookies['JSESSIONID'])
cokf.close()
print("Login Success!")


下次要用时,读取出来,再设置Session对象的cookie值;

s = requests.Session()
cokf = open("cookies/cookies", 'r')
s.cookies.set('JSESSIONID', cokf.read())
cokf.close()


其他操作cookie的方式

DCOOKIES = {  
    "cookieName": "cookieValue",
    "otherName": "otherValue"  
}  
  
s = requests.session()  
requests.utils.add_dict_to_cookiejar(s.cookies, DCOOKIES)


requests.utils.dict_from_cookiejar(cj)  # 返回一个dict
requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True) # 返回cookiejar对象

猜你喜欢

转载自blog.csdn.net/M_N_N/article/details/80823009