Como baixar uma pasta do google drive usando o terminal?


59

Quero baixar uma pasta do meu google drive usando o terminal? Existe alguma maneira de fazer isso? Eu tentei isso:

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

Mas ele está baixando este arquivo de texto: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. Existe alguma maneira de baixar a pasta do Google Drive no terminal?



Eu os verifiquei, mas eles não conseguem lidar com a planilha do Google. Como preciso acessar a planilha e ocamlfuseposso lidar com isso, pensei em baixá-las sempre que preciso, embora consuma tempo com relação à montagem. Mas não tenho outras opções.
user22180

Defina a configuração da pasta como "qualquer pessoa na Internet pode encontrar e visualizar", e poderá baixar o arquivo wget https://googledrive.com/host/file_idpara você wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. Solução explicada aqui em mais detalhes .
Paul Rougieux

Alguma nova resposta para isso durante o tempo? nós temos uma opção abaixo.
Matan

Respostas:


48

Consegui baixar um arquivo compartilhado público usando este comando:

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

Onde FILEIDdeve ser substituído pelo ID do arquivo real. FILENAMEé o caminho / nome do arquivo em que o download será armazenado.

Observe que você não pode usar um folderid em vez de fileid. Eu usei a fonte de exibição em uma exibição de pasta onde pude encontrar o seguinte HTML <div id="entry-0B0jxxycBojSwVW.... A sequência iniciada por 0Bera o fileid.


4
Isso funcionou muito bem para mim! só tinha que usar o drive.google.com
thouliha

Como tinha um arquivo grande, recebi o aviso do scanner de vírus do Google (que não pode ser verificado). Não encontrei uma solução para este problema. No entanto, eu percebi que eu poderia simplesmente usar scppara transferir o arquivo para o meu servidor (que tinha a necessidade de tal download)
Matthias

2
isto não está funcionando mais com o Google Drive ...
loretoparisi

2
Isso não funcionará para arquivos maiores. Essa resposta em estouro de pilha funciona como um encanto: stackoverflow.com/a/32742700/4773609
HG Sur

11
@HGSur Minha resposta abaixo também funciona para arquivos grandes.
FrankerZ

22

Para arquivos do Google Drive grandes demais e você recebe a mensagem de erro "O Google não pode fornecer uma verificação de vírus", eis a solução que usei:

Primeiro, tente baixar o arquivo aqui (siga as etapas acima):

$ 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'

Em seguida, depois de obter o código (ele será enviado para a página da Web e será enviado usando o sed acima), use o seguinte URL:

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

Adicione -O FILENAMEà instrução wget anterior para especificar um nome de arquivo, se desejar gravá-lo em um arquivo.


Isso funciona como um encanto! Se você adicionar --content-disposition, o wget atribuirá o nome ao arquivo automaticamente automaticamente
Waleed Hamra

8

Um cliente multiplataforma de código aberto mais novo, escrito em Go chamado drive, é bastante agradável e completo, e também está em desenvolvimento ativo.

Exemplos

O comando pull baixa dados do Google Drive que não existem localmente e exclui dados locais que não estão presentes no Google Drive. Execute-o sem argumentos para extrair todos os arquivos do caminho atual:

$ drive pull

Puxar por fósforos também é suportado

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

Veja o link acima para mais exemplos, estes são apenas a ponta do iceberg.


11
Esta ferramenta não é mantida desde setembro de 2017
Mateusz Konieczny

Sim, mas ele ainda funciona e para baixar um diretório inteiro é a melhor solução: drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'. Os outros métodos são um pé no saco.
Avio

7

wgetpode lidar apenas com links diretos, mas esse não é o principal problema aqui. O Google Drive espera que você se autentique antes de baixar seu arquivo. Isso significa que você precisará usar um navegador da web para baixar o arquivo. Existem alguns navegadores para o terminal, o lynx é um exemplo.

Se você optar por compartilhar seu arquivo publicamente (para que qualquer pessoa possa baixá-lo), poderá usar um dos vários serviços de link permanente do Google Drive. Eu acredito que estes devem produzir links que funcionarão com o wget. Aqui está uma lista dos dois que encontrei ao pesquisar informações: http://gdriveurl.com/ http://gdurl.com/

Supondo que você esteja executando o Linux, existe um cliente de código aberto para o Google Drive que pode valer a pena procurar.


O lynx está mostrando "redirecionando" por mais de 5 minutos ao tentar acessar a unidade. O "link permanente do Google Drive" está ok, mas não quero compartilhá-lo com todos. Eu usei Grivee Ocamlfuseeles não podem acessar planilhas
user22180

Confirmado o "download" link de gdriveurl trabalhou com wget
Randall

em relação à sugestão do cliente de código aberto: da minha experiência usando esse cliente gdrive e um utilitário semelhante chamado rclone, tive melhores experiências com o rclone.
7yl4r

7

Existe um programa gigante no repositório do ubuntu 17.04 chamado: rclone

$ sudo apt update && sudo apt install rclone

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

agora você pode clonar para copiar e sincronizar tudo o que quiser. Os projetos suportam todos os tipos de nuvens .. fe:

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

[1]: https://rclone.org

(btw eu enviei cerca de 600GB e transferi 1TB com o rclone do gdrive para o gdrive em poucas horas, do gdrive para o ubuntu e do ubuntu para o gdrive .. e funciona muito bem por semanas seguidas !!

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

)


5

você pode tentar, se estiver no firefox, instalar o cliget addon. Para cada arquivo que você deseja baixar o programa, mostre o link direto curl, wget ou aria2 para fazer o download desse arquivo. Eu uso isso para baixar arquivos em outras máquinas via ssh, porque é muito mais rápido fazer o download diretamente no computador remoto do que carregar o arquivo do meu computador. Isso também funciona com dropbox, gdrive etc.


5

Você pode usar a ferramenta de linha de comando Linux / Unix de código aberto gdrive.

Para instalá-lo:

  1. Faça o download do binário. Escolha aquele que se adapta à sua arquitetura, por exemplogdrive-linux-x64.

  2. Copie-o para o seu caminho.

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

Para usá-lo:

  1. Determine o ID da pasta do Google Drive. Para isso, entre na pasta para fazer o download, usando o cliente da web drive.google.com. Agora olhe o URL na barra de endereços do navegador, ele mostrará algo como https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. Obtenha a corda atrás da última /e copie-a para a área de transferência. Esse é o ID da pasta.

  2. Faça o download da pasta Obviamente, use o ID da sua pasta no seguinte comando.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Na primeira utilização, a ferramenta precisará obter permissões de acesso à API do Google Drive. Para isso, ele mostrará um link que você deve visitar em um navegador e, em seguida, receberá um código de verificação para copiar e colar na ferramenta. O download é iniciado automaticamente. Não há indicador de progresso, mas você pode observar o progresso em um gerenciador de arquivos ou em um segundo terminal.

Fonte: Um comentário de Tobi em uma pergunta stackoverflow.com. Resposta adaptada da minha resposta semelhante por lá .


4

Faça o download do binário no link abaixo

chmod +x <binary>
./drive download id

Ele irá gerar um link para o código de verificação. Clique no link e permita o acesso ao gdrive e copie o código de verificação do navegador. Cole.

Funciona para mim

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.