615 Stimmen

Wget/curl große Datei von Google Drive herunterladen

Ich versuche, eine Datei von Google Drive in einem Skript herunterzuladen, und habe dabei ein kleines Problem. Die Dateien, die ich herunterladen möchte, sind hier.

Ich habe online intensiv nach Informationen gesucht und es schließlich geschafft, eine davon herunterzuladen. Ich habe die UIDs der Dateien bekommen und die kleinere (1,6 MB) wird ohne Probleme heruntergeladen, jedoch wird die größere Datei (3,7 GB) immer auf eine Seite umgeleitet, die mich fragt, ob ich den Download ohne Virenscan fortsetzen möchte. Kann mir jemand helfen, diese Seite zu umgehen?

So habe ich die erste Datei zum Laufen gebracht -

curl -L "https://docs.google.com/uc?export=download&id=0Bz-w5tutuZIYeDU0VDRFWG9IVUE" > phlat-1.0.tar.gz

Wenn ich dasselbe mit der anderen Datei mache,

curl -L "https://docs.google.com/uc?export=download&id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM" > index4phlat.tar.gz

Bekomme ich die folgende Ausgabe - enter image description here

Ich bemerke auf der vorletzten Zeile des Links, dass ein &confirm=JwkK vorhanden ist, was eine zufällige 4-Zeichenfolge ist, aber darauf hinweist, dass es einen Weg gibt, eine Bestätigung zu meiner URL hinzuzufügen. Einer der Links, den ich besucht habe, schlug &confirm=no_antivirus vor, aber das funktioniert nicht.

-1voto

recolic Punkte 486

No-scripting Methode, um einen direkten Link zu erhalten

Ich weiß, dass jemand ohne Erfahrung im Bash-Scripting von einer anderen Website auf diesen Beitrag kommt. Hier ist eine Lösung, um dies in Ihrem Browser zu tun.

Schritt 1: Generieren Sie einen direkten Link normalerweise mit vorhandenen Tools

Zunächst verwenden Sie alle anderen vorhandenen Lösungen, um einen direkten Link von Ihrem Freigabelink zu generieren. Sie können https://sites.google.com/site/gdocs2direct/, https://www.wonderplugin.com/online-tools/google-drive-direct-link-generator/ oder https://chrome.google.com/webstore/detail/drive-direct-download/mpfdlhhpbhgghplbambikplcfpbjiail nutzen.
Ich werde diesen Teil ignorieren.

Der generierte direkte Link sieht so aus: https://drive.google.com/u/0/uc?id=1Gjvcfj-8xxxxxxx8G8_jpgjcyorQ7BX5&export=download

Der direkte Link funktioniert für die meisten kleinen Dateien, funktioniert jedoch nicht für große Dateien. Es wird anstelle des einfachen Downloads der Datei eine Viruswarnung angezeigt. Jetzt lösen wir dieses Problem.

Schritt 2: Reparieren Sie den defekten direkten Link, um die Viruswarnung zu umgehen

Öffnen Sie den defekten "direkten" Link in Ihrem Browser, Sie sehen "Google Drive kann diese Datei nicht auf Viren überprüfen". Klicken Sie nun mit der rechten Maustaste und wählen Sie Seitenquelle anzeigen, Sie werden den folgenden Text sehen:

Sie haben den endgültigen Link gefunden! Ersetzen Sie alle & durch & und genießen Sie:

https://drive.google.com/uc?id=1Gjvcfj-8xxxxxxx8G8_jpgjcyorQ7BX5&export=download&confirm=t&uuid=c953a94e-b844-479f-8386-1ec83770fffb

Weitere Lösung für große Dateien: Google Drive API

Es gibt bereits eine großartige Antwort für diese Lösung!

-1voto

Rory Donovan Punkte 11

Sie könnten den URL-Download-Link von Google als .../file/d/FILEID/view?usp=share_link erhalten und den FILEID-Teil extrahieren. Ersetzen Sie ihn dann im Folgenden (er ist dort zweimal vorhanden).

wget --load-cookies /tmp/cookies.txt \
     "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/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_]+).*/\1\n/p')&id=FILEID" -O FILENAME && \
    rm -rf /tmp/cookies.txt

Ersetzen Sie FILENAME durch den gewünschten Dateinamen in der obigen Zeile und genießen Sie.

-4voto

Rowantrek Punkte 1

Der einfachste Weg ist, alles, was Sie herunterladen möchten, in einen Ordner zu legen. Teilen Sie diesen Ordner und nehmen Sie dann die Ordner-ID aus der URL-Leiste.

Dann gehen Sie zu https://googledrive.com/host/[ID] (Ersetzen Sie die ID durch Ihre Ordner-ID) Sie sollten eine Liste aller Dateien in diesem Ordner sehen, klicken Sie auf die, die Sie herunterladen möchten. Ein Download sollte dann Ihre Download-Seite besuchen (Strg+J in Chrome), dann möchten Sie den Download-Link kopieren und verwenden wget "Download-Link"

Viel Spaß :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X