python_爬虫收藏already

利用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请求了。

写代码太难了,程序员都是神仙。我一定是入错行了,不,我可能无行可入。
今天开心有点儿难

自我记录,有错误欢迎指正~

上一篇下一篇

猜你喜欢

热点阅读