Ich benutze die Python requests lib, um eine PDF-Datei aus dem Internet zu erhalten. Das funktioniert gut, aber ich möchte jetzt auch den ursprünglichen Dateinamen. Wenn ich in Firefox eine PDF-Datei öffne und download
anklicke, ist bereits ein Dateiname zum Speichern der PDF-Datei definiert. Wie bekomme ich diesen Dateinamen?Wie bekomme ich PDF-Dateiname mit Python-Anfragen?
Zum Beispiel:
import requests
r = requests.get('http://www.researchgate.net/profile/M_Gotic/publication/260197848_Mater_Sci_Eng_B47_%281997%29_33/links/0c9605301e48beda0f000000.pdf')
print r.headers['content-type'] # prints 'application/pdf'
überprüfte ich die r.headers
für alles interessant, aber es gibt keinen Dateinamen drin. Ich habe gehofft, tatsächlich für so etwas wie r.filename
..
Weiß jemand, wie ich mit Anfragen Bibliothek die Dateinamen eine heruntergeladenen PDF-Datei zu bekommen?
Interessant - ich sagen würde, „gut * natürlich *' 0c9605301e48beda0f000000.pdf'“(wie in der Anfrage), aber zum Glück habe ich beschlossen, es zunächst zu testen. Und FireFox möchte es als "Mater Sci Eng B47 (1997) 33.pdf" speichern. – usr2564301
Wie überprüfen Sie die Header? Der Dateiname _ist_ dort, 'content-disposition: inline; Dateiname = "Mater Sci Eng B47 (1997) 33.pdf" '. FWIW, viele PDFs haben einen eingebetteten [Title] (http://stackoverflow.com/q/6367304/4014959), aber nicht alle, und es ist möglicherweise nicht einfach zu erreichen, wenn das PDF in binärer Form vorliegt. –