Linux下用wget下载Google Drive文件

Google云端硬盘(英语:Google Drive)是Google的一个在线同步存储服务。

免费版本的只有15GB的存储空间,如果嫌小又不想付费的话可以加入一个团队盘,团队盘的存储空间为8EB。

Google Drive具有分享功能,这个时候问题来了,我想把文件下载在服务器上,该如何处理呢?

小文件下载

如果一个分享文件的地址为 https://drive.google.com/uc?id={文件ID},那么就直接在下载的时候加上参数 &export=download 即可

下载样式:

1
wget --no-check-certificate 'https://drive.google.com/uc?id={文件ID}&export=download' -O {文件名}

大文件下载

在普通浏览器上下载大文件时,会弹出一个 病毒扫描警告,只有点击仍然下载才可以继续下载

那在服务器上如何做呢?

这个时候就需要cookie了,保存cookie上传至服务器

下载样式:

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