您的位置:新闻资讯 >文章内容
Python爬虫IP代理池的建立和使用
来源:本站 作者:jinglingdaili 时间:2019-04-08 16:01:22

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


ip代理池


大致思路如下:


1.访问一个国内免费ip代理的网站(注意要获取高匿的ip),以精灵代理为例,注册后可以免费领取代理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,至于翻页什么的大家应该可以自己搞定。  

相关文章内容简介
在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部