我正在循环下载大量文件,其中包含以下代码:
try:
urllib.urlretrieve(url2download, destination_on_local_filesystem)
except KeyboardInterrupt:
break
except:
print "Timed-out or got some other exception: "+url2download
如果连接刚开始时服务器在 URL url2download 上超时,则正确处理最后一个异常。但有时服务器响应,并开始下载,但服务器太慢了,即使一个文件也需要几个小时,最终它返回如下内容:
Enter username for Clients Only at albrightandomalley.com:
Enter password for in Clients Only at albrightandomalley.com:
并且只是挂在那里(尽管如果通过浏览器下载相同的链接,则不会询问用户名/密码)。
在这种情况下,我的意图是——跳过这个文件并转到下一个文件。问题是——如何做到这一点?python中有没有办法指定下载一个文件可以工作多长时间,如果已经花费了更多时间,请中断并继续?