当网站采取了反爬措施时,我们进行自动爬虫时,可能会出现“您的IP访问频率太高”这样的提示。一般是服务器会检测某个IP地址在单位时间内的请求次数,如果请求次数超过了设定的阈值,就直接拒绝服务,并返回错误信息,这种情况称之为封IP。
既然服务器时通过检测某个IP在单位时间内的请求次数,如果我们通过某种方式把IP伪装一下,让服务器检测不出来请求是由我们本机发起的,不就可以成功防止封IP了吗?
其中一种有效的伪装方式就是使用代理。那么是如何实现伪装IP的呢?
代理其实就是代理服务器,英文是proxy Server,功能是代替网络用户收集网络信息。简单来说,就是网络用户和服务器中间的中转站。
客户端把请求发送给代理服务器,代理服务器再把请求发送给网络服务器,网络服务器返回的响应也是发送给代理服务器,再由代理服务器发送给客户端。
在这个过程中,网络服务器识别到的IP就不是客户端的IP,而是代理服务器的IP,成功实现了伪装,这就是代理。
根据协议进行区分
- FTP代理服务器:主要用于访问FTP服务器,
- HTTP代理服务器:主要用于访问网页
- SSL\TLS代理:主要用于访问加密网站
- RTSP代理:主要用于Realplayer访问Real流媒体服务器
- Telnet代理:蛀牙用于Telnet远程控制
- POP3/SMTP代理:主要用于以POP3/SMTP方式收发邮件
- SOCKS代理:知识单纯传递数据包,不关心具体的协议和用法
根据匿名程度进行区分
- 高度匿名代理:不改变数据包,ip是代理ip
- 普通匿名代理:改动数据包,可能会被服务器发现。
- 透明代理:改动数据包,告诉服务器真实的请求IP。
- 间谍代理