file download from google drive to colaboratory

后端 未结 7 2160
遇见更好的自我
遇见更好的自我 2021-02-05 12:22

I was trying to download file from my google drive to colaboratory.

file_id = \'1uBtlaggVyWshwcyP6kEI-y_W3P8D26sz\'

import io
from googleapiclient.http import M         


        
相关标签:
7条回答
  • 2021-02-05 12:47

    You need to define a drive API service client to interact with the Google drive API, for instance:

    from googleapiclient.discovery import build
    drive_service = build('drive', 'v3')
    

    (see the notebook External data: Drive, Sheets, and Cloud Storage/Drive REST API)

    0 讨论(0)
  • 2021-02-05 12:53

    I recommend you use Pydrive to download your file from google drive. I download 500MB dataset for 5s. 1. install Pydrive

    !pip install PyDrive
    

    2. OAouth

    from pydrive.auth import GoogleAuth
    from pydrive.drive import GoogleDrive
    
    gauth = GoogleAuth()
    gauth.LocalWebserverAuth()
    
    drive = GoogleDrive(gauth)
    

    3. code for download file from google drive

    fileId = drive.CreateFile({'id': 'DRIVE_FILE_ID'}) #DRIVE_FILE_ID is file id example: 1iytA1n2z4go3uVCwE_vIKouTKyIDjEq
    print fileId['title']  # UMNIST.zip
    fileId.GetContentFile('UMNIST.zip')  # Save Drive file as a local file
    

    Cheer Mo Jihad

    0 讨论(0)
  • 2021-02-05 12:56

    No installing/importing any library. Just put your file id at the end.

    !gdown --id yourFileIdHere
    

    Note: at the time of writing gdown library is preinstalled on colab.

    0 讨论(0)
  • 2021-02-05 12:57

    Step 1

    !pip install -U -q PyDrive
    

    Step 2

    from pydrive.auth import GoogleAuth
    from pydrive.drive import GoogleDrive
    from google.colab import auth
    from oauth2client.client import GoogleCredentials
    # Authenticate and create the PyDrive client.
    # This only needs to be done once per notebook.
    auth.authenticate_user()
    gauth = GoogleAuth()
    gauth.credentials = GoogleCredentials.get_application_default()
    drive = GoogleDrive(gauth)
    

    Step3

    file_id = '17Cp4ZxCYGzWNypZo1WPiIz20x06xgPAt' # URL id. 
    downloaded = drive.CreateFile({'id': file_id})
    downloaded.GetContentFile('shaurya.txt')
    

    Step4

    !ls #to verify content
    

    OR

    import os
    print(os.listdir())
    
    0 讨论(0)
  • 2021-02-05 13:00

    You can also use my implementations on google.colab and PyDrive at https://github.com/ruelj2/Google_drive which makes it a lot easier.

    !pip install - U - q PyDrive  
    import os  
    os.chdir('/content/')  
    !git clone https://github.com/ruelj2/Google_drive.git  
    
    from Google_drive.handle import Google_drive  
    Gd = Google_drive()  
    Gd.load_file(local_dir, file_ID)
    
    0 讨论(0)
  • 2021-02-05 13:01

    Here's an easy way to get by. You may either use wget command or requests module in Python to get the job done.

    # find the share link of the file/folder on Google Drive
    file_share_link = "https://drive.google.com/open?id=0B_URf9ZWjAW7SC11Xzc4R2d0N2c"
    
    # extract the ID of the file
    file_id = file_share_link[file_share_link.find("=") + 1:]
    
    # append the id to this REST command
    file_download_link = "https://docs.google.com/uc?export=download&id=" + file_id 
    

    The string in file_download_link can be pasted in the browser address bar to get the download dialog box directly.

    If you use the wget command:

    !wget -O ebook.pdf --no-check-certificate "$file_download_link"
    
    0 讨论(0)
提交回复
热议问题