上文刚刚讲到对于代理IP资源的获取方法,如果选择使用飞猪爬虫代理IP,这效果还是不错的,可以先进行测试使用的。那么代理IP在Python中如何使用的呢?
我们使用的库不一样,使用代理IP的方法也是不一样的,比如request调用代理IP:
1.导入urllib的request,然后我们调用ProxyHandler,它可以接收代理IP的参数。
from urllib import request
px=request.ProxyHandler()
2.把IP地址以字典的形式放入其中,这个IP地址是我胡编的,切勿当真,只是用来举例。设置键为http,当然有些是https的。
st.ProxyHandler({'http':'66.66.66.66:88888'})
3.用build_opener()来构建一个opener对象
opener=request.build_opener(px)
4.调用构建好的opener对象里面的open方法来发生请求。实际上urlopen也是类似这样使用内部定义好的opener.open(),这里就相当于我们自己重写。
req=request.Request('网址')
res=opener.open(req)
with open('a.html','wb')as f:
f.write(res.read())
以上便是Python中request调用代理IP的方法,如果我们在使用代理IP时遇到错误,比如提示目标计算机积极拒绝,这就说明可能是代理IP无效,或者端口号错误,这就需要使用有效的IP才行哦。
我们都知道,网络爬虫能够在大数据里起到重要的作用就是因为用爬虫抓取网页信息便捷、高效、迅速。但是,也不得不小心IP地址受限制。很简单的一个道理,比如说我们自己有一个网站,有很多恶意竞争的对象,专门用恶意程序爬虫抓取我们的数据,服务器的承载力总归是有限的,如果有程序一直超负荷抓取服务器信息,服务器很容易就崩溃了。因此,现在很多网站,为了保护网站的安全,都会设置防爬机制,拒绝网络爬虫。
因此,为了能够继续访问,我们需要使用代理IP,当ip地址受限制时,可以换一个新的ip地址,保证爬虫的顺利进行。