Maison >développement back-end >Tutoriel Python >Comment puis-je télécharger des fichiers via HTTP en Python ?

Comment puis-je télécharger des fichiers via HTTP en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 03:42:10904parcourir

How Can I Download Files via HTTP in Python?

Téléchargement de fichiers via HTTP avec Python

Scénario : Vous disposez d'un utilitaire Python qui télécharge des fichiers MP3 à partir d'un site Web et met à jour un fichier XML de podcast. Le téléchargement MP3 est actuellement géré par wget dans un fichier Windows .bat, mais vous recherchez une solution entièrement basée sur Python.

Solution :

Python fournit plusieurs méthodes pour télécharger des fichiers via HTTP au sein de l'écosystème Python. Une approche populaire consiste à utiliser le module urllib.request. L'extrait suivant montre comment télécharger un fichier à l'aide de urllib.request.urlretrieve() :

import urllib.request

url = "http://www.example.com/songs/mp3.mp3"
filename = "mp3.mp3"

urllib.request.urlretrieve(url, filename)

Ce code récupère le fichier à partir de l'URL spécifiée et l'enregistre sous le nom de fichier désigné. Notez que pour Python 2, vous utiliserez import urllib et urllib.urlretrieve.

Vous pouvez également utiliser la bibliothèque de requêtes, qui offre une API plus conviviale. Voici un exemple :

import requests

url = "http://www.example.com/songs/mp3.mp3"
response = requests.get(url)
response.raise_for_status()

with open("mp3.mp3", "wb") as f:
    f.write(response.content)

Ce code effectue une requête GET à l'URL et récupère le contenu du fichier. Il écrit ensuite le contenu dans le nom de fichier spécifié en mode binaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn