una txt rutas ruta obtener lista linea leer importar especifica escribir ejercicios directorio como buscar archivos archivo actual python pdf python-requests filenames

txt - ¿Cómo obtener el nombre de archivo pdf con las solicitudes de Python?



python directorio actual (2)

Estoy usando la lib de solicitudes de Python para obtener un archivo PDF de la web. Esto funciona bien, pero ahora también quiero el nombre del archivo original. Si voy a un archivo PDF en Firefox y hago clic en download , ya tiene un nombre de archivo definido para guardar el pdf. ¿Cómo obtengo este nombre de archivo?

Por ejemplo:

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''

Comprobé las r.headers para cualquier cosa interesante, pero no hay ningún nombre de archivo allí. Realmente estaba esperando algo como r.filename ...

¿Alguien sabe cómo puedo obtener el nombre de archivo de un archivo PDF descargado con la biblioteca de solicitudes?


Aparentemente, para este recurso particular está en:

r.headers[''content-disposition'']

No sé si siempre es el caso, sin embargo.


Se especifica en una content-disposition encabezado http. Entonces para extraer el nombre que harías:

import re d = r.headers[''content-disposition''] fname = re.findall("filename=(.+)", d)

Nombre extraído de la cadena a través de la expresión regular (módulo re ).