一、为什么使用代理IP
我们去爬取一些网站信息时,会把我们机器的IP也传递给目标网站,如果目标网站设置了反扒机制,比如检测单个IP的访问频率,如果频率超过某个阀值,则直接拒绝访问。举个例子,安居客网设定,单个IP一秒的访问频率不能超过30次,如果超过30次,拒绝该IP的访问需求,如果是手动点击访问,一秒钟30次确实足够了,但是如果是爬虫,呵呵呵,很简单就超过这个频率了。
针对上面说的问题,为了能正常爬取数据,只有2个办法,一是降低爬取速度,将其控制在网站规定的阀值范围内(这个就不考虑了,写爬虫就是为了速度,现在主动减速,还写爬虫干嘛?);二是切换IP访问,可以在固定时间段后,通过切换IP继续爬取,这样即使之前爬取过快被封IP了,我换一个就是了。
二、使用代理IP的原理
代理IP使用的原理如下图,本来爬虫是直接从本机到目标网站的,现在多了一步,先到代理机,再由代理机去访问目标网站,这样目标网站就不知道我们本机的信息,如果封IP,封的也是代理机的IP,跟本机无关。
当然,使用代理IP的代价是时间的消耗,直观上看,我们的访问多了中间的传导,肯定是会多花一些时间的。