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
Libérer: 2024-12-26 03:42:10
original
906 Les gens l'ont consulté

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)
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal