GoogleColaboratoryを使用し、ファイルなどをGoogleドライブにダウンロードする

GoogleColaboratoryを使用し、ファイルなどをGoogleドライブにダウンロードしてみます。

■PC環境

Windows10

■GoogleColaboratoryにアクセス

まずは、「Colaboratory – Google Colab(https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja)」にアクセスします。アクセスする前に事前にGoogleアカウントを取得しておく必要があります。

アクセスすると、上部メニューに「ファイル」という項目がありますので、こちらをクリックします。クリック後、プルダウンメニューが表示されますので、メニューの中から「ノートブックを新規作成」をクリックします。

クリックすると、Webブラウザで新しいウインドウが表示され、新しいノートブックが表示されます。

■Googleドライブをインポートする

次に新しいノートブックにGoogleドライブをインポートします。

■コード

from google.colab import drive 
drive.mount('/content/gdrive')

インポートする場合は、上記のコードを記述します。記述後、左側の再生ボタンをクリックします。

Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=○○○○

Enter your authorization code:

クリックすると、「Go to this URL in a browser(ブラウザでこのURLに移動します)」などのメッセージが表示されますので、表示されているURLをクリックします。

クリックすると、「ログイン – Google アカウント」という新しいウインドウが表示されます。ウインドウ内には「アカウントの選択」と表示されていますので、取得されたGoogleアカウントを選択します。

選択すると、「Google Drive が Google アカウントへのアクセスをリクエストしています」と表示されますので、「許可」ボタンをクリックします。

クリックすると、「このコードをコピーし、アプリケーションに切り替えて貼り付けてください。」と表示され、その下にコードが表示されていますので、このコードをコピーします。コピー後、ウインドウを閉じます。

ウインドウを閉じた後に新しいノートブックに戻ります。戻った後に「Enter your authorization code:」の入力欄に先ほどのコードを貼り付けます。

貼り付けた後に、Enterキーを押すと、「Mounted at /content/gdrive」と表示されます。

これでGoogleドライブのインポートは完了です。完了後、新しいノートブックの右側にある「フォルダ」のアイコンをクリックします。

クリックすると、「ファイル」が表示され、「gdrive」の「MyDrive」で、取得されたGoogleアカウントのGoogleドライブの中身が確認できます。

■requestsモジュールを使用しGoogleドライブにファイルをダウンロードする

確認できた後に、requestsモジュールを使用しGoogleドライブにファイルをダウンロードするスクリプトを書いていきます。

■コード

import requests

file_download_url = "https://laboratory.kazuuu.net/wp-content/uploads/2021/01/sample.pdf"

r = requests.get(file_download_url, stream = True)

with open("/content/gdrive/MyDrive/sample.pdf","wb" ) as file:
  for block in r.iter_content(chunk_size = 1024):
    if block:
      file.write(block)

インポートでrequestsモジュールを呼び出します。呼び出した後にfile_download_urlという変数を作成し、ダウンロード可能なファイルのURLを記述します。今回は当サイト(https://laboratory.kazuuu.net/)にサンプルのPDFファイルを用意しましたので、こちらのURLを指定しています。

指定後、rという変数を作成し、requests.get()で指定したURLのPDFファイルのデータを取得し、格納します。

格納後、with構文で今回インポートしたGoogleドライブ(/content/gdrive/MyDrive)に「sample.pdf」というバイナリファイルを書き込みモード(”wb”)で開き、そこに取得したPDFファイルのデータを1024バイトにわけて書き込みを行います。

■実行

今回のスクリプトを新しいノートブックに記述し、「再生」ボタンをクリックします。

クリックすると、インポートしたGoogleドライブ内に「sample.pdf」というファイルがダウンロードされていることが確認できました。

コメント

タイトルとURLをコピーしました