Download direto do Google Drive para arquivos grandes

13

Estou experimentando No Google Drive, como você pode vincular diretamente a "Baixar" um arquivo zip e não visualizar o conteúdo? mas não funciona. Não tenho certeza de como repetir a pergunta. Ele baixa um 'arquivo é muito grande para ser verificado por antivírus' em HTML de aviso e, quando eu tento https://drive.google.com/uc?export=download&confirm=no_antivirus&id=, ainda o baixa.

Edit: Eu tentei wget --save-cookies /tmp/cookie.txt --load-cookies /tmp/cookie.txte repeti-lo, ainda não há dados.

chx
fonte
1
Você já descobriu isso? Executando o mesmo problema com arquivos maiores.
Travis Reeder
Não, eu desisti disso.
Chx
Pergunta muito semelhante ao Stack Overflow, com boas respostas: " wget / curl arquivo grande do google drive " #
1113

Respostas:

4

Um cookie deve corresponder ao parâmetro de URL "confirm" e é alterado em cada chamada.

Aqui está um script perl para baixar esses arquivos de maneira autônoma.

Com o URL da página de aviso de verificação antivírus ( https://drive.google.com/uc?export=download&confirm=s5vl&id=XXX ), este código deve ser suficiente:

#!/usr/bin/perl
use strict;
my $TEMP='/tmp';my $COMMAND;my $confirm;
sub execute_command();
my $URL=shift;my $FILENAME=shift;
$FILENAME='gdown' if $FILENAME eq '';
execute_command();
if (-s $FILENAME < 100000) { # only if file isn't the download yet
    open fFILENAME, '<', $FILENAME;
    foreach (<fFILENAME>) {
        if (/confirm=([^;&]+)/) {
            $confirm=$1; last;   }    }
    close fFILENAME;
    $URL=~s/confirm=([^;&]+)/confirm=$confirm/;
    execute_command();    }
sub execute_command() {
    $COMMAND="wget --no-check-certificate --load-cookie $TEMP/cookie.txt --save-cookie $TEMP/cookie.txt \"$URL\"";
    $COMMAND.=" -O \"$FILENAME\"" if $FILENAME ne '';
    `$COMMAND`; return 1;    }
circulosmeos
fonte
Eu criei um script python e meu cookie corresponde ao parâmetro de confirmação no URL. No entanto, ele não funciona: estou sendo redirecionado para uma página intitulada "Fazer login - Contas do Google".
Benjamin Toueg
Benjamin: você pode precisar processar o URL duas vezes ... veja como o script chama execute_command () duas vezes.
Circulosmeos 7/03/15
5

Depois de passar muitas horas tentando obter um link de download direto que ignora a verificação de vírus, eu finalmente descobri isso por acidente. Um URL no formato abaixo, juntamente com sua chave da API do Google, ignorará a verificação de vírus. Não foi possível encontrar isso documentado em nenhum lugar ( aqui está o documento oficial ), portanto, use por sua conta e risco, pois futuras atualizações podem quebrá-lo. https://www.googleapis.com/drive/v3/files/fileid/?key=yourapikey&alt=media

harkirat singh
fonte
0

Tente isto

Você pode baixar esses arquivos para o seu computador nos seguintes formatos:

For documents: HTML, RTF, Word, Open Office, PDF, Text file.
For spreadsheets: CSV, HTML, ODS, PDF, XLS, TXT (only for a single sheet)
For presentations: PDF, PPTX, TXT
For drawings: PNG, JPEG, SVG, PDF

Faça o download de um arquivo para o seu computador no Google Drive

Click the checkbox(es) next to the item(s) that you'd like to download.
Expand the More drop-down menu, and select Download...
Select a file format to which you'd like convert and download your item, such as Microsoft Word. If you select multiple items, they'll be

compactado em um arquivo .zip Clique em Download.

Você também pode baixar um arquivo quando estiver visualizando o arquivo. Vá para o menu Arquivo, aponte o mouse para Baixar como e selecione um formato de arquivo.

Se o arquivo total estiver acima de 2 GB, acho que você não poderá fazer o download sem dividir os lotes.

Karan Raj Baruah
fonte
infelizmente, é um arquivo binário :( nenhuma das opções acima.
chx
0

Ok, o Google usa o seguinte formato de URL para o link final para download:

https://drive.google.com/uc?export=download&confirm=s5vl&id=XXX

Observe o parâmetro de confirmação, que parece mudar toda vez que você acessa o link original. Talvez seja um token de curta duração ou uma correspondência de cookie ou algo assim?

Travis Reeder
fonte
0

Eu simplesmente crio um javascript para capturar automaticamente o link, baixar e fechar a guia com a ajuda de tampermonkey .

// ==UserScript==
// @name         Bypass Google drive virus scan
// @namespace    SmartManoj
// @version      0.1
// @description  Quickly get the download link
// @author       SmartManoj
// @match        https://drive.google.com/uc?id=*&export=download*
// @grant        none
// ==/UserScript==

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function demo() {
    await sleep(5000);
    window.close();
}

(function() {
    location.replace(document.getElementById("uc-download-link").href);
    demo();
})();
SmartManoj
fonte