it-swarm.com.de

wget/curl große Datei von Google-Laufwerk

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

Ich habe ausführlich online gesucht und es ist mir endlich gelungen, eine davon zum Download zu bekommen. Ich habe die UIDs der Dateien erhalten und die kleinere (1.6MB) läd gut, aber die größere Datei (3.7GB) leitet immer auf eine Seite weiter, die mich fragt, ob ich mit dem Download ohne Virenprüfung fortfahren möchte. Kann mir jemand helfen, an diesem Bildschirm vorbeizukommen?

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 auf der anderen Datei ausführen, 

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

Ich bekomme die folgende Ausgabe -  enter image description here

Ich bemerke in der vorletzten Zeile des Links, dass es einen &confirm=JwkK gibt, der eine zufällige 4-stellige Zeichenfolge ist, aber es gibt eine Möglichkeit, meiner URL eine Bestätigung hinzuzufügen. Einer der Links, die ich besuchte, schlug &confirm=no_antivirus vor, aber das funktioniert nicht.

Ich hoffe jemand kann hier helfen!

Danke im Voraus.

162
Arjun

Schauen Sie sich diese Frage an: Direkter Download von Google Drive über Google Drive API

Grundsätzlich müssen Sie ein öffentliches Verzeichnis erstellen und auf Ihre Dateien durch relativen Verweis mit so etwas zugreifen

wget https://googledrive.com/Host/LARGEPUBLICFOLDERID/index4phlat.tar.gz

WARNUNG: Diese Funktionalität ist veraltet. Siehe die Warnung unten in den Kommentaren.

Alternativ können Sie dieses Skript verwenden: https://github.com/circulosmeos/gdown.pl

40
guadafan

Ich habe ein Python-Snippet geschrieben, das eine Datei von Google Drive herunterlädt, wenn ein gemeinsam nutzbarer Link vorhanden ist. Es funktioniert, Stand August 2017

Das Snipping verwendet weder gdrive noch die Google Drive API. Es verwendet das Modul Requests .

Beim Herunterladen großer Dateien von Google Drive reicht eine einzige GET-Anforderung nicht aus. Eine zweite wird benötigt und dieser hat einen zusätzlichen URL-Parameter namens confirm, dessen Wert dem Wert eines bestimmten Cookies entsprechen sollte.

import requests

def download_file_from_google_drive(id, destination):
    def get_confirm_token(response):
        for key, value in response.cookies.items():
            if key.startswith('download_warning'):
                return value

        return None

    def save_response_content(response, destination):
        CHUNK_SIZE = 32768

        with open(destination, "wb") as f:
            for chunk in response.iter_content(CHUNK_SIZE):
                if chunk: # filter out keep-alive new chunks
                    f.write(chunk)

    URL = "https://docs.google.com/uc?export=download"

    session = requests.Session()

    response = session.get(URL, params = { 'id' : id }, stream = True)
    token = get_confirm_token(response)

    if token:
        params = { 'id' : id, 'confirm' : token }
        response = session.get(URL, params = params, stream = True)

    save_response_content(response, destination)    


if __== "__main__":
    import sys
    if len(sys.argv) is not 3:
        print("Usage: python google_drive.py drive_file_id destination_file_path")
    else:
        # TAKE ID FROM SHAREABLE LINK
        file_id = sys.argv[1]
        # DESTINATION FILE ON YOUR DISK
        destination = sys.argv[2]
        download_file_from_google_drive(file_id, destination)
160
turdus-merula

Sie können das Open-Source-Linux/Unix-Befehlszeilentool gdrive verwenden.

So installieren Sie es:

  1. Download die Binärdatei. Wählen Sie die für Ihre Architektur passende aus, zum Beispiel gdrive-linux-x64.

  2. Kopiere es in deinen Pfad.

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

Um es zu benutzen:

  1. Ermitteln Sie die Google Drive-Datei-ID. Klicken Sie dazu mit der rechten Maustaste auf die gewünschte Datei auf der Google Drive-Website und wählen Sie "Link abrufen". Es wird etwas wie https://drive.google.com/open?id=0B7_OwkDsUIgFWXA1B2FPQfV5S8H zurückgegeben. Besorgen Sie sich den String hinter dem ?id= und kopieren Sie ihn in Ihre Zwischenablage. Das ist die ID der Datei.

  2. Laden Sie die Datei herunter. Verwenden Sie die ID Ihrer Datei natürlich stattdessen im folgenden Befehl.

    gdrive download 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

