这里写自定义目录标题
背景
做深度学习任务时往往需要下载一些 预训练模型或者数据集,这些文件往往都在google drive上,且很大。使用Chrome自带的下载,总是会中断,导致下载失败。苦苦寻觅方法,找到这篇优秀的博文:从Google Drive用命令行下载大文件
,抄作业过程遇到几个小问题,记录一下。
前提
已经翻墙的情况下
问题
- 我在获取drive文件下载链接时的形式为 https://drive.google.com/file/d/1WNQELgHnaqMTq3TlrnDaVkyrAH8Zrjez/view?usp=sharing,而不是文中提到的 https://drive.google.com/open?id=XXXXX,前者的文件id为1WNQELgHnaqMTq3TlrnDaVkyrAH8Zrjez
- 命令
curl -H "Authorization: Bearer YYYYY" https://www.googleapis.com/drive/v3/files/XXXXX?alt=media -o ZZZZZ
在Ubuntu命令行中复制显示为:curl -H "Authorization: Bearer YYYYY" https://www.googleapis.com/drive/v3/files/XXXXX\?alt\=media -o ZZZZZ
?alt变成了?alt\,多了两个斜杠,这两个斜杠不可以删。 - Access token有时效性(一小时),如果一段时间后无法再下载或者中断,考虑是否需要重新生成新的Access token
- 如果下载中断可以使用命令
curl -C - -H "Authorization: Bearer YYYYY" https://www.googleapis.com/drive/v3/files/XXXXX?alt=media -o ZZZZZ
进行断点续传,或开始就使用该命令防止中断
按文中所说替换XXXXX YYYYY ZZZZZ后,即可下载,非常丝滑
Chrome下载大文件容易中断问题的简单解决办法
Ubuntu系统下,用Chrome下载tensorrt,由于文件比较大,一直中断,且不能断点续传,最后换了firefox,虽然也有因为网络不稳定中断的问题,但火狐resume不会失败。