Come scaricare una cartella da Google Drive utilizzando il terminale?


59

Voglio scaricare una cartella dal mio drive google usando il terminale? C'è un modo per farlo? Ho provato questo:

$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"

Ma sta scaricando questo file di testo: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Esiste un modo per scaricare la cartella dell'unità Google dal terminale?



Li ho controllati ma non possono gestire il foglio di calcolo di Google. Dato che ho bisogno di accedere al foglio di calcolo e ocamlfuseposso gestirlo, ho pensato di scaricarli ogni volta che ne ho bisogno, anche se il tempo richiede rispetto a mount. Ma non ho altre opzioni.
user22180,

Imposta la cartella su "chiunque su Internet può trovare e visualizzare", quindi sarai in grado di scaricare il file con wget https://googledrive.com/host/file_idte wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Soluzione spiegata qui in maggiori dettagli .
Paul Rougieux,

Qualche nuova risposta per questo nel corso del tempo? abbiamo un'opzione di seguito.
Matan,

Risposte:


48

Sono stato in grado di scaricare un file condiviso pubblico usando questo comando:

$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

Dove FILEIDdeve essere sostituito dall'ID file effettivo. FILENAMEè il percorso / nome file in cui verrà archiviato il download.

Nota che non è possibile utilizzare un ID cartella invece di ID file. Ho usato la vista view in una vista cartella dove ho potuto trovare il seguente HTML <div id="entry-0B0jxxycBojSwVW.... La stringa che iniziava con 0Bera il fileid.


4
Questo ha funzionato alla grande per me!
dovevo

dato che avevo un file di grandi dimensioni, continuavo a ricevere l'avvertimento dello scanner dei virus di Google (che non è possibile scansionare). Non ho trovato una soluzione per questo problema. Tuttavia, mi sono reso conto che avrei potuto semplicemente utilizzare scpper trasferire il file sul mio server (che aveva bisogno di tale download)
Matthias,

2
questo non funziona più con google drive ...
loretoparisi

2
Questo non funzionerà per file più grandi. Questa risposta in overflow dello stack funziona come un incantesimo: stackoverflow.com/a/32742700/4773609
HG Sur

1
@HGSur La mia risposta di seguito funziona anche per file di grandi dimensioni.
FrankerZ,

22

Per i file di unità di Google che sono troppo grandi e viene visualizzato un messaggio di errore "Google non è in grado di fornire una scansione antivirus", ecco la soluzione che ho usato:

Innanzitutto, prova a scaricare il file qui (segui i passaggi sopra):

$ wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'

Successivamente, dopo aver ottenuto il codice (verrà emesso sulla pagina Web e emesso utilizzando sed sopra), utilizzare il seguente URL:

$ wget --load-cookies cookies.txt 'https://docs.google.com/uc?export=download&confirm=CODE_FROM_ABOVE&id=FILEID'

Aggiungi -O FILENAMEall'istruzione wget precedente per specificare un nome file, se vuoi scriverlo in un file.


Funziona come un incantesimo! Se aggiungi --content-disposition wget fornirà automaticamente al file il nome corretto
Waleed Hamra

8

Un nuovo client multipiattaforma open source, scritto in Go chiamato drive, è molto carino e completo, ed è anche in fase di sviluppo attivo.

Esempi

Il comando pull scarica i dati da Google Drive che non esistono localmente ed elimina i dati locali che non sono presenti su Google Drive. Eseguilo senza alcun argomento per estrarre tutti i file dal percorso corrente:

$ drive pull

È supportato anche il tiro per corrispondenza

$ cd ~/myDrive/content/2015
$ drive pull --matches vines docx

Vedi il link sopra per ulteriori esempi, questi sono solo la punta dell'iceberg.


1
Questo strumento non viene mantenuto da settembre 2017
Mateusz Konieczny,

Sì, ma funziona ancora e per scaricare una intera directory è la soluzione migliore: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Gli altri metodi sono un dolore nel culo.
Avio,

7

