Proxy(代理)的设置
urllib2默认会使用环境变量http_proxy来设置HTTP Proxy,例如一个网站会检测某一时间段内某个ip的访问次数,如果访问次数过多,会限制该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.buile_opener(null_proxy_handler)
urllib2.install_opener(opener)
Timeout设置
urllib2的urlopen方法的第三个参数就是timeout的设置,可以设置等待多久超时,为了解决一些网站实在响应过慢而造成的影响。
例如下面的代码,如果第二个参数data为空那么要特别指定是timeout是多少,写明形参,如果data已经传入,则不必声明。
import urllib2
response = urllib2.urlopen('http://www.xxx.com', timeout=10)
response = urllib2.urlopen('http://www.xxx.com', data, 10)
这就是一些urllib库的高级用法,转载自静觅博客。