URLretrieve - 在下载失败/网络错误时将控制返回到程序

时间:2016-06-11 06:43:22

标签: python python-3.x urllib

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

1 个答案:

答案 0 :(得分:1)

使用requests库。当网络出现问题时,请求将抛出ConnectionError exception。有关如何使用请求下载大文件的信息,请参阅此stackoverflow thread

如果您在异常发生后再次重新开始下载,请查看HTTP Range标题,您可以使用该标题继续下载(前提是您和# 39;重新保存已经在异常处理代码中的某处已经检索过的字节。)