我查看了urllib的文档,但我在代理上找到的所有内容都与urlopen有关。但是,我想从给定的URL下载PDF并将其存储在本地,但使用某个代理服务器。到目前为止我的方法没有用:
import urllib2
proxies = {'http': 'http://123.96.220.2:81'}
opener = urllib2.FancyURLopener(proxies)
download = opener.urlretrieve(URL, file_name)
错误为AttributeError: FancyURLopener instance has no attribute 'urlretrieve'
答案 0 :(得分:4)
我相信你可以这样做:
import urllib2
proxy = urllib2.ProxyHandler({'http': '123.96.220.2:81'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
with open('filename','wb') as f:
f.write(urllib2.urlopen(URL).read())
f.close()
因为urllib2
没有urlretrieve
您可以使用urlopen
来获得相同的效果
你必须让文档混淆因为urllib2
也没有FancyURLopener
这就是你收到错误的原因
urllib2
要好得多。
了解更多信息,请点击此处Urllib2 Docs
答案 1 :(得分:1)
你有一个正确的想法,你只是缺少一些things。
proxy = urllib2.ProxyHandler({'http': '127.0.0.1'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
urllib2.urlopen('http://www.google.com')