J'ai besoin de télécharger plusieurs fichiers via http en Python.Comment télécharger un fichier en utilisant python d'une manière «plus intelligente»?
La plus évidente façon de le faire est juste en utilisant urllib2:
import urllib2
u = urllib2.urlopen('http://server.com/file.html')
localFile = open('file.html', 'w')
localFile.write(u.read())
localFile.close()
Mais je vais devoir traiter les URL qui sont mauvais en quelque sorte, disent comme ceci: http://server.com/!Run.aspx/someoddtext/somemore?id=121&m=pdf
. Lorsque téléchargé via le navigateur, le fichier a un nom lisible par l'homme, à savoir. accounts.pdf
.
Y a-t-il un moyen de gérer cela en python, donc je n'ai pas besoin de connaître les noms de fichiers et de les coder en dur dans mon script?
Le nom de fichier sur le serveur est-il pertinent? Vraisemblablement, ces fichiers ont un sens pour vous, donc vous devriez être capable de les nommer vous-même. Si les noms n'ont pas de sens, trouvez un nom unique au hasard (peut-être?) –
J'aimerais avoir des noms de fichiers lisibles et significatifs. Le problème est que le script prendra des URL à télécharger à partir d'un fichier texte, et les URL seront ajoutées et supprimées par une personne non technique. – kender