打个比方,一个工作室需要不同的账号,但是一个账号只有一个地址,总不能整个工作室就只有一个账号使用吧?所以,为了能做更多的事情,我们需要改变一下策略,让多个账号都能使用和运行起来。所以,在python中有没有能设置代理的呢?经过一番查找,小编找到了方法,分享给大家,希望能有所帮助。
urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。假如一个网站它会检测某一段时间某个 IP 的访问次数,如果访问次数过多,它会禁止你的访问。所以你可以设置一些代理服务器来帮助你做工作,每隔一段时间换一个代理,网站君都不知道是谁在捣鬼了,这酸爽! 下面一段代码说明了代理的设置用法。
import urllib2 enable_proxy = True proxy_handler = urllib2.ProxyHandler({"http" : 'http://some-proxy.com:8080'}) null_proxy_handler = urllib2.ProxyHandler({}) if enable_proxy: opener = urllib2.build_opener(proxy_handler) else: opener = urllib2.build_opener(null_proxy_handler) urllib2.install_opener(opener)
拓展:Timeout 设置
上一节已经说过urlopen 方法了,第三个参数就是 timeout 的设置,可以设置等待多久超时,为了解决一些网站实在响应过慢而造成的影响。 例如下面的代码,如果第二个参数 data 为空那么要特别指定是 timeout 是多少,写明形参,如果 data 已经传入,则不必声明。
import urllib2 response = urllib2.urlopen('http://www.baidu.com', timeout=10)
import urllib2 response = urllib2.urlopen('http://www.baidu.com',data, 10)
以上就是Python爬虫中设置代理的方法。结尾的时候我们补充了timeout的用法,本意是希望可以让大家需要网络过慢问题能有好的解决出路。不过,地址代理方面用的较为多,所以要着重学习。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!