はじめに
2021年6月30日現在の方法になります.
ColabやPyPiの仕様変更によって成功するかどうかは変わりますので悪しからず...
やること
GoogleDriveにある100MB以上のファイルのダウンロード方法を紹介します.
100MB未満のファイルを扱う方は,この方のcurlやwgetで公開済みGoogle Driveデータをダウンロードするを読んでみましょう.
手っ取り早く試したい人はこちらのコマンドをどうぞ.
!pip install gdown
!gdown "https://drive.google.com/uc?export=download&id=1raMzTc0UmUxXluQ7ckPDHbQbhLhZCL_A"
!unzip cat.zip
100MB未満のファイルを扱うときのコマンドは次の通りです.
!wget "https://drive.google.com/uc?export=download&id=<FILE_ID>" -O <FILE_NAME>
※Colabはipynb形式なのでマジックコマンドになっています(コマンドの頭に!
がついています).
誰向けか
Colabを使ってデータ分析とか始めたい人
Colabの扱いにそこまで慣れていない人
(やり込んでる人は知っているような内容かと思います...)
ダウンロード手順
- ファイルのIDを調べる
-
pipでgdownをインストールする(Cobalにはプリインされてました) - gdownコマンドでダウンロードする
GoogleDriveのファイルのID
知っている人は飛ばして次のダウンロード実行に進みましょう.
【Goodle Drive】→【目的のファイルのディレクトリ】まで遷移しましょう.
右クリックか二本指クリック→【リンクを取得】をクリックしましょう.
このようなモーダル画面が現れます.
【制限付き】→【リンクを知っている全員】に変更しましょう.
ちなみに,ここで【制限付き】にするとあとで怒られます.
(僕の二の轍を踏まないで下さいね←)
さて変更するとこんな画面になります.
【閲覧者】でも【閲覧者(コメント可)】でも【編集者】でもどれでもいいです.
【リンクをコピー】を押しましょう.
すると下記のようなリンクが手に入ります.
https://drive.google.com/file/d/1raMzTc0UmUxXluQ7ckPDHbQbhLhZCL_A/view?usp=sharing
IDはこの部分です.
file/d/
と/view?
の間ですね.
この場合は1raMzTc0UmUxXluQ7ckPDHbQbhLhZCL_A
ですね.
これをメモしておきましょう.あとで使います.
ダウンロードの実行
次の二つのコマンドを見てみましょう.
2.pipでgdownをインストールする(Cobalにはプリインされてました)
3.gdownコマンドでダウンロードする
!pip install gdown
!gdown "https://drive.google.com/uc?export=download&id=[FILE_ID]"
# [FILE_ID]は任意のファイルのIDです
(マジックコマンド!pip
を使ってgdownをインストールします.)
※Colabでは必要のない処理ですが,他の環境で実行するのであれば必要になる場合があります.
!gdown ダウンロードファイルURL
でGoodleDriveからファイルをダウンロードできるので,先ほど取得したファイルのIDを[FILE_ID]
に代入しましょう.
上の例の場合はこのようになります.
!pip install gdown
!gdown "https://drive.google.com/uc?export=download&id=1raMzTc0UmUxXluQ7ckPDHbQbhLhZCL_A"
実行するとこのようにダウンロードの様子が表示されます.
そして左側の【】の中に【cat.zip】を確認することができます.
おまけ:zipの解凍
さて,この例ではcat.zipという猫画像を100枚スプレイピングしたものが入っています.
zipファイルなので解凍する必要があります.
こんな感じで解凍しましょう.
from IPython.display import clear_output
!unzip cat.zip
clear_output()
うまくいくと,左側の【】の中に【cat】を確認することができます.
おわりに
ローカルでの実行方法は結構あったんですが,Colab上でとなるとなかなかいなかったので書いてみました.
書き終わった後に探し直したらありました!!笑
こちらもどうぞ!Google ColabでGoogle driveの公開ファイルを直接ダウンロードする方法
ちなみに参考にしたのはこのやりとりです.
グーグルドライブからwget / curl大きなファイル
サンプルを用意してみました.
実際に動きを確認したい人はこちらから試してみて下さい.
https://colab.research.google.com/drive/1JDev-cw4ufXWFC-p8jUwUk3Jl8jr7MOP#forceEdit=true&sandboxMode=true
この類の何度も行う処理はスニペット化,あるいは同じファイルを使い回すのであればテンプレート化してもいいかもしれませんね.
Colabスニペットについてはこちらの記事をどうそ.