cookie-机制

文章介绍了Cookie的基本概念,如它作为客户端存储的键值对,以及在Web中的应用,特别是对于免密登录和反爬虫策略。文章通过代码示例展示了如何在Python使用requests库时处理Cookie,包括手动和自动(基于Session对象)两种方式。重点强调了Session对象在存储和携带cookie进行请求中的作用,需要至少使用两次来捕获和使用cookie。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、基础概念

二、cookie的处理方式


一、基础概念

1、cookie是存储在客户端的一组键值对

2、web中cookie的典型应用:免密登陆

3、cookie和爬虫之间的关联

有时,对一张页面进行请求的时候,如果请求的过程中不携带cookie的话,那么是无法请求到正确的页面数据。因此cookie是爬虫中非常典型且常见的反爬机制

代码分析

import requests
headers = {
    'User-Agent':'XXXX'
}
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20369434&count=15&category=-1'
page_text = requests.get(url=url,headers=headers).json()


二、cookie的处理方式

1、手动处理

将抓包工具中的cookie粘贴在headers中

2、自动处理

基于Session对象实现自动处理

session对象的作用:

该对象可以向requests一样调用get和post发送指定的请求。只不过如果在使用session发请求过程中如果产生了cookie,则cookie会被自动存储到该session对象中,那么意味着下次使用session对象发起请求,则该次请求就是携带cookie进行的请求发送。

在爬虫中使用session的时候,session对象至少被使用几次?

两次。第一次使用session是为了将cookie捕获且存储到session对象中。下次的时候就是携带cookie进行的请求发送。

'''自动获取cookie
可多次测试多个网页,发送请求获取cookie
'''
import requests
headers={
    'User-Agent':'XXXX'
}
#第一次使用session
session=requests.Session()  #创建session对象
#第一次使用session捕获且存储cookie
main_url='https://xueqiu.com/'
session.get(main_url,headers=headers) #捕获且存储cookie

#第二次使用session
url='https://xueqiu.com/statuses/hot/listV2.json?since_id=-1&max_id=487864&size=15'
page_text=session.get(url=url,headers=headers).json() #携带cookie发起的请求
page_text

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值