3

我查看了 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'

4

2 回答 2

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

于 2013-07-03T14:09:52.780 回答
1

你有正确的想法,你只是错过了一些东西

proxy = urllib2.ProxyHandler({'http': '127.0.0.1'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
urllib2.urlopen('http://www.google.com')
于 2013-07-03T13:59:28.677 回答