Bei der ersten Verwendung muss das Tool Zugriffsberechtigungen für die Google Drive-API erhalten. Zu diesem Zweck wird ein Link angezeigt, den Sie in einem Browser aufrufen müssen. Anschließend erhalten Sie einen Bestätigungscode, den Sie in das Tool kopieren und einfügen können. Der Download startet dann automatisch. Es gibt keine Fortschrittsanzeige, aber Sie können den Fortschritt in einem Dateimanager oder einem zweiten Terminal beobachten.

Source:Ein Kommentar von Tobi zu einer anderen Antwort hier.

Zusätzlicher Trick: Ratenbegrenzung. Zum Herunterladen mit gdrive mit einer begrenzten maximalen Rate (um das Netzwerk nicht zu überschwemmen ...), können Sie einen Befehl wie diesen verwenden (pv ist PipeViewer ):

gdrive download --stdout 0B7_OwkDsUIgFWXA1B2FPQfV5S8H | \
  pv -br -L 90k | \
  cat > file.ext

Dies zeigt die heruntergeladene Datenmenge (-b) und die Downloadrate (-r) an und begrenzt diese Rate auf 90 kiB/s (-L 90k).

57
tanius
ggID='put_googleID_here'  
ggURL='https://drive.google.com/uc?export=download'  
filename="$(curl -sc /tmp/gcokie "${ggURL}&id=${ggID}" | grep -o '="uc-name.*</span>' | sed 's/.*">//;s/<.a> .*//')"  
getcode="$(awk '/_warning_/ {print $NF}' /tmp/gcokie)"  
curl -Lb /tmp/gcokie "${ggURL}&confirm=${getcode}&id=${ggID}" -o "${filename}"  

Wie funktioniert es?
Mit curl Cookie-Datei und HTML-Code abrufen.
Pipe html an grep und sed und suche nach Dateinamen.
Bestätigungscode aus der Cookie-Datei mit awk abrufen.
Schließlich Datei mit aktiviertem Cookie herunterladen, Code und Dateiname bestätigen. 

curl -Lb /tmp/gcokie "https://drive.google.com/uc?export=download&confirm=Uq6r&id=0B5IRsLTwEO6CVXFURmpQZ1Jxc0U" -o "SomeBigFile.Zip"

Wenn Sie keine Dateinamenvariable curl benötigen, können Sie dies erraten
- L Folgen Sie den Weiterleitungen
- O Name der Fernbedienung
- J Name des Remote-Headers 

curl -sc /tmp/gcokie "${ggURL}&id=${ggID}" >/dev/null  
getcode="$(awk '/_warning_/ {print $NF}' /tmp/gcokie)"  
curl -LOJb /tmp/gcokie "${ggURL}&confirm=${getcode}&id=${ggID}" 

Um die Google-Datei-ID aus der URL zu extrahieren, können Sie Folgendes verwenden: 

echo "gURL" | egrep -o '(\w|-){26,}'  
# match more than 26 Word characters  

ODER 

echo "gURL" | sed 's/[^A-Za-z0-9_-]/\n/g' | sed -rn '/.{26}/p'  
# replace non-Word characters with new line,   
# print only line with more than 26 Word characters 
44
lapinpt

Juni 2018 Der einfachste Weg, der für mich funktioniert

Der file_id sollte ungefähr wie 0Bz8a_Dbh9QhbNU3SGlFaDg aussehen

Sie können es erhalten, indem Sie mit der rechten Maustaste auf die Datei klicken und dann Get shareable link. Getestet bei Open Access-Dateien. Ich bin nicht sicher, ob es für das Verzeichnis ..__ funktioniert. Getestet bei Google Colab.

42
phi

Das Standardverhalten von google drive ist das Durchsuchen von Dateien auf Viren. Wenn die Datei zu groß ist, wird der Benutzer dazu aufgefordert, ihn zu benachrichtigen, dass die Datei nicht gescannt werden konnte. 

