首页>比特动态>使用代理IP隐藏身份可靠吗?
使用代理IP隐藏身份可靠吗?

  使用代理IP隐藏身份可靠吗?以前说使用 User-Agent 来伪装自己不是爬虫,但是这并不能规避服务器禁止访问的问题,但因为程序的运行速度是非常快的,如果我们利用一个爬虫程序在网站爬取数据,一个固定IP会非常频繁去访问服务器,一般来说,正常人是达不到这种手速的,除非你是 ......,因为手动操作不可能在几ms内,进行如此频繁的访问。所以一些网站一般都会设置一个IP访问频率的阈值,如果一个IP访问频率超过这个阈值,说明这个不是人在访问,而是一个爬虫程序,这个时候你的IP就会被禁止访问服务器。


使用代理IP隐藏身份可靠吗?


  关于这个问题一般有两种解决方案:


  问题分析 : 由于短时间内使用同一IP地址过高评率访问服务器导致的IP被封禁问题。解决办法 : 睡眠程序 ---- 使用多个IP地址


  一、睡眠程序


  一个很简单的解决办法就是设置延时,但是这样会造成我们获取数据花费大量时间,这样不能很好的满足我们的要求.


  二、使用代理IP或者动态VPS


  使用多个IP地址,就能很好的解决问题,不仅不会被封禁,而且访问速度也没有太大牺牲.


  之前我们使用 urlopen()的时候都没怎么详细的了解这个函数,它其实是一个默认的 Opener,今天可以说下它的实现.


  在 urlopen()的实现中有明确的三步实现:


  创建 handler()


  调用 build_opener()以 handler为参数创建得到 opener


  使用 opener.open()发送请求


  我们使用代理的步骤也跟上述基本一致,看下实现:


  可以看到IP地址已经伪装完成,需要说明的是,一般来说公司有自己的代理库,这种公开的也只是测试用一哈,如果用自己的代理库也只是简答调整一下就好了.