python爬虫学习4
-
Session 和 cookie
-
很多网页都是需要登录之后才能查看相应内容的。按照一般逻辑,输入用户名和密码登录网站肯定是拿到了类似于凭证的东西,有了这个凭证,才能保持登录状态,访问那些登陆之后才能访问的页面。
这种凭证就是Session与cookie共同作用的结果
-
无状态HTTP
- HTTP的无状态是指HTTP协议对事务处理是没有记录能力的。
- 客户端向服务器发送请求后,服务器解析此请求,然后返回对应的响应,服务器负责完成这个过程,在这个过程中,服务器不会记录前后状态的变化。
- 针对这种特性用于保持HTTP连接状态的技术就出现了。
- Cookie(位于客户端)服务器通过用户访问时的cookie信息判断登录状态、返回对应相应。
-
session(会话)
- session 代表服务器与浏览器的一次会话过程
- session用于保存用户的Session 信息
- session位于服务器端,session对象用来储存特定用户会话所需要的信息
- session由服务器端生成,保存在服务的内存、缓存、硬盘或数据库中。
- session维持
# 客户端第一次请求服务器 → 服务器返回一个Set-Cookie字段用于标识用户 → 浏览器保存Cookie → 下一次请求时,在请求中携带保存的Cookie(内含sessionID) → 服务器检查cookie找到对应session → 通过session判断用户状态
-
Cookie
- cookie是由服务器生成后发送给客户端
- cookie位于客户端
- cookie分为会话cookie与持久cookie
- 会话cookie存储在浏览器内存,关闭浏览器就失效
- 持久cookie存储在客户端的硬盘,下一次打开浏览器还可以继续使用
-
- 在浏览器 设置 → 网站设置 → cookie 和网站数据 → 查看所有cookie和网站数据 中可以查看与管理保存在浏览器中的所有cookie
-
代理的基本原理
# 在使用爬虫进行抓取数据时,往往会遇到 403Forbidden 的响应,显示您的IP访问频率过高。这是由于网站采取了反爬机制 为了应对这种机制,有效的方法之一就是使用代理。
-
基本原理
- 代理即代理服务器(Proxy Sever),功能是代替网络用户取得网络信息。在进行信息获取时,使用代理,服务器识别出的真实IP就不再是客户端的IP了。
-
代理的作用
- 突破自身IP的访问限制
- 访问一些单位或者团体的内部资源
- 提高访问速度
- 隐藏真实IP
-
爬虫代理
- 对于爬虫来讲,在爬取过程中很有可能由于使用同一个IP访问过于频繁被网站监测到,此时网站就会要求输入验证码或者直接封锁IP,这样会给爬取工作带来阻碍。
- 使用代理就会让服务器误以为是在请求自己。
-
代理的分类
- 根据协议区分
- FTP代理
- HTTP代理
- SSL/TLS代理
- RTSP代理
- Telnet代理
- SCOKS代理
- 等
- 根据匿名程度
- 高度匿名代理
- 普通匿名代理
- 透明代理
- 间谍代理
- 根据协议区分
-
未完待续。。。