J'ai un petit utilitaire que j'utilise pour télécharger un fichier MP3 à partir d'un site Web selon un calendrier, puis construire/mettre à jour un fichier XML de podcast que j'ai ajouté à iTunes.
Le traitement de texte qui crée/met à jour le fichier XML est écrit en Python. Cependant, j'utilise wget dans un système Windows .bat
pour télécharger le fichier MP3. Je préférerais que l'utilitaire soit entièrement écrit en Python.
J'ai eu du mal à trouver un moyen de télécharger le fichier en Python, c'est pourquoi j'ai eu recours à la méthode suivante wget
.
Alors, comment puis-je télécharger le fichier en utilisant Python ?
0 votes
Voir aussi : Comment enregistrer localement avec Python une image dont je connais déjà l'adresse URL ?
2 votes
Beaucoup des réponses ci-dessous ne remplacent pas de manière satisfaisante
wget
. Entre autres choses,wget
(1) préserve l'horodatage (2) détermine automatiquement le nom du fichier à partir de l'url, en l'ajoutant.1
(etc.) si le fichier existe déjà (3) a beaucoup d'autres options, dont certaines que vous avez peut-être mises dans vos.wgetrc
. Si vous voulez l'un de ces éléments, vous devez l'implémenter vous-même en Python, mais il est plus simple de simplement invoquerwget
de Python.3 votes
Solution courte pour Python 3 :
import urllib.request; s = urllib.request.urlopen('http://example.com/').read().decode()