注册
登录
提问时间:2019/3/22 15:36:47    楼主:未知网友   阅读量:268

对于从事互联网工作的朋友来说,代理ip并不是一个陌生的存在,如果你恰好是负责网络爬虫的相关工作,那么每天跟你打交道比较多的就是代理ip了。

我们都知道,网络爬虫能够在大数据里起到重要的作用就是因为用爬虫抓取网页信息便捷、高效、迅速。但是,也不得不小心IP地址受限制。很简单的一个道理,比如说我们自己有一个网站,有很多恶意竞争的对象,专门用恶意程序爬虫抓取我们的数据,服务器的承载力总归是有限的,如果有程序一直超负荷抓取服务器信息,服务器很容易就崩溃了。因此,现在很多网站,为了保护网站的安全,都会设置防爬机制,拒绝网络爬虫。

这个时候如果还想继续访问这个网站,代理ip就很重要,如果当前的ip地址受限制,可以换一个新的ip地址,保证爬虫的顺利进行。站大爷HTTP代理可以提供高质量的代理ip资源,保证爬虫程序的顺利进行。但并不是说有代理IP就可以恶意的超负荷爬取别人的网站了,凡事要掌握一个度,不然使用了代理IP也依然会受到限制。

有了代理IP,那么怎么使用呢,这里以Python3为例,简单的说明下。

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())

最后再来说说使用代理遇到的错误,提示目标计算机积极拒绝,这就说明可能是代理IP无效,或者端口号错误,这就需要使用有效的IP才行哦。