昨天有朋友问我,你们的代理IP都是高盲代理吗?我说:对,我们的付费代理都是高匿名代理IP。他说:不可能,我用的是你的短期优质代理IP,其实还有很多不高调的。我说:你怎么判断我们的代理IP没有被隐藏?他说:我做的爬虫用的是你们的代理。有的代理IP没问题,有的代理IP直接跳转。你能解释一下,除了代理透明还有什么可能吗?我说:这并不能说明我们的代理IP不是高泥。至于为什么被重定向,很有可能是触发了反爬策略。他说:是的,这说明这些代理IP没有被隐藏。我说:按照你的理解,如果一个代理IP一开始不被爬虫识别,那么就是高匿名代理。访问一段时间后被爬虫识别,是不是就变成透明代理了?他说:是的。...这位朋友只是对如何判断代理IP是否被隐藏感兴趣,就是看看会不会被反爬识别到。很多朋友也有这种看法,认为使用高级别的代理IP肯定能成功,不然就是透明代理IP,普通代理IP。其实,这样的看法是不正确的。并不是说使用高盲代理IP就可以无视反爬虫策略。.那么如何判断一个代理IP是否为匿名代理IP呢?其实,识别IP代理的匿名级别并不复杂。只需要在服务器端通过脚本程序(如ASP、PHP、JSP等)来识别即可。识别方法是抓取数据包中的相关字段:REMOTE_ADDR、HTTP_VIA和HTTP_X_FORWARDED_FOR。1.透明代理REMOTE_ADDR=ProxyIPHTTP_VIA=ProxyIPHTTP_X_FORWARDED_FOR=YourIP2.普通匿名代理REMOTE_ADDR=proxyIPHTTP_VIA=proxyIPHTTP_X_FORWARDED_FOR=proxyIP3。高匿名代理REMOTE_ADDR=ProxyIPHTTP_VIA=notdeterminedHTTP_X_FORWARDED_FOR=notdetermined透明代理会向目标服务器公开自己的真实IP,一般代理会向目标服务器公开自己使用了代理,高代理不会公开任何东西到目标服务器。可见透明代理和隐藏代理被识别的概率都非常高。只要做好反爬策略,网站就很容易被识别出来。如果使用高匿名代理的IP,虽然不容易被识别,但也是有可能的。并不是不能识别。反爬策略还是会被识别和限制,比如访问频率、次数、User-Agent、cookies、rerefer等诸多因素,反爬策略会不断升级。相应的反爬策略也要不断升级。