Im Moment ist die einzige Lösung, die ich gefunden habe, die Freigabe der Datei mit dem Web und das Erstellen einer Webressource. 

Zitat von der Google-Laufwerk-Hilfeseite:

Mit Drive können Sie Webressourcen wie HTML-, CSS- und Javascript-Dateien als Website anzeigen lassen.

So hosten Sie eine Webseite mit Laufwerk:

  1. Öffnen Sie Drive unter drive.google.com und wählen Sie eine Datei aus. 
  2. Klicken Sie oben auf der Seite auf die Schaltfläche Share
  3. Klicken Sie in der rechten unteren Ecke des Freigabefelds auf Advanced
  4. Klicken Sie auf Ändern ...
  5. Wählen Sie On - Public im Internet und klicken Sie auf Speichern
  6. Kopieren Sie vor dem Schließen des Freigabefelds die Dokument-ID von der URL in das Feld unter "Link to share". Die Dokument-ID ist eine Zeichenfolge aus Groß- und Kleinbuchstaben sowie Zahlen zwischen Schrägstrichen in der URL. 
  7. Geben Sie die URL frei, die wie "www.googledrive.com/Host/[doc id" aussieht], wobei [doc id] durch die in Schritt 6 kopierte Dokument-ID ersetzt wird.
    Jeder kann jetzt Ihre Webseite anzeigen. 

Hier gefunden: https://support.google.com/drive/answer/2881970?hl=de

Wenn Sie beispielsweise eine Datei auf Google Drive öffentlich freigeben, sieht der Sharelink folgendermaßen aus:

https://drive.google.com/file/d/0B5IRsLTwEO6CVXFURmpQZ1Jxc0U/view?usp=sharing

Dann kopierst du die Datei-ID und erstellst eine googledrive.com-linke, die folgendermaßen aussieht:

https://www.googledrive.com/Host/0B5IRsLTwEO6CVXFURmpQZ1Jxc0U
24
Alex

Stand März 2018.

Ich habe verschiedene Techniken aus anderen Antworten ausprobiert, um meine Datei (6 GB) direkt vom Google-Laufwerk in meine AWS ec2-Instanz herunterzuladen, aber keine davon funktioniert (möglicherweise weil sie alt sind).

