注册
登录
提问时间:2019/4/29 13:45:45    楼主:未知网友   阅读量:70

相信很多朋友在爬虫工作者经常会遇到“您的请求太过频繁,请稍后再试”,这个时候心里莫名的一慌,爬虫代码完全没有问题呀,可是为什么爬着爬着突然爬不动了呢?那么,很有可能,你的爬虫被识破了,轻则友好提示警告,重则将IP关入小黑屋。

那么,怎么办呢,有人说用代理IP呀,专治各种不服。不错,用代理IP确实不失为一个解决问题的好办法。IP被封了就换新IP继续爬,或者用很多IP同时多线程爬,都很给力的。

于是,爬虫工作者用上了代理IP,重整旗鼓继续爬,但好景不长,没有爬多久又被提示“您的请求太过频繁,请稍后再试”。再换IP还是被封,再换再封,封的越来越快,效率非常低下,这是为什么呢?

那是因为,你用的代理IP凑巧也是别人用来访问相同的网站的,而且用的还比较频繁,这种情况一般出现在免费代理IP、普通代理IP或者开放代理IP,还有一些IP池比较小的共享IP池上。很多朋友总觉得IP池太大,我也用不了那多啊,不是浪费吗?能不能给个小点的IP池,价格再降低一些呢。这样的想法是不对的,IP池小,用的人多,那么项目冲突的几率也就越大,所以我们在找代理IP的时候,在保证IP有效率的同时IP池越大越好的,这样可以保证IP的新鲜度。

除了更大的共享IP池可以缓解或者避免这种情况,独享IP池和一手私密代理也是一个不错的选择,独享IP池是一个人独自享用,那么就没有人会和你冲突,当你控制每个IP都在目标网站设置的阈值内,就不会因为访问频繁而被封IP;一手私密代理做了项目隔离,每个人做不同的项目,互不干扰,互不冲突,这样也可以避免和别人的项目冲突,遇到这种错误的几率也很小。

所以,当您遇到“您的请求太过频繁,请稍后再试”时,不要慌,要镇定,检查下自己的爬虫策略,是否真的访问太过频繁,检查下自己的代理IP是否真的比较干净,调整自己的策略,选择更加纯净的IP,就能有效的避免这个错误了。