Direkter Download von Google Drive für große Dateien

13

Ich versuche es in Google Drive. Wie können Sie eine Zip-Datei direkt mit einem Link zum "Herunterladen" verknüpfen und den Inhalt nicht anzeigen? aber es funktioniert nicht. Ich bin mir nicht sicher, wie ich die Frage wiederholen soll. Es lädt eine "Datei ist zu groß, um von Viren gescannt zu werden" Warn-HTML https://drive.google.com/uc?export=download&confirm=no_antivirus&id=herunter und wenn ich es versuche , lädt es das immer noch herunter.

Edit: Ich habe versucht, es zu wget --save-cookies /tmp/cookie.txt --load-cookies /tmp/cookie.txtwiederholen, immer noch keine Würfel.

chx
quelle
1
Hast du das jemals herausgefunden? Das gleiche Problem tritt bei größeren Dateien auf.
Travis Reeder
Nein, das habe ich aufgegeben.
chx
Sehr ähnliche Frage von Stack Overflow, mit guten Antworten: " wget / curl große Datei von Google Drive "
Tanius

Antworten:

4

Ein Cookie muss mit dem URL-Parameter "confirm" übereinstimmen und wird bei jedem Aufruf geändert.

Hier ist ein Perl-Skript zum unbeaufsichtigten Herunterladen dieser Dateien .

Mit der URL der Antivirus-Scan-Warnseite ( https://drive.google.com/uc?export=download&confirm=s5vl&id=XXX ) sollte dieser Code ausreichen:

#!/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
quelle
Ich habe ein Python-Skript erstellt und mein Cookie stimmt mit dem Bestätigungsparameter in der URL überein. Es funktioniert jedoch nicht: Ich werde zu einer Seite mit dem Titel "Anmelden - Google-Konten" weitergeleitet.
Benjamin Toueg
Benjamin: Möglicherweise müssen Sie die URL zweimal verarbeiten. Sehen Sie, wie das Skript execute_command () zweimal aufruft.
Circulosmeos
5

Nachdem ich unzählige Stunden damit verbracht hatte, einen direkten Download-Link zu finden, der den Virenscan umgeht, habe ich es schließlich aus Versehen herausgefunden. Eine URL im folgenden Format zusammen mit Ihrem Google API-Schlüssel umgeht den Virenscan. Ich konnte dieses Dokument nirgendwo finden ( hier ist das offizielle Dokument ), daher verwenden Sie es auf eigenes Risiko, da zukünftige Updates es beschädigen könnten. https://www.googleapis.com/drive/v3/files/fileid/?key=yourapikey&alt=media

harkirat singh
quelle
0

Versuchen Sie das mal

Sie können diese Dateien in den folgenden Formaten auf Ihren Computer herunterladen:

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

Laden Sie eine Datei von Google Drive auf Ihren Computer herunter

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

In eine ZIP-Datei komprimiert Klicken Sie auf Herunterladen.

Sie können eine Datei auch herunterladen, wenn Sie die Datei anzeigen. Gehen Sie zum Menü Datei, zeigen Sie mit der Maus auf Herunterladen als und wählen Sie ein Dateiformat aus.

Wenn die Gesamtgröße der Dateien über 2 GB liegt, können Sie die Dateien meines Erachtens nicht herunterladen, ohne mehrere Stapel zu erstellen.

Karan Raj Baruah
quelle
Leider ist es eine Binärdatei :( keiner der oben genannten.
chx
0

Ok, Google verwendet das folgende URL-Format für den endgültigen Download-Link:

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

Beachten Sie den Bestätigungsparameter, der sich jedes Mal zu ändern scheint, wenn Sie zum ursprünglichen Link wechseln. Vielleicht ist es ein kurzlebiger Token oder ein Cookie-Matching oder so?

Travis Reeder
quelle
0

Ich erstelle einfach ein Javascript, damit es automatisch den Link erfasst und den Tab mit Hilfe von Tampermonkey herunterlädt und schließt .

// ==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
quelle