通过命令行从 Google Drive下载数据

推荐:Linux下使用gdown来下载Google Drive谷歌云盘教程

-----

Google Drive的分享链接格式通常为:

https://drive.google.com/file/d/<fileid>/view

其中这个<fileid>就是对应文件在服务器上的唯一标识符。

例如OfficeHome数据集在Google Drive上的链接即为:

https://drive.google.com/file/d/0B81rNlvomiwed0V1YUxQdC1uOTg/view

其中的<fileid>0B81rNlvomiwed0V1YUxQdC1uOTg,文件名可以自己取

所以提取到的关键变量为:

filename='OfficeHomeDataset_10072016.zip'
fileid='0B81rNlvomiwed0V1YUxQdC1uOTg'

wget 指令

针对小文件:

wget --no-check-certificate "https://drive.google.com/uc?export=download&id=${fileid}" -O ${filename}

如果文件大的话,需要对cookie进行处理:

wget --load-cookies /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=${fileid}' -O- | sed -rn 's/.confirm=([0-9A-Za-z_]+)./\1\n/p')&id=${fileid}" -O ${filename} && rm -rf /tmp/cookies.txt

整理成脚本:

# cd scratch place
cd data/

# Download zip dataset from Google Drive
filename='OfficeHomeDataset_10072016.zip'
fileid='0B81rNlvomiwed0V1YUxQdC1uOTg'
wget --load-cookies /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=${fileid}' -O- | sed -rn 's/.confirm=([0-9A-Za-z_]+)./\1\n/p')&id=${fileid}" -O ${filename} && rm -rf /tmp/cookies.txt

# Unzip
unzip -q ${filename}
rm ${filename}
cd

谷歌获取下载链接的方式:

在这里插入图片描述

在这里插入图片描述
有时候需要修改权限:
在这里插入图片描述
改成所有人可下载

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值