5
4

More than 3 years have passed since last update.

Google Drive内のファイルをPythonでダウンロードする方法

Last updated at Posted at 2020-07-24

Colaboratryなら簡単だがAWSやGCPだと意外と大変

Jupyter lab等で機械学習モデルを扱うとき,大きな学習済みモデルをGoogle driveから直接ダウンロードしたいといった状況がよくあると思います.
Google colaboratoryなら,Google driveと連携できるのでとても楽なのですが,AWSやGCP内のjupytrerでダウンロードしようとすると意外と大変です.
そこでgoogledrivedownloaderというpythonライブラリがおすすめです.便利ですが,意外と知られていないので今回記事を書きました.
pydriveというgoogle driveを扱うライブラリもありますが,単純にダウンロードするだけならこれがシンプルで楽に使えます.

googledrivedownloader

googledrivedownloaderのGithubレポジトリは下記です.
https://github.com/ndrplz/google-drive-downloader

インストール

インストールは次で簡単にできます.

pip install googledrivedownloader

使い方

例えば,Google drive内にmnistのzipファイルがあった場合は次のように簡単にダウンロードできます.
そのときのfile_idはGoogle driveでファイル共有をするときのURLに含まれているidです.外部からもアクセスできるようなアクセス権にする必要があります.
zipファイルなら展開までやってくれるので便利です.

from google_drive_downloader import GoogleDriveDownloader as gdd

gdd.download_file_from_google_drive(file_id='1iytA1n2z4go3uVCwE__vIKouTKyIDjEq',
                                    dest_path='./data/mnist.zip',
                                    unzip=True)

追記

フォルダごとダウンロードする方法も見つけました。

!cd Deep3DFaceReconstruction/network && wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1fPsvLKghlCK8rknb9GPiKwIq9HIqWWwV' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1fPsvLKghlCK8rknb9GPiKwIq9HIqWWwV" -O FaceReconModel.pb && rm -rf /tmp/cookies.txt
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4