requests模块的cookie信息自动追踪与管理
张建行
2020年12月9日 19:50
86
文章标签:
Python
爬虫
# requests这个模块,如果直接利用get()或者post等方法可以做到模拟网页的请求,但是每一次请求之间是没有关系的,相当于不同的会话,也就是相当于用浏览器打开了两个不同的页面。
# 设想这样一个场景:第一次请求利用post()方法登陆了某个网站,第二次想获取成功登陆之后的个人信息,又用了一次get()方法去请求个人信息页面。实际上相当于打开了两个浏览器,是完全不关的两个会话,这样并不能成功获取个人信息。
# 解决方案:维持同一个会话,也就是相当于使用同一个浏览器打开不同的页面,而不是每次都要重新设置cookie。这时候就有了session对象
import requests
# 请求http://httpbin.org/cookies/set/number/123456789设置cookie信息,名称是number,内容是123456789,接着在请求http://httpbin.org/cookies,这个网址可以获取当前的cookies
requests.get("http://httpbin.org/cookies/set/number/123456789")
r = requests.get("http://httpbin.org/cookies")
print(r.text)
session_obj = requests.Session()
session_obj.get("http://httpbin.org/cookies/set/number/123456789")
r = session_obj.get("http://httpbin.org/cookies")
print(r.text)