- cookie是存储在客户端的键值对
- web中cookie的典型应用免密登陆
- cookie和爬虫之间的联系是在一定时候,对一张页面发起请求,如果不携带cookie的话,无法请求到正确的页面数据 反爬机制
可以将浏览器发请求携带的请求头全部粘贴在headers字典中,将headers作用到requests的请求操作中即可 - cookie的处理方式有两种
- 手动处理 将抓包工具中的cookie粘贴到headers中 弊端是 过了有效时长 则该方式失效
- 自动处理 基于Session对象实现自动处理 requests.Session()返回一个session对象
- session对象的作用:
-
该对象可以像requests一样调用get和post发起指定的请求
只不过如果在使用session发起请求的过程中 如产生cookie 则自动存储到session对象中 意味着下次使用session发请求 该请求是携带cookie的 -
在爬虫中使用session的时候,session对象至少会被使用两次
第一次是为了将cookie捕获并存储到session中,第二次是携带cookie进行请求的发送# 实例 访问雪球资讯 session = requests.Session() # 创建session对象 main_url = 'https://xueqiu.com/' session.get(main_url, headers=headers) # 第一次捕获cookie 捕获且保存cookie response = session.get(url=url, headers=headers) # 第二次使用session 携带cookie发请求 print(response.status_code) page_text = response.json() print(page_text)
-