cookie一般是保存在浏览器本地终端上,用来验证用户信息和登录信息的小型文本文件,而python爬虫程序也需要使用cookie来快捷登录。下文所介绍的内容正好就是,使用python第三方库requests获取和发送cookie的两个方法,想学习就一起往下看看吧。
一、发送cookie请求
在python中发送cookie请求只需要先构造好数据,因为cookie都是以键值对形式存在的,所以数据需要保存在字典之中。而发送方式分为简单和复杂两种,简单方式就是调用get()方法并且在其中使用cookies这个参数赋值字典即可,代码示例如下:
import requests cookies = {"aaa":"bbb"} r = requests.get(url,cookies=cookies)
而复杂一点的方式就是实例化session对象,因为cookie都是用来进行Session跟踪而储存在用户本地终端上的数据。所以只需要创建出该对象也可以实现发送cookie请求操作,不过要手动将数据添加到对象中。然后调用update()方法即可修改,代码如下所示:
import requests s = requests.session() c = requests.cookies.RequestsCookieJar() c.set('c-name','c-value',path='/xxx/uuu',domain='.test.com') s.cookies.update(c)
二、获取cookie
那么python需要获取cookie数据也是能够通过第三方库requests来完成的,只需要正常调用get()方法向服务器发送请求并返回响应对象,在这个响应对象之中已经自带了cookie数据会来。
将其转为python可读字典对象之后,还需要使用循环迭代方式才能够将全部cookie信息打印输出,详细代码示例如下所示:
import requests r = requests.get("https://www.baidu.com/") c = requests.utils.dict_from_cookiejar(r.cookies) for a in r.cookies: print(a.name,a.value)
那么总结一下,在python之中无论获取还是发送cookie都是可以通过requests库来完成的,并且只需要调用get()方法来设置参数和获取响应对象属性即可。