爬虫使用代理ip后就不会被封禁了吗?
刷量、爬虫等用户通常通过代理ip来突破限制,爬虫代理IP一般采集一次或者多次就会更换ip,如局域网对上网用户的端口、目的网站、协议、游戏、即时通讯软件等的限制,网站对于IP的访问频率、访问次数的限制等。
另一方面,通过代理也可以隐藏用户的真实身份,访问一些不希望对方知道你IP的服务器,爬取一些数据等等。
那么问题来了,使用代理就一定可以隐藏用户的真实身份吗?其实不然,代理IP分为三种:透明代理,普通匿名代理,高级匿名代理。
(1) 透明代理
在透明代理中,代理服务器将客户端的信息转发至目标访问对象,并没有完全隐藏客户端真实的身份。即服务器知道客户端使用了代理IP,并且知道客户端的真实IP地址。
(2) 普通匿名代理
在普通匿名代理中,代理服务器用自己的IP代替了客户端的真实IP,但是告诉了目标访问对象这是代理访问。
(3) 高匿代理
在高匿代理中,代理服务器良好地伪装了客户端,不但用一个随机的IP代替了客户端的IP,也隐藏了代理信息,服务器不会察觉到客户端是通过代理实现访问的,即用户仿佛就是直接使用代理服务器作为自己的客户端。
服务器是如何识别客户端是否使用了代理IP呢?
通常,服务器通过获取HTTPRequest的头部信息的相关字段来判断客户端是否使用了代理。该字段包括REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR等。
1、透明代理(Transparent Proxy)
REMOTE_ADDR = Proxy IP
HTTP_VIA = Proxy IP
HTTP_X_FORWARDED_FOR = Your IP
2、普通匿名代理(Anonymous Proxy)
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = proxy IP
3、高匿代理(Elite proxy或High Anonymity Proxy)
REMOTE_ADDR = Proxy IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined
由此可见,高匿代理最为安全,了无痕迹。