我正在编写一个脚本,使用urlretrieve
从网站下载视频。我的互联网连接有些不稳定,偶尔会发生故障
当我的网络出现故障时,urlretrieve
挂起,并且没有将控制权传回我的程序,因此我可以处理错误。
我该如何解决这个问题呢?
或者我应该为此目的使用不同的库?如果是这样,哪个是最好的(考虑到urllib
的所有其他功能对我的使用来说已经绰绰有余了,我下载的文件大约是500 - 600 MB)?
答案 0 :(得分:1)
使用requests库。当网络出现问题时,请求将抛出ConnectionError
exception。有关如何使用请求下载大文件的信息,请参阅此stackoverflow thread。
如果您在异常发生后再次重新开始下载,请查看HTTP Range
标题,您可以使用该标题继续下载(前提是您和# 39;重新保存已经在异常处理代码中的某处已经检索过的字节。)