1. 再a方法中新建了個opener,使用了代理:
proxydict = {} proxydict['http'] = "http://%s:%s"%(ip,port) #print proxydict proxy_handler = urllib2.ProxyHandler(proxydict) opener = urllib2.build_opener(proxy_handler) opener.addheaders = [('User-agent', 'Mozilla/5.0')] urllib2.install_opener(opener)
urllib2.urlopen(.......)
2. 又定義了b方法,
不適用proxy來訪問,直接urlopen。
response = urllib2.urlopen(。。。。。。。。。
這個時候有可能會導致b方法再被運行的時候使用的是a方法中的opener,導致是使用代理訪問的,
這個原因我沒有找到,不過這樣有可能會產生這樣的問題,當我將b方法中的改為下面這樣就沒有問題了:(生成個空的opener)
opener = urllib2.build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] urllib2.install_opener(opener) response = urllib2.urlopen(urls)