1

我尝试从 url 下载 tgz 文件。如果我使用该链接并将其复制到 Firefox,则会出现一个下载为对话框,我可以下载数据。

如果我使用此代码,我会得到urlopen error

urllib.request.urlretrieve(HOUSING_URL, "C:/HomeC/data.tgz")

有谁知道,我做错了什么?同样:存储在 HOUSING_URL 中的链接是正确的,并且可以在浏览器中使用。键入它也没有错误,因为我直接从 Visual Studio 中的“监视窗口”复制路径

4

2 回答 2

0

您可以在检索数据之前添加这些代码

# set proxy
proxy = urllib.request.ProxyHandler({"https":"http://your proxy IP:port"})
opener = urllib.request.build_opener(proxy)
urllib.request.install_opener(opener)

urllib.request.retrieve(housing_url, tgz_path)
...
于 2022-01-25T04:30:19.790 回答
0

你有代理设置吗?你可以试试这个——

image = urllib.URLopener(proxies={})
image.retrieve(HOUSING_URL, "C:/HomeC/data.tgz")

您也可以使用 HTTP 代理检查这些 - Python

于 2018-02-06T10:16:51.913 回答