Comment telecharger des fichiers avec python requests

Written by @jefcolbi, 2022-03-09, Last update: 2024-04-27

Bonjour le monde

Telecharger des fichiers avec Python est simple et facile, nous allons voir comment procéder.

Introduction

Pour accomplir notre tache qui est celle de télécharger des fichiers en utilisant Python, nous allons utiliser le module requests

Requests est le module par excellence Python pour travailler avec le protocole HTTP. Et c'est aussi le module Python le plus celebre (nombre d'installation). Requests vous propose une abstraction, qui vous aide à être concis, précis et rapide dans votre travail "http" que vous voulez accomplir. En effet, utiliser les modules offerts par la librairie standard Python comme par exemple "http.client" requiert non seulement une bonne capacité à lire la doc Python mais aussi de bonnes bases en protocole HTTP. Requests est là pour nous simplifier la tâche.

Installation et utilisation

Pour installer requests, rien de plus simple que: pip install requests Il se pourrait que votre systeme soit venu avec déjà requests donc je vous conseille de faire une mise à jour (l'api publique de requests change rarement donc c'est sain de le faire), comme ceci: pip install --upgrade requests

Si nous voulons recuperer la page d'accueil de ce site, on doit faire:

import requests

req = requests.get("https://zouktil.com")
print(req.content)

Explication:

import requests : nous permet d'importer le module requests

req = requests.get("https://zoutil.com") : on fait une requete de type GET et on sauvegarde le résultat dans la variable req

print(req.content) : on affiche le content de la reponse. Ici ce sera le code source de la page qui va s'afficher.

Telechargement d'un fichier

Pour telecharger, un fichier on fait une requete (en general GET) et on sauvegarde le contenu dans un fichier qu'on a ouvert au prealable. Telechargeons la page d'accueil de ce site, par exemple:

import requests

req = requests.get('https://zouktil.com')

with open('zouktil.html', 'w') as fp:
    fp.write(req.content)

La page sera telechargée et enregistrée dans le dossier courant.

Maintenant ce que vous devez savoir c'est que si vous télécharger vraiment un fichier, il y'a de forte chance qu'il soit lourd et en realité lorsque vous faites, req.content tout le fichier est téléchargé et mis en mémoire (RAM) avant d'etre sauvegardé sur le disque. Ceci peut provoquer des crashs voir des déni de services.

Pour eviter celà, il faut utiliser un itérateur et comme par magie requests nous en propose un.

import requests

req = requests.get('https://server-idiot.existepas/fichier-lourd.mp4',
                        stream=True)

with open("video.mp4", "wb") as fp:
    for partie in req.iter_content:
        fp.write(partie)

On passe le paramètre stream=True à la fonction request.get pour informer request que nous nous appretons à recuperer un flux, c'est à dire que le contenu va venir progressivement. Puis on utilise l'iterateur .iter_content de req pour recuperer chaque partie du fichier et le sauvegarder. Exactement comme un telechargement dans le navigateur.

Avec ceci, aucun risque de surcharger sa RAM.

Bon voilà, on arrive à la fin de notre article, j'espère qu'il vous a plu. Si c'est le cas, laissez un Like et en cas de problème, de remarque ou d'amélioration laissez un commentaire.

About the blog

Jefcolbi

Ceci est mon blog personnel, où je partage mes connaissances

About the author

Jeff Matt

Je suis développeur Python de metier, entrepreneur à mes heures perdues et lecteur assidu.

Contact: @jefcolbi

From the same author


Cessez d'utiliser partout les listes Python, utilisez plutot deque
Cessez d'utiliser partout les listes Python, utilisez plutot

Utilisation de deque à la place de list

Configurer correctement Django avec Postgresql
Configurer correctement Django avec Postgresql

Bonne configuration de Postgresql pour un projet Django

Ce que je pense de l'unite
Ce que je pense de l'unite

Ce que je pense de l'unité et du vivre ensemble au Cameroun, pays aux 234 tribus.

Introduction au cinéma: Par où commencer
Introduction au cinéma: Par où commencer

Introduction au cinéma. Présentation des films cultes, des sagas classiques et de bons acteurs que tout bon cinéphile se doit de connaitre.

SpaceX a installé 29 moteurs Raptor sur une fusée Super Heavy la nuit dernière.
Comment ajouter des articles dans sa boutique Yaknema
Comment ajouter des articles dans sa boutique Yaknema

Vous avez déjà crée votre boutique sur Yaknema et vous souhaitez ajouter des produits/articles ? Cet article est fait pour vous....

Revanced: Comment nioxer Youtube, Spotify etc pour rien
Revanced: Comment nioxer Youtube, Spotify etc pour rien

Un article qui explique comment jouir de youtube premium de manière sécurisée et légale.

Comment entretenir la batterie de son téléphone pendant très très longtemps
Comment entretenir la batterie de son téléphone pendant très

Vous avez tout le temps des problèmes de batterie? Voici le secret pour la conserver pendant plus longtemps.

Maitrisez les décorateurs Python - Les décorateurs revisités Partie 1
Maitrisez les décorateurs Python - Les décorateurs revisités

Nous allons voir ce que sont les décorateurs Python, comment on les ecrit et à quoi ils servent dans la pratique....

Comment installer python mysqlclient
Comment installer python mysqlclient

Guide pas à pas sur comment installer le package python mysqlclient sur votre système.

Best way to serve django or flask app using bjoern
Best way to serve django or flask app using bjoern

We will see the best way to serve a django or flask app using bjoern via unix socket.

Les 3 règles fondamentales d'un bon programmeur
Les 3 règles fondamentales d'un bon programmeur

Vous vous êtes toujours demander qu'est ce qui fait la différence entre les bons programmeurs et les moins bons, et comment rejoindre le club des bons...

Comment créer sa boutique sur Yaknema
Comment créer sa boutique sur Yaknema

Vous venez de vous inscrire sur Yaknema et vous ne savez pas comment démarrer? Nous allons vous montrer pas à pas....

Les 8 grands ennemis du cerveau
Les 8 grands ennemis du cerveau

Une liste des ennemis du cerveau à éviter à tout prix

Comment et pourquoi utiliser pre-commit
Comment et pourquoi utiliser pre-commit

Installation, configuration et utilisation de pre-commit pas à pas.

On the same topic


Cessez d'utiliser partout les listes Python, utilisez plutot deque
Cessez d'utiliser partout les listes Python, utilisez plutot

Utilisation de deque à la place de list


Copyright © 2020 | Powered By | Yaknema SARL