wgetpuò gestire solo collegamenti diretti, ma questo non è il problema principale qui. Google Drive si aspetta che tu esegua l'autenticazione prima di scaricare il tuo file. Ciò significa che dovrai scaricare un file tramite un browser web. Esistono alcuni browser Web per il terminale, lynx ne è un esempio.

Se scegli di condividere pubblicamente il tuo file (in modo che chiunque possa scaricarlo) puoi utilizzare uno dei numerosi servizi di permalink di Google Drive. Credo che questi dovrebbero produrre collegamenti che funzioneranno con wget. Ecco un elenco di due che ho trovato durante la ricerca di informazioni: http://gdriveurl.com/ http://gdurl.com/

Supponendo che tu stia eseguendo Linux, esiste un client open source per Google Drive che potrebbe valere la pena esaminare.


lynx mostra "reindirizzamento" per più di 5 minuti quando tenta di accedere all'unità. "Google Drive permalink" è ok, ma non voglio condividerlo con tutti. Ho usato Grivee Ocamlfusema non possono accedere ai fogli di calcolo
user22180

Confermato il link "download" di gdriveurl funzionato con wget
Randall

per quanto riguarda il suggerimento del client open source: dalla mia esperienza con quel client gdrive e un'utilità simile chiamata rclone, ho avuto esperienze migliori con rclone.
7yl4r,

7

C'è un gigantesco programma nel repository ubuntu 17.04 chiamato: rclone

$ sudo apt update && sudo apt install rclone

$ rclone config --> than follow the steps to setup your gdrive

ora puoi clonare copia e sincronizzare tutto quello che vuoi. I progetti supportano tutti i tipi di nuvole .. fe:

$ rclone sync /home/<usrname>/Desktop/yourfolder gdrivename:yourfolder

[1]: https://rclone.org

(tra l'altro ho caricato circa 600 GB e trasferito 1 TB con rclone da gdrive a gdrive in poche ore, gdrive a ubuntu e ubuntu a gdrive .. e funziona alla grande per settimane di fila !!

https://forum.rclone.org/t/can-copy-between-google-drive-accounts-without-download-and-upload-files/969/8

)


5

puoi provare, se sei su Firefox, a installare l'addon cliget. Per ogni file che si desidera scaricare il programma, mostrare il collegamento diretto curl, wget o aria2 per il download di quel file. Lo uso per scaricare file su altri computer tramite ssh perché è molto più veloce per me scaricare direttamente sul computer remoto, quindi caricare quel file dal mio computer. Funziona anche con dropbox, gdrive ecc.


5

È possibile utilizzare lo strumento da riga di comando Linux / Unix open source gdrive.

Per installarlo:

  1. Scarica il binario. Scegli quello che si adatta alla tua architettura, ad esempiogdrive-linux-x64.

  2. Copia sul tuo percorso.

    sudo cp gdrive-linux-x64 /usr/local/bin/gdrive;
    sudo chmod a+x /usr/local/bin/gdrive;
    

Per usarlo:

  1. Determina l'ID della cartella di Google Drive. Per questo, vai all'interno della cartella per il download, utilizzando il client web drive.google.com. Ora guarda l'URL nella barra degli indirizzi del browser, mostrerà qualcosa di simile https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Ottieni la stringa dietro l'ultima /e copiala negli appunti. Questo è l'ID della cartella.

  2. Scarica la cartella Naturalmente, usa l'ID della tua cartella invece nel seguente comando.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Al primo utilizzo, lo strumento dovrà ottenere le autorizzazioni di accesso all'API di Google Drive. Per questo, ti mostrerà un link che devi visitare in un browser e quindi otterrai un codice di verifica da copiare e incollare nello strumento. Il download si avvia quindi automaticamente. Non esiste un indicatore di avanzamento, ma è possibile osservare l'avanzamento in un file manager o in un secondo terminale.

Fonte: un commento di Tobi in una domanda su stackoverflow.com. Risposta adattata dalla mia risposta simile laggiù .


4

Scarica binario dal seguente link

chmod +x <binary>
./drive download id

Verrà generato un collegamento per il codice di verifica. Fare clic sul collegamento e consentire l'accesso a gdrive e copiare il codice di verifica dal browser. Incollalo.

Per me funziona

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.