在爬虫工作过程中,经常会被目标网站禁止访问,但又找不到原因,这是令人非常恼火的事情。
一般来说,目标网站的反爬虫策略都是依靠IP来标识爬虫的,很多时候,我们访问网站的IP地址会被记录,当服务器认为这个IP是爬虫,那么就会限制或者禁止此IP访问。
被限制IP最常见的一个原因是抓取频率过快,超过了目标网站所设置的阈值,将会被服务器禁止访问。所以,很多爬虫工作者会选择使用代理IP来辅助爬虫工作的正常运行。
但有时候不得不面对这样一个问题,代理IP不够用,怎么办?有人说,不够用就去买呀。这里有两个问题,一是成本问题,二是高效代理IP并不是到处都有。
通常,爬虫工程师会采取这样两个手段来解决问题:
一、放慢抓取速度,减少IP或者其他资源的消耗,但是这样会减少单位时间的抓取量,可能会影响到任务是否能按时完成。
二、优化爬虫程序,减少一些不必要的程序,提供程序的工作效率,减少对IP或者其他资源的消耗,这就需要资深爬虫工程师了。
如果说这两个办法都已经做到极致了,还是解决不了问题,那么只有加大投入继续购买高效的代理IP来保障爬虫工作的高效、持续、稳定的进行。