试图从网站上获取文件,但是延迟破坏了一切

时间:2018-12-25 16:27:51

标签: python urllib

我正在尝试使用urllib来获取excel文件,如下所示

import urllib.request as url

request = url.urlopen("url").geturl()
url.urlretrieve(request,"excelfile.xls")

但是,URL不是指向文件的直接链接,而是指向html页面的链接,该页面会在短暂延迟(没有任何重定向)后触发下载。这将导致上述代码改为检索html文件。

我已经对此进行了临时修复,但这是非常不可靠的。见下文。

req1 = url.urlopen("url").geturl()
url.urlretrieve(req1,"excelfile.xls")

time.sleep(5)

req2 = url.urlopen("url").geturl()
url.urlretrieve(req2,"excelfile.xls")

time.sleep(5)有时可以弥补延迟,并且可以下载正确的文件。

是否有更可靠的方法来确保获取正确的文件?

我尝试使用.info()来尝试使代码重试,直到获得正确的文件为止,但是尝试下面的代码时,打印的信息与{{1}的实际响应无关}。我可能用错了。

urlretrieve

有什么建议吗?

可以找到here到excel文件的网址。

0 个答案:

没有答案