Python: télécharger des fichiers à partir de google drive à l'aide de l'url
Je suis en train de télécharger des fichiers à partir de google drive et tout ce que j'ai est le lecteur de l'url.
J'ai lu sur les api de google qui parle de certains drive_service et MedioIO, qui requiert également des informations d'identification( principalement fichier json/oauth). Mais je n'arrive pas à obtenir la moindre idée de la façon dont son travail.
Aussi, essayé urllib2 urlretrieve, mais mon cas est de récupérer des fichiers à partir du lecteur. Essayé 'wget' aussi, mais pas de l'utiliser.
Essayé pydrive de la bibliothèque. Il a de bonnes charger des fonctions de lecteur, mais pas les options de téléchargement.
Toute aide sera appréciée.
Merci.
OriginalL'auteur rkatkam | 2016-07-21
Vous devez vous connecter pour publier un commentaire.
Si par "voiture de l'adresse url" tu veux dire que le partageable lien d'un fichier sur Google Drive, les mesures suivantes peuvent aider:
La ciselée ne pas utiliser pydrive, ni le Google Drive kit de développement SDK. Il utilise le les demandes module (qui est, en quelque sorte, une alternative à urllib2).
Lors du téléchargement de gros fichiers à partir de Google Drive, une seule demande n'est pas suffisante. Une seconde est nécessaire - voir wget/curl fichier volumineux à partir de google drive.
Cela me donne une erreur 404-non trouvé, à l'aide de l'ID d'un public de partage de fichier. Toutes les suggestions de ce qui pourrait être mauvais?
il Fonctionne en 2018, 19, juillet.
Fonctionne toujours en 2019!
OriginalL'auteur turdus-merula
Ayant eu des besoins semblables à de nombreuses reprises, j'ai fait un extra simple de la classe
GoogleDriveDownloader
de départ dans l'extrait de @user115202 ci-dessus. Vous pouvez trouver le code source ici.Vous pouvez également l'installer via pip:
L'utilisation est très simple:
Cet extrait de télécharger une archive partagée dans Google Drive. Dans ce cas
1iytA1n2z4go3uVCwE__vIKouTKyIDjEq
est l'id de la partageable lien obtenu à partir de Google Drive.ne peut pas récupérer les fichiers ...
'open(/content/data.json').read()
retourne'<HTML>\n<HEAD>\n<TITLE>Not Found</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" TEXT="#000000">\n<H1>Not Found</H1>\n<H2>Error 404</H2>\n</BODY>\n</HTML>\n'
OriginalL'auteur ndrplz
PyDrive
vous permet de télécharger un fichier avec la fonctionGetContentFile()
. Vous pouvez trouver la fonction de documentation ici.Voir l'exemple ci-dessous:
Ce code suppose que vous avez authentifié
drive
objet, les docs sur ce qui peut être trouvé ici et ici.Dans le cas général c'est fait comme suit:
Info sur le silence de l'authentification sur un serveur peut être trouvé ici et consiste à écrire un
settings.yaml
(exemple: ici) dans lequel vous enregistrez les informations d'authentification.premier lien cassé 🙁
correction du lien!
chaque lien dans la réponse est maintenant mort
OriginalL'auteur Robin Nabel
Cela a également été décrit ci-dessus,
Cela crée son propre serveur trop faire le sale boulot de l'authentification
Cette télécharge le fichier
OriginalL'auteur CAt Corperation
La fonction ci-dessus télécharge le fichier donné le file_id d'un dossier de téléchargements. Maintenant, la question demeure, comment obtenir le file_id? Suffit de séparer l'url id= pour obtenir le file_id.
OriginalL'auteur Shivendra