Benutze einfach Anfragen, es ist viel besser als die Verwendung von urllib.
Versuchen Sie es.
%Vor%Sie speichern keine Cookies.
Zuerst möchte ich sagen, dass ich die Empfehlung, die most-excellent requests
-Bibliothek zu verwenden, voll und ganz unterstütze.
Wenn Sie dies jedoch in Vanille Python 2 tun müssen, liegt das Problem in der Tatsache, dass Google Sie über HTTP 302-Weiterleitungen herumtreibt, und es erwartet, dass Sie sich an die Cookies erinnern, die es bei jeder Antwort setzt. Wenn festgestellt wird, dass Sie keine Cookies speichern, werden Sie auf die Anmeldeseite weitergeleitet.
Standardmäßig folgt urllib2.urlopen
(oder der von build_opener
zurückgegebene Öffner) 302 Weiterleitungen, speichert jedoch keine HTTP-Cookies. Sie müssen Ihrem Opener beibringen, wie das geht. Wie so:
Auch hier sollte requests
verwendet werden, aber wenn es nicht möglich ist, kann die Standardbibliothek die Arbeit erledigen.
Die requests
-Bibliothek ist großartig und der Gold-Standard für HTTP-Anfragen von Python, aber dieser Download-Stil ist, obwohl er noch nicht veraltet ist, wahrscheinlich nicht lange haltbar und bezieht sich speziell auf den Download-Link-Stil. Das Feld downloadUrl
in der Google Drive API Version 2 ist wurde bereits abgelehnt . Der derzeit gängigste Weg, Google Tabellen als CSV-Datei zu exportieren, besteht darin, die (aktuelle) Google Drive-API zu verwenden.
Warum also die Drive API? Soll das nicht eher etwas für die Google Tabellen-API sein? Nun, die Google Tabellen API ist für Tabellenkalkulation -orientierte Funktionalität, dh Datenformatierung, Spaltengrößenanpassung, Erstellen von Diagrammen, Zellenüberprüfung usw., während die Drive API für Datei ist Funktionalität, dh Import / Export.
Im Folgenden finden Sie eine vollständige Lösung für die Befehlszeilenlösung . (Wenn Sie Python nicht verwenden, können Sie es als Pseudocode verwenden und eine beliebige Sprache auswählen, die von den Google APIs-Clientbibliotheken unterstützt wird .) Nehmen Sie für das Code-Snippet das aktuellste Blatt mit dem Namen inventory
an (ältere Dateien mit diesem Namen werden ignoriert) und DRIVE
ist der API-Dienstendpunkt:
Wenn Ihr Blatt groß ist, müssen Sie es möglicherweise in Stücke exportieren - siehe diese Seite wie man das macht . Wenn Sie Google-APIs im Allgemeinen noch nicht kennen, habe ich ein (etwas veraltetes aber) benutzerfreundliches Intro-Video für dich. (Es gibt 2 Videos danach vielleicht auch nützlich.)
Tags und Links python google-spreadsheet