Google Driveにある大きいファイルをcurl でdowload(2022)

confirm の値がcookieで保存され無くなった?ので改良した
ファイル名のドライブの名前を使う.ディレクトリでもfileでもokにもしてる
自分はbashですが必要に応じて一行目のシェバンのとこを変えれば楽です.自分のshellに応じて実行してください

#!/usr/bin/bash
DIR=`pwd`
if [ $# = 0 ] ; then
	echo "no URL"
	exit
fi

if [ ` echo $1 |grep /d/` ] ; then
	echo Downloading File
	line=${1#*'/d/'}
	FILE_ID=${line%%'/view'*}
elif [ ` echo $1 |grep /folders/` ] ; then
	echo Downloading Folers
	line=${1#*'/folders/'}
	FILE_ID=${line%%'?usp=sharing'*}
fi



echo $FILE_ID

CODE=$(curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')
# CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"昔のやつ
echo $CODE
curl -JO -Lb /tmp/cookie  "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" 



この記事が気に入ったらサポートをしてみませんか?