2016-06-20 12 views
1

ich Python bin mit Dateien von Webseite herunterladen, und nachdem ich den Antrag stellen, erhalte ich die Header wie unten:Wie lade ich Dateien aus dem Internet mit dem Request-Modul herunter?

>>> r.headers 
{'Content-Disposition': 'attachment; filename="report20160619-013623.csv";', 
'Content-Transfer-Encoding': 'binary', 'Expires': '0', 
'Keep-Alive': 'timeout=5, max=100', 'Server': 'Apache', 
'Transfer-Encoding': 'chunked', 'Connection': 'Keep-Alive', 'Pragma': 'public', 
'Cache-Control': 'must-revalidate, post-check=0, pre-check=0, private', 
'Date': 'Sun, 19 Jun 2016 06:35:18 GMT', 'X-Frame-Options': 'SAMEORIGIN', 
'Content-Type': 'application/octet-stream'} 

Meine Frage ist, wie ich die report20160619-013623.csv das request Modul herunterladen konnte.

Ich suche im Internet, es gibt Lösungen, die die Datei mit einer bestimmten URL zu dieser Datei herunterladen, aber in meinem Fall wird die Datei im Web generiert, indem Sie auf etwas wie "Download als Excel" klicken. Woher weiß ich, wo sich die Datei befindet?

Antwort

3

Sie werden die Antwort lesen und dann als Datei an einen von Ihnen angegebenen Ort schreiben.

csv = r.text 

outfile = open('/path/to/my.csv', 'w') 
outfile.write(csv) 
outfile.close() 
+0

OP angegeben, dass er [Anfragen] (http://docs.python-requests.org/en/master/) Modul verwenden möchte ... – 3kt

+0

aber wo bekomme ich die „http://beispiel.com/ "? –

+0

@GeorgeWang In meiner ursprünglichen Antwort habe ich "example.com/downloads.csv" verwendet, um nur den Pfad zu der heruntergeladenen Datei darzustellen, aber Sie haben bereits eine Antwort, die diese Datei enthält. – climmunk