python爬虫day-6(会话和Cookies)
2019-04-10 本文已影响0人
南音木
个人学习笔记,方便自己查阅,仅供参考,欢迎交流
会话(Session)和Cookies
- 在浏览网站的过程中,会遇到需要登录的情况,有些页面只有登录之后才可以访问。
- 有些网站,登录后可以连续访问很多次。
- 有些网站,过一段时间就需要重新登录。
- 有些网站,打开浏览器时就向动登录了,很长时间都不会失效。
A.静态网页和动态网页
- 静态网页:内容是HTML代码编写的,文字、图片等内容均通过写好的 HTML代码来指定。优点:加载速度快,编写简单;缺点:可维护性差,不能根据URL灵活多变地显示内容等。
- 动态网页:可以动态解析URL参数的变化,关联数据库并动态呈现不同的页面内容,非常灵活多变。现在遇到的大多数网站都是动网站,它们不再是一个简单的 HTML,而可能是由JSP、PHP、Python等语言编写的。
- 登录凭证:动态网站还可以实现用户登录和注册的功能。一般的逻辑来说,输入用户名和密码登录之后,是拿到了似凭证的东西,有了凭证,才能保持登录状态,并访问登录之后才能看到的页面,其实它就是会话和 Cookies 共同产生的结果。
B.无状态HTTP
1.无状态
- HTTP无状态是指HTTP协议对事务处理是没有记忆能力,就是说服务器不知道客户端是什么状态。
- 两个用于保持HTTP接状态的技术,分别是会话和 Cookies,会话在服务端,也就是网站的服务器,用来保存用户的会话信息;Cookies在客户端,也可以理解为浏览器端,有了Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别Cookies并鉴定出是哪个用户,然后再判断用户是否是登录状态,然后返回对应的响应。
- 在爬虫中,处理需要登录才能访问的页面时,我们一般会直接将登录成功后获取的Cookies放在请求头里面直接请求,而不必重新模拟登录。
2.会话
在Web中,会话对象用来存储特定用户会话所需的属性及配置信息。当用户在应用程序Web 页之间跳转时,存储在会话对象中的变量将不会丢失,而是在整个用户会话一直存在下去,当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web 务器将自动创建一个会话对象。当会话过期或被放弃后,服务器将终止该会话。
3.Cookies
Cookies 指某些网站为了辨别用户身份,进行会话跟踪而存储在用户本地终端上的数据。 - 会话维持
- 属性结构
- 会话Cookie和持久Cookie