urllib.urlretrieve
devuelve silenciosamente incluso si el archivo no existe en el servidor http remoto, solo guarda una página html en el archivo nombrado. Por ejemplo:¿Cómo saber si urllib.urlretrieve tiene éxito?
urllib.urlretrieve('http://google.com/abc.jpg', 'abc.jpg')
sólo devuelve en silencio, incluso si abc.jpg no existe en el servidor de google.com, el abc.jpg
generado no es un archivo jpg válida, en realidad es una página HTML. Supongo que los encabezados devueltos (una instancia de httplib.HTTPMessage) se pueden usar para decir realmente si la recuperación tiene éxito o no, pero no puedo encontrar ningún documento para httplib.HTTPMessage
.
¿Alguien puede proporcionar información sobre este problema?
¿Puede urllib2 proporcionar el comportamiento de almacenamiento en caché de urlretrieve? ¿O tendríamos que volver a implementarlo? – Kiv
Vea este folleto fascinante de ActiveState: http://code.activestate.com/recipes/491261/ Lo estamos utilizando en nuestro proyecto actual, funciona perfectamente –
urlopen no proporciona una función de enlace (para mostrar la barra de progreso de ejemplo) como urlretrieve. –