很多人认为:使用高匿名代理IP后,不会被目标网站识别,也就不会被目标网站所限制,可以一直工作下去,直到代理IP失效;IP如果被识别限制了,那么这个IP一定不是高匿名代理IP。这种说法是正确的吗,我们一起来分析分析。
一、高匿名代理IP不被识别的原因
服务器端从客户端发送请求中的相关字段来识别是否使用代理IP,识别的办法就是抓数据包里的相关字段:REMOTE_ADDR,HTTP_VIA以及HTTP_X_FORWARDED_FOR三个字段。
使用高匿名代理IP发送请求时的这3个字段的值,和没有使用代理IP发送请求时的值是一样的,也就是说,服务器端想从这3个字段来分辨是否使用代理IP是毫无办法的,这也就是为什么高匿名代理IP不被识别的原因。
二、使用高匿代理IP被限制的原因
服务器端从客户端发送请求的相关行为来识别是否使用代理IP,识别的办法一般是分析访问请求行为是否反人类:访问频率超快,访问非常规律等。
爬虫工作量无疑是非常巨大的,那么请求量就会非常庞大,一秒几十个几百个请求都是常有的事情,远超正常人访问网页的速度,于是相关反爬策略就会作出判断,该用户为非正常用户,对IP作出限制处理。这种情况并不是识别了客户端使用了代理IP,而是客户端的相关请求行为太不正常了,就算不使用高匿代理IP,是自己的真实IP在请求,这样的行为也一样会被限制。
我们使用代理IP来进行工作,是为了提高工作效率,保障工作可以持续稳定的进行下去,那么我们一定要选择高匿名代理IP,这样就不会被识别;同时我们的请求行为尽量模拟正常用户行为,尽量不触发反爬策略,这样就不会被限制。