Zur Information anderer habe ich es so erfolgreich gemacht:

  1. Klicken Sie mit der rechten Maustaste auf die Datei, die Sie herunterladen möchten, klicken Sie auf "Teilen". Wählen Sie im Abschnitt "Link-Freigabe" die Option "Jeder mit diesem Link kann bearbeiten".
  2. Kopieren Sie den Link. Es sollte in diesem Format vorliegen: https://drive.google.com/file/d/FILEIDENTIFIER/view?usp=sharing
  3. Kopieren Sie den FILEIDENTIFIER-Teil aus dem Link.
  4. Kopieren Sie das unten stehende Skript in eine Datei. Es verwendet curl und verarbeitet das Cookie, um das Herunterladen der Datei zu automatisieren.

    #!/bin/bash
    fileid="FILEIDENTIFIER"
    filename="FILENAME"
    curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=${fileid}" > /dev/null
    curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=${fileid}" -o ${filename}
    
  5. Fügen Sie wie oben gezeigt den FILEIDENTIFIER in das Skript ein. Denken Sie daran, die doppelten Anführungszeichen einzuhalten!

  6. Geben Sie einen Namen für die Datei anstelle von FILENAME ein. Denken Sie daran, die doppelten Anführungszeichen beizubehalten und fügen Sie die Erweiterung in FILENAME ein (z. B. myfile.Zip).
  7. Speichern Sie nun die Datei und machen Sie sie ausführbar, indem Sie diesen Befehl im Terminal Sudo chmod +x download-gdrive.sh ausführen.
  8. Führen Sie das Skript mit `./download-gdrive.sh" aus. 

PS: Hier ist der Github-Gist für das oben gegebene Skript: https://Gist.github.com/amit-chahar/db49ce64f46367325293e4cce13d2424

20
Amit Chahar

Hier ist ein schneller Weg, dies zu tun.

Stellen Sie sicher, dass der Link freigegeben ist und in etwa wie folgt aussieht:

https://drive.google.com/open?id=FILEID&authuser=0

Kopieren Sie dann diese FILEID und verwenden Sie sie so

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

Der einfache Weg:

(wenn Sie es nur für einen einmaligen Download benötigen)

  1. Rufen Sie die Google Drive-Website mit dem Download-Link auf
  2. Öffnen Sie Ihre Browserkonsole und wechseln Sie zur Registerkarte "Netzwerk"
  3. Klicken Sie auf den Download-Link
  4. Warten Sie, bis die Datei mit dem Download beginnt, und suchen Sie die entsprechende Anforderung (sollte die letzte in der Liste sein), dann können Sie den Download abbrechen
  5. Klicken Sie mit der rechten Maustaste auf die Anfrage und klicken Sie auf "Als cURL kopieren" (oder ähnlich).

Sie sollten mit etwas wie enden:

curl 'https://doc-0s-80-docs.googleusercontent.com/docs/securesc/aa51s66fhf9273i....................blah blah blah...............gEIqZ3KAQ==' --compressed

Fügen Sie > my-file-name.extension am Ende in die Konsole ein (andernfalls wird die Datei in die Konsole geschrieben), und drücken Sie die Eingabetaste :)

9
user993683

Keine Antwort schlägt vor, was für mich ab Dezember 2016 funktioniert ( source ):

curl -L https://drive.google.com/uc?id={FileID}

vorausgesetzt, die Google Drive-Datei wurde für diejenigen freigegeben, die über den Link verfügen, und {FileID} ist die Zeichenfolge hinter ?id= in der freigegebenen URL.

Obwohl ich nicht mit großen Dateien nachgesehen habe, glaube ich, dass es nützlich sein könnte, es zu wissen.

7
mmj

Ich hatte das gleiche Problem mit Google Drive.

Hier ist, wie ich das Problem mit Links 2 gelöst habe.

  1. Öffnen Sie einen Browser auf Ihrem PC und navigieren Sie zu Ihrer Datei in Google Drive. Geben Sie Ihrer Datei einen öffentlichen Link.

  2. Kopieren Sie den öffentlichen Link in Ihre Zwischenablage (zB Rechtsklick, Linkadresse kopieren)

  3. Öffnen Sie ein Terminal. Wenn Sie auf einen anderen PC/Server/Computer herunterladen, sollten Sie an dieser Stelle SSH ausführen

  4. Installieren Sie Links 2 (Debian/Ubuntu-Methode, verwenden Sie Ihre Distribution oder Ihr Betriebssystem-Äquivalent)

    Sudo apt-get install links2

  5. Fügen Sie den Link in Ihr Terminal ein und öffnen Sie ihn mit Links wie folgt:

    links2 "paste url here"

  6. Navigieren Sie mit den Pfeiltasten zu dem Download-Link in Links und drücken Sie Enter

  7. Wählen Sie einen Dateinamen und es wird Ihre Datei heruntergeladen

5
mattbell87

Es gibt einen Open-Source-Client für mehrere Plattformen, geschrieben in Go: Laufwerk . Es ist ziemlich schön und voll ausgestattet und wird auch aktiv weiterentwickelt.

$ drive help pull
Name
        pull - pulls remote changes from Google Drive
Description
        Downloads content from the remote drive or modifies
         local content to match that on your Google Drive

Note: You can skip checksum verification by passing in flag `-ignore-checksum`

* For usage flags: `drive pull -h`
4
Utgarda

Hier ist ein kleines bash-Skript, das ich heute geschrieben habe. Es funktioniert für große Dateien und kann auch teilweise abgerufene Dateien wieder aufnehmen. Es sind zwei Argumente erforderlich, das erste ist die file_id und das zweite ist der Name der Ausgabedatei. Die wichtigsten Verbesserungen gegenüber den vorherigen Antworten sind, dass sie für große Dateien geeignet sind und nur allgemein verfügbare Tools benötigen: bash, curl, tr, grep, du, cut und mv.

#!/usr/bin/env bash
fileid="$1"
destination="$2"

# try to download the file
curl -c /tmp/cookie -L -o /tmp/probe.bin "https://drive.google.com/uc?export=download&id=${fileid}"
probeSize=`du -b /tmp/probe.bin | cut -f1`

# did we get a virus message?
# this will be the first line we get when trying to retrive a large file
bigFileSig='<!DOCTYPE html><html><head><title>Google Drive - Virus scan warning</title><meta http-equiv="content-type" content="text/html; charset=utf-8"/>'
sigSize=${#bigFileSig}

if (( probeSize <= sigSize )); then
  virusMessage=false
else
  firstBytes=$(head -c $sigSize /tmp/probe.bin)
  if [ "$firstBytes" = "$bigFileSig" ]; then
    virusMessage=true
  else
    virusMessage=false
  fi
fi

if [ "$virusMessage" = true ] ; then
  confirm=$(tr ';' '\n' </tmp/probe.bin | grep confirm)
  confirm=${confirm:8:4}
  curl -C - -b /tmp/cookie -L -o "$destination" "https://drive.google.com/uc?export=download&id=${fileid}&confirm=${confirm}"
else
  mv /tmp/probe.bin "$destination"
fi
3

Dies funktioniert ab November 2017 https://Gist.github.com/ppetraki/258ea8240041e19ab258a736781f06db

#!/bin/bash

SOURCE="$1"
if [ "${SOURCE}" == "" ]; then
    echo "Must specify a source url"
    exit 1
fi

DEST="$2"
if [ "${DEST}" == "" ]; then
    echo "Must specify a destination filename"
    exit 1
fi

FILEID=$(echo $SOURCE | rev | cut -d= -f1 | rev)
COOKIES=$(mktemp)

CODE=$(wget --save-cookies $COOKIES --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')

# cleanup the code, format is 'Code: XXXX'
CODE=$(echo $CODE | rev | cut -d: -f1 | rev | xargs)

wget --load-cookies $COOKIES "https://docs.google.com/uc?export=download&confirm=${CODE}&id=${FILEID}" -O $DEST

rm -f $COOKIES
3
ppetraki

Basierend auf der Antwort von Roshan Sethia

Mai 2018

Verwenden vonWGET:

  1. Erstellen Sie ein Shell-Skript mit dem Namen wgetgdrive.sh wie folgt:

    #!/bin/bash
    
    # Get files from Google Drive
    
    # $1 = file ID
    # $2 = file name
    
    URL="https://docs.google.com/uc?export=download&id=$1"
    
    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 $URL -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=$1" -O $2 && rm -rf /tmp/cookies.txt
    
  2. Erteilen Sie die richtigen Berechtigungen, um das Skript auszuführen

  3. Führen Sie im Terminal Folgendes aus:

    ./wgetgdrive.sh <file ID> <filename>
    

    zum Beispiel:

    ./wgetgdrive.sh 1lsDPURlTNzS62xEOAIG98gsaW6x2PYd2 images.Zip
    
3
Aatif Khan

Der einfachste Weg ist:

  1. Erstellen Sie einen Download-Link und kopieren Sie die fileID 
  2. Mit WGET herunterladen: 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
2
maniac

Hier ist ein Workaround, bei dem ich Dateien von Google Drive auf meine Google Cloud Linux Shell heruntergeladen habe.

  1. Teilen Sie die Datei für PUBLIC und mit Bearbeitungsberechtigungen mithilfe der erweiterten Freigabe.
  2. Sie erhalten einen Freigabe-Link mit einer ID. Siehe den Link: -
  3. Kopieren Sie diese ID und fügen Sie sie in den folgenden Link ein: -

googledrive.com/Host/[ID]

  1. Der obige Link wäre unser Download-Link.
  2. Verwenden Sie wget, um die Datei herunterzuladen: -

wget https://googledrive.com/Host/[ID]

  1. Dieser Befehl lädt die Datei mit dem Namen [ID] ohne Erweiterung und mit derselben Dateigröße an demselben Speicherort herunter, an dem Sie den Befehl wget ausgeführt haben.
  2. Eigentlich habe ich in meiner Praxis einen gezippten Ordner heruntergeladen. so umbenannte ich diese umständliche Datei mit: -

mv [ID] 1.Zip

  1. dann mit 

1.Zip entpacken

wir werden die Dateien bekommen.

2
Vikas Gautam

Verwenden Sie youtube-dl !

youtube-dl https://drive.google.com/open?id=ABCDEFG1234567890

Sie können auch --get-url übergeben, um eine direkte Download-URL zu erhalten.

2
aularon

Nachdem ich mit diesem Müll rumgespielt habe. Ich habe eine Möglichkeit gefunden, meine süße Datei mithilfe von Chrome - Developer Tools herunterzuladen.

  1. Auf dem Google Docs-Tab Strg + Umschalt + J (Einstellungen -> Entwicklertools)
  2. Wechseln Sie zu den Registerkarten Netzwerk
  3. Klicken Sie in Ihrer docs-Datei auf "Download" -> Als CSV herunterladen, xlsx, ....
  4. Es zeigt Ihnen die Anfrage in der "Netzwerk" -Konsole  enter image description here 

  5. Rechtsklick -> Kopieren -> Als Curl kopieren

  6. Ihr Curl-Befehl sieht folgendermaßen aus: Fügen Sie -o hinzu, um eine exportierte Datei zu erstellen. curl 'https://docs.google.com/spreadsheets/d/1Cjsryejgn29BDiInOrGZWvg/export?format=xlsx&id=1Cjsryejgn29BDiInOrGZWvg' -H 'authority: docs.google.com' -H 'upgrade-insecure-requests: 1' -H 'user-agent: Mozilla/5.0 (X..... -o server.xlsx

Gelöst!

2
Ender

Sie müssen nur wget mit:

 https://drive.google.com/uc?authuser=0&id=[your ID without brackets]&export=download

PD. Die Datei muss öffentlich sein.

1
José Vallejo

Ich habe dafür eine funktionierende Lösung gefunden ... Verwenden Sie einfach das Folgende 

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=1HlzTR1-YVoBPlXo0gMFJ_xY4ogMnfzDi' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1HlzTR1-YVoBPlXo0gMFJ_xY4ogMnfzDi" -O besteyewear.Zip && rm -rf /tmp/cookies.txt
1
Roshan Sethia

Holen Sie sich das Paket.

youtube-dl: https://rg3.github.io/youtube-dl/download.html

oder

Sudo python2.7 -m pip install --upgrade youtube_dl /// Sudo python3.6 -m pip install --upgrade youtube_dl

Erstellen Sie einen freigegebenen Link wie oben erwähnt

Link sharing on

Anyone with the link can access

  1. Kopieren Sie den Link in ein Inkognito-Fenster: https://drive.google.com/a/hostname_here.com/file/d/kfjsdlkfjskljfkjskfjsskljfsjfklsjdf/view?usp=sharing

  2. Der Link wird folgendermaßen geändert: https://drive.google.com/file/d/yuituyituiyuityuiutiuyituitiyuituiyuituyit/view

  3. Klicken Sie auf Download

  4. Es erscheint eine neue Seite

  5. Klicken Sie mit der rechten Maustaste auf den Dateinamen-Link und kopieren Sie die Adresse

  6. Zum Terminal gehen

  7. Art:

youtube-dl https://drive.google.com/open?id=opopopopoppopop_nmnmnmnmnmnmnmn
[GoogleDrive] opopopopoppopop_nmnmnmnmnmnmnmn: Downloading webpage
[GoogleDrive] opopopopoppopop_nmnmnmnmnmnmnmn: Requesting source file
[download] Destination: your_file_name_here.Zip-opopopopoppopop_nmnmnmnmnmnmnmn.Zip
[download] 100% of 61.51MiB in 01:10

Ich hoffe es hilft

1
Jozsef Turi

Holen Sie sich den gemeinsam nutzbaren Link und öffnen Sie ihn in inkognito (sehr wichtig) ..__ Es wird sagen, dass er nicht scannen kann. 

Öffnen Sie den Inspector und verfolgen Sie den Netzwerkverkehr. Klicken Sie auf die Schaltfläche "Trotzdem herunterladen".

Kopieren Sie die URL der letzten Anfrage ... Dies ist Ihr Link. Verwenden Sie es in Wget.

0
ktsour

skicka ist ein Cli-Tool zum Hochladen und Herunterladen von Zugriffsdateien von einem Google-Laufwerk. 

beispiel - 

skicka download /Pictures/2014 ~/Pictures.copy/2014
10 / 10 [=====================================================] 100.00 % 
skicka: preparation time 1s, sync time 6s
skicka: updated 0 Drive files, 10 local files
skicka: 0 B read from disk, 16.18 MiB written to disk
skicka: 0 B uploaded (0 B/s), 16.18 MiB downloaded (2.33 MiB/s)
skicka: 50.23 MiB peak memory used
0

Mai 2018 ARBEITEN

Hallo basierend auf diesen Kommentaren ... Ich erstelle eine Bash, um eine Liste der URLs aus der Datei URLS.txt in eine URLS_DECODED.txt Zu exportieren, die in einem Beschleuniger wie Flashget verwendet wird (ich verwende cygwin Windows und Linux kombinieren)

Command Spider wurde eingeführt, um den Download zu vermeiden und den endgültigen Link zu erhalten (direkt)

Befehl GREP HEAD und CUT, Verarbeitung und Abruf der endgültigen Verknüpfung. Basiert in spanischer Sprache. Vielleicht könnten Sie einen Anschluss an ENGLISH LANGUAGE haben

echo -e "$URL_TO_DOWNLOAD\r" wahrscheinlich ist das\r nur cywin und muss durch ein\n (break line) ersetzt werden

**********user*********** ist der Benutzerordner

*******Localización*********** ist in spanischer Sprache, löschen Sie die Sternchen und lassen Sie das Wort in Englisch Location und passen Sie THE HEAD und die CUT-Nummern entsprechend an.

rm -rf /home/**********user***********/URLS_DECODED.txt
COUNTER=0
while read p; do 
    string=$p
    hash="${string#*id=}"
    hash="${hash%&*}"
    hash="${hash#*file/d/}"
    hash="${hash%/*}"
    let COUNTER=COUNTER+1
    echo "Enlace "$COUNTER" id="$hash
    URL_TO_DOWNLOAD=$(wget --spider --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='$hash -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id="$hash 2>&1 | grep *******Localización***********: | head -c-13 | cut -c16-)
    rm -rf /tmp/cookies.txt
    echo -e "$URL_TO_DOWNLOAD\r" >> /home/**********user***********/URLS_DECODED.txt
    echo "Enlace "$COUNTER" URL="$URL_TO_DOWNLOAD
done < /home/**********user***********/URLS.txt
0
Sk.

Mai 2018

Wenn Sie mit curl eine Datei von Google Drive herunterladen möchten, benötigen Sie neben der Datei-ID im Laufwerk auch einen OAuth2 access_token für die Google Drive-API. Das Token abrufen umfasst mehrere Schritte mit dem Google API-Framework. Die Anmeldeschritte bei Google sind (derzeit) kostenlos.

Ein OAuth2 access_token erlaubt potenziell alle Arten von Aktivitäten, seien Sie also vorsichtig. Das Token läuft nach kurzer Zeit ab (1 Stunde?), Aber nicht kurz genug, um Missbrauch zu verhindern, wenn jemand es erfasst.

Sobald Sie ein access_token und die fileid haben, wird dies funktionieren:

AUTH="Authorization: Bearer the_access_token_goes_here"
FILEID="fileid_goes_here"
URL=https://www.googleapis.com/drive/v3/files/$FILEID?alt=media
curl --header "$AUTH" $URL >myfile.ext

Siehe auch: Google Drive-APIs - REST - Dateien herunterladen

0
Paul

Ich habe dies mit einem python Skript und Google Drive API gemacht. Sie können dieses Snippet ausprobieren:

//using chunk download

file_id = 'someid'
request = drive_service.files().get_media(fileId=file_id)
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
    status, done = downloader.next_chunk()
    print "Download %d%%." % int(status.progress() * 100)
0
aryan singh

Es gibt einen einfacheren Weg.

Installieren Sie Cliget/CURLWGET von Firefox/Chrome-Erweiterung. 

Laden Sie die Datei vom Browser herunter. Dadurch wird ein Curl/Wget-Link erstellt, der die beim Herunterladen der Datei verwendeten Cookies und Header speichert. Verwenden Sie diesen Befehl aus einer beliebigen Shell zum Herunterladen

0
Yesh