URLretrieve - Return 控件在下载 fails/network 错误时编程

URLretrieve - Return control to program when download fails/network error

我正在使用 urlretrieve 编写脚本以从网站下载视频。我的互联网连接有些不稳定,时不时掉线。
当我的网络出现故障时,urlretrieve 挂起,并且不会将控制权交还给我的程序以便我可以处理错误。
我该如何解决这个问题?
或者我应该为此目的使用不同的库吗?如果是这样,哪个是最好的(考虑到 urllib 的所有其他功能对我的使用来说绰绰有余,我下载的文件大约 500 - 600 MB)?

使用 requests library. Requests will throw a ConnectionError exception when problems with the Network arise. Refer to this Whosebug thread 了解如何使用请求下载大文件。

如果您对出现异常后重新开始下载感到恼火,请查看 HTTP Range header,您可以使用它继续下载(前提是您正在保存已在异常处理代码中某处检索到的字节。)