Python爬虫cookie 免密登录,今天与大家聊一聊 !

本文探讨了HTTP无状态特性下,服务器如何通过Session和Cookie识别用户。详细解释了Session和Cookie的工作原理,并提供了两个Python登录案例,展示如何使用Cookie实现免密登录。案例包括豆瓣登录和新榜登录,强调了Cookie的时效性问题。

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

我们都知道 HTTP 是无状态的,用户每次打开 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么服务器是怎么识别用户的呢?

 

 

 

 

 

Python资源共享群:626017123

这就是本文今天要讲解的内容。当服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是 session 和 cookie。

Session 和 Cookie

 

session 是保存在服务器端的,用于标识用户,并且跟踪用户的一种上下文保持机制。当服务器创建了一个 Session 时,给客户端发送的响应报文包含了 Set-Cookie 字段,其中有一个名为 sid 的键值对,这个键值对就是 Session ID。客户端收到后就把 Cookie 保存在浏览器中,并且之后发送的请求报文都包含 Session ID

Cookie 由服务器生成,发送给浏览器,浏览器把 Cookie 以 kv 形式保存到某个目录下的文本文件内。是客户端保存用户信息的一种机制,用来记录用户的一些信息,它是实现 Session 的一种方式。

 

 

 

 

 

浏览器会根据响应报文里的一个叫做 Set-Cookie 的首部字段信息,将其保存在本地。

 

 

 

 

 

当下一次请求时会把该 Cookie 发送给服务器,之后服务端发现客户端发送过来的 Cookie 后,会检查是那个客户端发送过来的请求,然后根据服务器上的记录,最后得到了之前的状态信息。

 

 

 

 

 

 

我们经常看到登录的时候,有个下次自动登录的选项,就是根据这个原理来实现的。既然浏览器能实现免密登录的功能,那么我们用代码如何来实现呢?

这里有两个登录案例,看完之后你就知道如何实现了。

案例一:豆瓣登录

 

在这里我们使用 Python 中的 LWPCookieJar ,它是管理 cookie 的工具,可以将 cookie 保存到文件,在文件中读取本地 cookie 数据到程序中,一般用到以下两种方法:

 

 

 

 

源码

1. 将登录成功的 cooki

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值