利用selenium拿到cookies后,发起request请求
2022-03-11 本文已影响0人
Rainbow想喝奶茶
最近仿佛在乱学,心情极度差的情况下,带来今天的一个小知识点。不一定适用于所有网页,但是目前在试的这个是调通了。
前情提要
利用selenium模拟登录,得到了cookies。
def get_cookies(account, password):
# 前面有n多行代码
cookies = browser.get_cookies()
return cookies
得到的结果如下:
get_cookies()结果
得到发起requests请求应用的cookies
上方得到的cookies,是不能直接用来发起requests请求的,需要先进行一波处理
c=get_cookies(account, password)
cookies = {}
# 获取cookie中的name和value,转化成requests可以使用的形式
for cookie in c:
cookies[cookie['name']] = cookie['value']
此时输出cookies,结果如下图。
可用的cookies
然后,现在cookies是个字典,如果直接赋值会报错
AttributeError: 'dict' object has no attribute 'extract_cookies'
所以在引用时,需要
from requests.cookies import cookiejar_from_dict
#发起requests请求时进行一步转换
cookies = cookiejar_from_dict(cookies)
最后,就终于可以正常的发起requests请求了。
写代码太难了,程序员都是神仙。我一定是入错行了,不,我可能无行可入。
今天开心有点儿难
自我记录,有错误欢迎指正~