Curlまたはwgetを使用して、公開されているGoogleドライブのURLをダウンロードする方法はありますか?たとえば、次のようなことができるようになります。
curl -O myfile.xls https://drive.google.com/uc?export=download&id=1Wb2NfKTQr_dLoFJH0GfM0cx-t4r07IVl
注:私はpublicly-viewableファイルでこれを行い、Googleアカウントにサインインする(または他の人にアカウントにサインインさせるなど)必要はありません。
役立つ場合、私が持っているCORSヘッダーは次のとおりです。
"kind": "drive#file",
"id": "1Wb2NfKTQr_dLoFJH0GfM0cx-t4r07IVl",
この方法はどうですか?ファイルが非常に大きい場合、Googleはファイルをダウンロードするためのコードを返します。コードを使用してファイルをダウンロードできます。 curlを使用してこのような大きなファイルをダウンロードすると、次のようにコードを確認できます。
<a id="uc-download-link" class="goog-inline-block jfk-button jfk-button-action" href="/uc?export=download&confirm=ABCD&id=### file ID ###">download</a>
confirm=ABCD
を含むクエリは、ファイルをダウンロードするために重要です。このコードはCookieにも含まれています。クッキーでは、次のように表示されます。
#HttpOnly_.drive.google.com TRUE /uc TRUE ##### download_warning_##### ABCD
この場合、「ABCD」がコードです。 Cookieからコードを取得してファイルをダウンロードするには、次のスクリプトを使用できます。
#!/bin/bash
fileid="### file id ###"
filename="MyFile.csv"
curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=${fileid}" > /dev/null
curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=${fileid}" -o ${filename}
これが役に立たない場合は、ごめんなさい。
Curlがリダイレクトに従うようにするには、-L
スイッチを使用する必要があり、ファイル名の正しいスイッチは-o
です。 URLも引用する必要があります。
curl -L -o myfile.xls "https://drive.google.com/uc?export=download&id=0B4fk8L6brI_eX1U5Ui1Lb1FpVG8"
最も簡単で最良の方法(実際のGoogleドライブファイルの例を使用)
インストール gdown を使用してpip
pip install gdown
Googleドライブから cnn_stories.tgz をダウンロードしたいとしましょう
https://drive.google.com/uc?export=download&id=0BwmD_VLjROrfTHk4NFg2SndKcjQ
リンクのid
URLパラメーター0BwmD_VLjROrfTHk4NFg2SndKcjQ
に注意してください
それでおしまい! gdown
を使用してファイルをダウンロードします
gdown --id 0BwmD_VLjROrfTHk4NFg2SndKcjQ --output cnn_stories.tgz
TLDR:gdown --id {gdrive_file_id} --output {file_name}
コマンドライン引数:
--id : Google drive file ID
--output: Output File name
@tanaikeの答えを調べたところ、それは魅力のように機能します。しかし、@ Martin Broadhurstによって提案され、topicstarterによって受け入れられた解決策はそうではありません。
Googleは処理が必要なウイルススキャンに関する警告を表示するため、socスクリプトが必要です。
@tanaikeの答えに投票したいのですが、これを行うのに十分な評判がありません:)
さらに、Googleドライブ上のファイルの取得方法とIDがわからない人のために、この非常に簡単な知識を共有したいと思います。
uRLをコピーします https://drive.google.com/file/d/1FNUZiDDDDDDSSSSSSAAAAAdv42Qgzb6n8d/view?usp=sharing
メモ帳に貼り付けます
楽しい!
単に
wget --no-check-certificate -r 'https://docs.google.com/uc?export=download&id=FILEID' -O DESTINEATION_FILENAME