文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python获取cookie用法介绍

2023-09-18 11:49

关注

一、基本介绍

什么是cookie?

Cookie,指的是网站为了辨别用户身份而存储在用户本地终端上的数据。简单来说,就是通过在用户访问网站时,将一小段数据送给用户,并且要求用户在以后访问时再次提供此数据,以便验证用户的身份。

如何获取cookie?

获取cookie需要用到Python中的requests库。requests是用Python语言基于urllib编写的一个HTTP客户端库,目的是用于替代Python的标准库urllib.request。requests库能够方便地发送HTTP/1.1请求。使用requests库可以轻松获取cookie。

二、获取cookie的方法

1、使用requests库获取cookie

import requests#定义目标URLurl = 'http://www.baidu.com'#发送get请求r = requests.get(url)#获取cookiecookies = r.cookies#打印cookie值print(cookies)

解释:使用requests.get()方法请求网站地址,然后使用r.cookies获取到对应的cookie值。

2、使用requests.Session()方法获取cookie

import requests#定义目标URLurl = 'http://www.baidu.com'#创建Session对象s = requests.Session()#发送get请求r = s.get(url)#获取cookiecookies = requests.utils.dict_from_cookiejar(s.cookies)#打印cookie值print(cookies)

解释:使用requests.Session()方法创建Session对象,该对象会自动保留cookie值,以便后续发送请求时能够自动携带cookie。使用requests.utils.dict_from_cookiejar()方法可以将cookie转换为字典格式。

3、手动设置cookie值

import requests#定义目标URLurl = 'http://www.baidu.com'#手动设置cookie值cookies = {'key':'value'}#发送get请求,携带cookie值r = requests.get(url, cookies=cookies)#打印cookie值print(r.cookies)

解释:手动设置cookie值后,通过requests.get()方法发送get请求,将cookie值携带在请求头中。

三、应用场景

1、模拟用户登录

用户登录时,服务端会在用户本地终端上存储cookie用于辨别用户身份。此时我们可以使用requests.Session()方法创建Session对象,该对象自动保留cookie值,以便后续的请求能够自动携带cookie。通过发送post请求,提交用户登录信息,即可实现模拟用户登录。

2、爬虫抓取网页数据

有些网站会根据cookie值来限制用户的访问频率或者请求数据量。在进行爬虫抓取时,如果不设置cookie,很可能会被网站拒绝服务。此时,我们可以通过手动设置cookie值或者通过requests.Session()方法自动保存cookie值,实现爬虫抓取数据的目的。

四、注意事项

获取cookie时需要确保访问的目标URL正确;

不同网站的cookie名和值不同,需要根据目标网站设置正确的cookie名和值;

在使用Session对象时,需要注意Session对象会自动保留cookie值,可能会导致一些安全问题,请谨慎使用。

来源地址:https://blog.csdn.net/linyichao123/article/details/132332351

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