用命令行下载Google Drive文件的方法

Linux系统用命令行下载Google Drive文件的方法

  当我们需要通过Google Drive分享的文件下载数据集等资源时,往往用浏览器自带的下载器是不可行的,以Safari浏览器为例。
在这里插入图片描述
  可以看见会出现“网络连接已中断”的情况,并且我们当我们再次下载任务时,任务会重新开始,所以我们要找其他方法来下载。

  一种可行的方法是通过Chrome浏览器的IDM插件来下载,但是需要收费。

  本文给出的方案是通过命令行的方式下载。
在Linux系统中,通过下面的指令下载gdown工具

pip install gdown

  然后在命令行中输入以下指令即可下载Google Drive的资源

#gdown + https://drive.google.com/uc?id= +需要下载的FileID
#下面举一个例子
gdown https://drive.google.com/uc?id=1H73TfV5gQ9ot7slSed_l-lim9X7pMRiU
#本例中FileID=1H73TfV5gQ9ot7slSed_l-lim9X7pMRiU

  FileID获取方法:
在这里插入图片描述
  点击获取链接,再点击复制链接,如图上所示,会有如下链接

https://drive.google.com/file/d/1ftesnmlh7NU3m5MuXGQ6OCJkylTsBOjU/view?usp=share_link

  我们取其中的1ftesnmlh7NU3m5MuXGQ6OCJkylTsBOjU部分作为我们的FileID即可。

  另外,可以通过添加-c指令来继续上次中断下载,可以避免我们再碰上网络连接中断的麻烦,例如我们要(继续)下载FileID为1ftesnmlh7NU3m5MuXGQ6OCJkylTsBOjU的文件,只需要下面的命令即可

gdown -c https://drive.google.com/uc?id=1ftesnmlh7NU3m5MuXGQ6OCJkylTsBOjU

  最终效果如下图所示
在这里插入图片描述
  可以看到,我们虽然在36%时中断,但是我们第二次执行命令时,下载的文件变小了,也就是说程序再下载时,会从上次中断的地方开始下载。^ _ ^

  如果多次中断再进行下载的话会报错:Too many users have viewed or downloaded this file recently. Please try accessing the file again later. If the file you are trying to access is particularly large or is shared with many people, it may take up to 24 hours to be able to view or download the file. If you still can't access a file after 24 hours, contact your domain administrator. 字样,我们可以通过curl的方式来继续下载我们的任务,参考链接

  另外还有一种玄学的方法,如果我们下载的文件小于15G的话,我们可以把别人分享的文件复制到我们的云空间下,我们直接下载我们刚才复制的文件的副本,过程跟之前介绍的一样,获取链接进行下载,本人用这种方法后通过命令行gdown下载再没中断过,并且速度能得到非常大的提升,20KB飞升到1MB不是梦!!!

### 如何从Google Drive下载文件 #### 使用浏览器隐身模式下载单个文件 当遇到无法正常下载的情况时,建议尝试使用Google Chrome浏览器的隐身模式来下载文件。这能有效规避某些网络环境下的限制[^1]。 ```bash # 打开Chrome浏览器并启动新的隐身窗口 chrome --incognito ``` #### 登录账户并批量下载文件 对于需要批量下载多个文件的情形,可以通过访问Drive官方网站完成此操作。先前往指定网站地址,随后按照提示登录个人账号即可实现多文件的同时下载功能[^2]。 #### Linux环境下通过命令行工具`drive`进行下载 针对Linux系统的用户来说,利用专门开发用于处理此类需求的命令行应用程序——`drive`是一个不错的选择。特别是面对较大规模的数据集合时更为适用[^4]。 安装`drive`客户端: ```bash go get github.com/prasmussen/gdrive ``` 授权应用访问权限: ```bash gdrive about ``` 下载特定ID对应的文件: ```bash gdrive download 文件ID ``` #### 将Google Drive挂载为本地磁盘分区(仅限Linux) 另外,在Linux操作系统里还可以考虑采用更进一步的方法即将云存储空间直接映射成本地目录结构的一部分来进行交互式管理[^3]。 安装必要的依赖包: ```bash sudo apt-get install davfs2 ``` 创建挂载点以及执行实际挂载动作: ```bash mkdir ~/google-drive mount -t davfs https://www.googleapis.com/auth/drive.file ~/google-drive/ ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L.fountain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值