区别:
requests是做一次请求的,当一次请求结束之后,requests请求的内容就会被释放,类似于“做一次性买卖”。
session是做一次请求后,请求不会被立即释放,可以请求跨越多个页面,类似于出去旅游的买的套票,不进可以去A景区,还可以去其他B景区、C景区等。
优缺点:
request占用资源比较少,但是缺乏持续性,比如每个网站需要先登陆再进行其他操作,这时候就不能用request。
session资源的消耗会大点,安全性相对来说也会稍微低点,但可以持续进行会话,session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies,例如:
# 创建一个session对象
s = requests.Session()
# 用session对象发出get请求,设置cookies
s.get('https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx)
# 用session对象发出另外一个get请求,获取cookies
r = s.get("https://so.gushiwen.cn/user/collect.aspx")
因此在日常遇到请求是持续性的话,需要用session,而一次性请求的话使用requests。
版权声明:本文为sl01224318原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。