爬虫 | 处理cookie的基本方法——session

很多网页要求登录后,才能查看对应的信息,整个流程是:

客户端                          服务器
玩家登录                        返回cookie
获得cookie后继续访问其他页面     根据cookie查验身份,返回对应内容

session会话,理解为可以连续请求,先提交data换来cookie,然后可以带着cookie继续访问。比如此时想访问一个需要登录后才能展示的个人信息页面 https://example.com/profile

其实有两种方法,第一种就是session,第二种则是在网页上登录之后,将cookie放入请求中。

第一种方法:session

import requests  
  
# 创建一个会话对象  
session = requests.session()  
  
# 使用会话对象登录(假设需要登录)  
login_url = 'https://example.com/login'  
login_data = {'username': 'myuser', 'password': 'mypass'}  
session.post(login_url, data=login_data)  
  
# 现在,由于我们使用了会话对象,所以后续的请求会携带前面请求中设置的cookies  
# 例如,访问一个需要登录后才能展示的个人信息页面  
profile_url = 'https://example.com/profile'  
response = session.get(profile_url)  #>>>> 用session去请求
print(response.text)  
  
# 当你完成所有请求后,可以关闭会话(但这不是强制的,因为Python的垃圾回收机制会处理它)  
session.close()

第二种方法

# 1. 在网页中完成登录
# 2. 进入想要访问的个人信息页面:https://example.com/profile
# 3. 在开发者工具中找到请求头request headers,里面有个cookie。复制下来

url = 'https://example.com/profile'
headers = {
    'cookie': '复制下来的一大串东西'
}
req = requests.get(url = url, headers = headers)

# 效果一样,但是麻烦一点点

posted @   abloger  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示