Python爬虫知识点——代理

代理

基本原理

代理实际上指代理服务器。功能是代理 网络用户去取得网络信息,是网络信息的中转站。

正常的请求过程为:发送请求给服务器===>web服务器吧响应传回

设置代理服务器后:>向代理服务器发送请求>请求发送给代理服务器>再由代理服务器发送web服务器>由代理服务器把web服务器返回的响应转发给本机

作用

突破自身IP访问限制,访问些平时不能访问的站点。

访问一些单位或团体内部资源:比如使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。

提高访问速度:通常代理服务器都设置-一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息传给用户,以提高访问速度。

隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。对于爬虫来说,我们用代理就是为了隐藏自身IP,防止自身的IP被封锁。

代理分类

根据代理的协议,代理可以分为如下类别。
  • FTP代理服务器:  主要用于访问FTP服务器,一般有上传、 下载以及缓存功能,端口一般为   21、2121等。

  • HTTP代理服务器:主要用于访问网页,一般有内容过滤和缓存功能,端口一般为808080、3128 等。

  • SSL/TLS代理:主要用于访同加密网站,般有 SsL 或TLS 加密功能(最高支持128位加密强度),端口一般为443。

  • RTSP代理:主要用于访问Real流媒体服务器,一般有缓存功能, 端口般为554。

  • Telnet代理: 主要用于tenei远程控制黑客人侵计算机时常用于隐藏身份),端口一般为23

  • POP3/SMTP代理:主要用于POP3/SMTP方式收发邮件,一般有缓存功能,端口-般为1025.口SOCKS代理:只是单纯传递数据包,不关心具体协议和用法,所以速度快很多,一般 有   存功能,端口一般为1080。SOCKS代理协议又分为SOCKS4和SOCKS5,前者只支持TCP而后者支持TCP和UDP,还支持各种身份验证机制、服务器端域名解析等。简单来说SOCKS4能做到的SOCKS5都可以做到,但SOCKSS能做到的SOCKS4不一定能做到。

2.根据匿名程度区分   根据代理的匿名程度,代理可以分为如下类别。
  • 高度匿名代理:会将数据包原封不动地转发,在服务端看来就好像真的是一 个普通客户端访问,而记录的IP是代理服务器的IP。

  • 普通匿名代理:会在数据包上做一些改动, 服务端上有可能发现这是个代理服务器,也有一定几率追查到客户端的真实IP。代理服务器通常会加人的HTTP头有HTTP_VIA和HTTP_X_FORWARDED_FOR.

  • 透明代理:不但改动了数据包,还会告诉服务器客户端的真实IP。这种代理除了能用缓存技术调高浏览速度,能用内容过滤提高安全性之外,并无其他显著作用,最常见的例子是内网中的硬件防火墙。

  • 间谍代理:指组织或个人创建的用于记录用户传输的数据, 然后进行研究、监控等目的代理服务器。

    常用代理设置

  • 网上的免费代理

  • 付费的代理服务

  • ADSL拨号

文章摘自崔庆才的《Python3网络爬虫开发实战》

原文地址:https://www.cnblogs.com/nymrli/p/9387741.html