您的位置:首页 >新闻资讯 > 正文

爬虫关于ip管理池的应用

来源:互联网 作者:admin 时间:2019-08-28 14:47:54

  爬虫关于ip管理池的应用,在爬虫的时候经常会遇到一个问题就是ip被封,由于ip对网站的短时间大量请求,让网站将我们的ip暂时封掉。这样我们就无法全部爬 取自己想要的内容。这里百度了一下解决办法,很多人都提到了ip代理管理池的问题,其大致思想就是在一些网站上找一些免费的ip代理,然后将他们放入一个列表中,这样我们 就可以用这些免费的ip代理来不断更换,每当一个ip被封后我们就用代码调用下一个IP代理,直到我们爬完我们想要的数据。


爬虫关于ip管理池的应用


  大致思路如下:(这里我用Python来讲)


  1.访问一个国内免费ip代理的网站(注意要获取高匿的ip),这里我们以网站有代理(http://www.youdaili.net/)为例,进入后找到http代理点击进入,然后点击列表中最新日期的免费代理,就可以看到很多最新的免费ip代理。


  2.用Python的BeautifulSoup解析这个页面,从页面中获取所有的ip地址及端口号,组合(ip:port的形式)起来存入一个列表中。


  3.获得了所有的ip后,接下来我么要验证这些ip能不能用,因为免费的ip代理大部分都是不能用的,所以我们就要从这些在网页上爬取的ip进行检查, 去掉那些不能用的,具体方法是(注意一点Python中代理参数的格式是proxy=  {'http':'http://ip:port'}):首先我们将ip配置为Python中代 理参数的默认格式,然后我们用urllib.request.ProxyHandler方法将proxy传入,接着用urllib.request.build.opener和urllib.request.install_opener()一次处理, 代理参数就配置好了,然后我们以百度为测试网站,测试看看我们的代理ip能不能,用urllib.request.urlopen()如果能返回则证明可用反之不能用。能用的话我们就添加到一个新的列表中加一保存。


  注:出入讲解的缘故,一下代码只爬取的免费代理网站上面的首页所有ip和port,至于翻页什么的大家应该可以自己搞定。


  代码如下:


爬虫关于ip管理池的应用

相关文章内容简介