爬虫运行高级策略就是使用动态ip

运行爬虫的高级策略是使用ip代理!最近,一位用户报告说,当使用我们的代理ip服务时,数据突然不返回.....我们的IP模拟器代理有问题吗?
 
 
我问他具体错误信息是什么,他说就是回不了数据。我问了他访问的具体网站后,用浏览器设置代理IP访问测试是正常的。我告诉他后,他说,但是我的程序没有返回数据。
 
我告诉他浏览器设置代理访问网站是正常的,说明IP没有问题,程序代码无法返回数据。可能是目标网站的反爬虫策略升级了,需要调整爬虫策略,比如并发、访问频率、UA等等。他说:政策只能是代理IP。如果代理IP失败了,再谈其他政策也没用。
 
这句话对吗?是真的吗?我告诉他,策略不只是代理IP,还有其他因素,比如访问次数,访问频率,UA,cookies之类的(不限于此)。而不是使用代理IP,可以高枕无忧,无视目标网站的反抓取策略,肆意抓取,为所欲为。其实不能。代理IP只是一个辅助工具,主要作用是让爬虫持续稳定的工作。单个代理IP也要遵守反爬虫策略,不能频繁访问网站。如果触发了反爬虫策略,就会被限制,不会返回数据或错误数据。
 
有人会说,这样的代理IP有什么用?的确,单个代理IP用处不大,但是大量代理IP就很有用了。比如目标网站限制一个IP在24小时内不能访问网站超过1000次,最快访问频率10秒。那么,代理IP的使用也要遵守目标网站制定的这个规则。如果访问频率超过1000次或少于10秒,代理IP也会受到限制。
 
我该怎么办?正确的做法是使用代理IP访问目标网站999次(理想情况下次数越少可能越好),切换到下一个代理IP,这样可以避免IP限制;或者同时使用多个代理IP,这样一般来说可以实现10秒以内的访问频率,不受IP限制,在遵循目标网站规则的同时,不影响爬虫的工作效率。
 
当然,代理IP不行,谈其他策略也没用。这后半句是对的。工欲善其事,必先利其器。工具不好,就不能好。所以当出现问题时,首先要确定是代理IP的问题还是政策的问题,然后再解决问题。如果浏览器设置代理无法正常访问网站,很可能是代理IP的问题,需要联系服务商帮忙解决。如果浏览器设置代理可以正常访问网站,那么代理IP没有被限制,很可能是政策问题,需要调整政策。