Le package python requests
§
Le package requests permet d'effectuer programmatiquement des requêtes HTTP (comme celles que fait un navigateur).
requests
§Le package requests permet d'effectuer programmatiquement des requêtes HTTP (comme celles que fait un navigateur).
Depuis votre environnement virtuel, exécutez la commande suivante :
pip install requests
Si tout s'est bien passé, vous pouvez désormais importer le package dans l'interprétaur python :
>>> import requests
>>> requests.__version__
'2.22.0'
(le numéro de version peut évidemment être différent).
Pour effectuer une requête HTTP simple,
utilisez la fonction requests.get
en lui passant l'URL à requêter.
Cette fonction retourne un objet Réponse, possédant de nombreux attributs.
Ceux que vous utiliserez principalement sont :
status_code
: le code numérique à 3 chiffres indiquant le succès ou l'échec de la requête ;headers
: un objet similaire à un dictionnaire python contenant les en-têtes de la réponse ;text
: le corps de la réponse sous forme d'une chaîne de caractères (pour les fichiers textuels, comme par exemple HTML) ;content
: le corps de la réponse sous forme d'une chaîne d'octets (pour les fichiers binaires, comme par exemple les images).Exemple :
>>> resp = requests.get("http://champin.net/2018/progweb-python/_static/td1/page1.html")
>>> resp.status_code
200
>>> resp.headers
{'Date': 'Fri, 23 Aug 2019 14:55:54 GMT', 'Server': 'Apache/2.4.10 (Debian)', 'Last-Modified': 'Wed, 15 Nov 2017 20:56:16 GMT', 'ETag': '"1b5-55e0bbc0a5c00-gzip"', 'Accept-Ranges': 'bytes', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Content-Length': '271', 'Keep-Alive': 'timeout=5, max=100', 'Connection': 'Keep-Alive', 'Content-Type': 'text/html; charset=UTF-8'}
>>> resp.text
'<!DOCTYPE html>\n<html>\n <head>\n <meta charset="utf-8">\n <title>Page n°1</title>\n <link rel="stylesheet" href="style.css">\n </head>\n <body>\n <img alt="the hacker symbol" src="http://www.catb.org/hacker-emblem/glider.png">\n <h1>Bienvenue sur la page n°1</h1>\n <ul>\n <li>Pour visiter <a href="page2.html">la page n°2</a>\n <li>Pour visiter <a href="form.html">le formulaire</a>\n </ul>\n </body>\n</html>\n\n'
requests vous offre de nombreuses possibilités, notamment
Consultez la documentation pour en savoir plus.