Le Bibliothèque de requêtes en Python est l'une des parties intégrantes de Python permettant d'effectuer des requêtes HTTP vers une URL spécifiée. Qu'il s'agisse d'API REST ou de Web Scraping, les requêtes sont indispensables à apprendre pour aller plus loin avec ces technologies. Lorsqu'on fait une requête à un URI, il renvoie une réponse. Les requêtes Python fournissent des fonctionnalités intégrées pour gérer à la fois la requête et la réponse.
tri par sélection Java
Dans ce didacticiel, nous explorerons Qu'est-ce que Bibliothèque de requêtes Python , Comment faire Requêtes GET via les requêtes Python, les objets et méthodes de réponse, l'authentification à l'aide des requêtes Python, etc.
Table des matières
- Qu'est-ce que le module Requêtes Python ?
- Comment faire une requête GET via des requêtes Python
- Méthodes de requête HTTP
- Objet de réponse
- Méthodes de réponse
- Authentification à l'aide de requêtes Python
- Vérification du certificat SSL
- Objets de session
- Conclusion
Qu'est-ce que le module Requêtes Python ?
- Requests est une bibliothèque HTTP sous licence Apache2, qui permet d'envoyer des requêtes HTTP/1.1 à l'aide de Python.
- Pour jouer avec le Web, les requêtes Python sont indispensables. Qu'il s'agisse d'accéder aux API, de télécharger des pages Facebook entières et bien d'autres choses intéressantes, il faudra faire une requête à l'URL.
- Les demandes jouent un rôle majeur dans le traitement API REST , et Grattage Web .
- Extrayez un exemple de script Python utilisant des requêtes et du Web Scraping – Implémentation du Web Scraping en Python avec BeautifulSoup
Installation des requêtes
L'installation des requêtes dépend du type de système d'exploitation utilisé, la commande de base n'importe où serait d'ouvrir un terminal de commande et d'exécuter,
pip install requests>
La méthode de base pour l'installation des requêtes sur n'importe quel système d'exploitation consiste à récupérer les fichiers de base et à installer les requêtes manuellement. Requests est activement développé sur GitHub, où le code est toujours disponible. Pour le code – visitez ici . Vous pouvez soit cloner le dépôt public :
git clone git://github.com/psf/requests.git>
Une fois que vous avez une copie de la source, vous pouvez l'intégrer dans votre propre package Python ou l'installer facilement dans vos packages de site :
cd requestspip install .>
Pour plus de paiement – Comment installer des requêtes en Python – Pour Windows, Linux, Mac
Faire une demande
Le module de requêtes Python dispose de plusieurs méthodes intégrées pour effectuer des requêtes HTTP vers l'URI spécifié à l'aide de requêtes GET, POST, PUT, PATCH ou HEAD. Une requête HTTP est destinée soit à récupérer des données à partir d'un URI spécifié, soit à transmettre des données à un serveur. Il fonctionne comme un protocole requête-réponse entre un client et un serveur. Montrons comment envoyer une requête GET à un point de terminaison. La méthode GET est utilisée pour récupérer des informations du serveur donné en utilisant un URI donné. La méthode GET envoie les informations utilisateur codées ajoutées à la demande de page. La page et les informations codées sont séparées par le caractère « ? ». Par exemple:
https://www.google.com/search?q=hello>
Comment faire une requête GET via des requêtes Python
Le module de requêtes de Python fournit une méthode intégrée appelée obtenir() pour faire une requête GET à un URI spécifié.
Syntaxe
requests.get(url, params={key: value}, args)>
Exemple :
Essayons de faire une requête aux API de github à des fins d'exemple.
Python3
import> requests> > # Making a GET request> r> => requests.get(> ' https://api.github.com/users/naveenkrnl '> )> > # check status code for response received> # success code - 200> print> (r)> > # print content of request> print> (r.content)> |
>
>
enregistrez ce fichier sous request.py et via l'exécution du terminal,
python request.py>
Sortir -
Pour en savoir plus, visitez – Méthode GET – Requêtes Python
b+ arbres
Méthodes de requête HTTP
Méthode | Description |
---|---|
OBTENIR | La méthode GET est utilisée pour récupérer des informations du serveur donné en utilisant un URI donné. |
POSTE | La méthode de requête POST demande à un serveur Web d'accepter les données contenues dans le corps du message de requête, très probablement pour les stocker. |
METTRE | La méthode PUT demande que l'entité incluse soit stockée sous l'URI fourni. Si l'URI fait référence à une ressource déjà existante, elle est modifiée et si l'URI ne pointe pas vers une ressource existante, alors le serveur peut créer la ressource avec cet URI. |
SUPPRIMER | La méthode DELETE supprime la ressource spécifiée |
TÊTE | La méthode HEAD demande une réponse identique à celle d'une requête GET, mais sans le corps de la réponse. |
CORRECTIF | Il est utilisé pour modifier les capacités. La requête PATCH doit uniquement contenir les modifications apportées à la ressource, pas la ressource complète |
Objet de réponse
Lorsqu'on fait une requête à un URI, il renvoie une réponse. Cet objet Response en termes de python est renvoyé par request.method(), la méthode étant – get, post, put, etc. Response est un objet puissant avec de nombreuses fonctions et attributs qui aident à normaliser les données ou à créer des portions idéales de code. Par exemple, réponse.status_code renvoie le code d'état des en-têtes lui-même, et on peut vérifier si la demande a été traitée avec succès ou non. L'objet de réponse peut être utilisé pour impliquer de nombreuses fonctionnalités, méthodes et fonctionnalités.
Exemple :
Python3
# import requests module> import> requests> # Making a get request> response> => requests.get(> ' https://api.github.com/ '> )> # print request object> print> (response.url)> # print status code> print> (response.status_code)> |
>
>
Enregistrez ce fichier sous request.py et exécutez-le à l'aide de la commande ci-dessous
Python request.py>
Le code d'état 200 indique que la demande a été effectuée avec succès.
Méthodes de réponse
Méthode | Description |
---|---|
réponse.headers | réponse.headers renvoie un dictionnaire d'en-têtes de réponse. |
réponse.encodage | Response.encoding renvoie l'encodage utilisé pour décoder Response.content. |
réponse.écoulée | réponse.elapsed renvoie un objet timedelta avec le temps écoulé entre l'envoi de la demande et l'arrivée de la réponse. |
réponse.close() | réponse.close() ferme la connexion au serveur. |
réponse.content | réponse.content renvoie le contenu de la réponse, en octets. |
réponse.cookies | réponse.cookies renvoie un objet CookieJar avec les cookies renvoyés par le serveur. |
réponse.historique | réponse.history renvoie une liste d'objets de réponse contenant l'historique de la demande (url). |
réponse.is_permanent_redirect | réponse.is_permanent_redirect renvoie True si la réponse est l'URL redirigée permanente, sinon False. |
réponse.is_redirect | réponse.is_redirect renvoie True si la réponse a été redirigée, sinon False. |
réponse.iter_content() | réponse.iter_content() parcourt le réponse.content. |
réponse.json() | réponse.json() renvoie un objet JSON du résultat (si le résultat a été écrit au format JSON, sinon il génère une erreur). |
réponse.url | réponse.url renvoie l'URL de la réponse. |
réponse.texte | réponse.text renvoie le contenu de la réponse, en Unicode. |
réponse.status_code | réponse.status_code renvoie un nombre qui indique l'état (200 est OK, 404 est Introuvable). |
réponse.demande | réponse.request renvoie l'objet de requête qui a demandé cette réponse. |
réponse.raison | réponse.reason renvoie un texte correspondant au code d'état. |
réponse.raise_for_status() | réponse.raise_for_status() renvoie un objet HTTPError si une erreur s'est produite pendant le processus. |
réponse.ok | réponse.ok renvoie True si status_code est inférieur à 200, sinon False. |
réponse.liens | réponse.links renvoie les liens d'en-tête. |
Authentification à l'aide de requêtes Python
L'authentification fait référence à l'octroi à un utilisateur des autorisations pour accéder à une ressource particulière. Étant donné que tout le monde ne peut pas être autorisé à accéder aux données de chaque URL, il faudrait principalement une authentification. Pour réaliser cette authentification, on fournit généralement des données d'authentification via l'en-tête d'autorisation ou un en-tête personnalisé défini par le serveur.
où se trouve la touche Insérer sur le clavier d'un ordinateur portable
Exemple -
Python3
# import requests module> import> requests> from> requests.auth> import> HTTPBasicAuth> # Making a get request> response> => requests.get(> ' https://api.github.com / user, '> ,> > auth> => HTTPBasicAuth(> 'user'> ,> 'pass'> ))> # print request object> print> (response)> |
>
>
Remplacez user et pass par votre nom d'utilisateur et votre mot de passe. Il authentifiera la demande et renverra une réponse 200 ou bien il renverra l'erreur 403.
Pour plus de visite – Authentification à l'aide de requêtes Python
Vérification du certificat SSL
Requests vérifie les certificats SSL pour les requêtes HTTPS, tout comme un navigateur Web. Les certificats SSL sont de petits fichiers de données qui lient numériquement une clé cryptographique aux détails d'une organisation. Souvent, un site Web doté d’un certificat SSL est qualifié de site Web sécurisé. Par défaut, la vérification SSL est activée et les requêtes renvoient une erreur SSLError si elles ne parviennent pas à vérifier le certificat.
Désactiver la vérification du certificat SSL
Essayons d'accéder à un site Web avec un certificat SSL invalide, en utilisant des requêtes Python
Python3
# import requests module> import> requests> # Making a get request> response> => requests.get(> ' https://expired.badssl.com/ '> )> # print request object> print> (response)> |
>
>
git paiement
Sortir :-
Ce site Web n'a pas de configuration SSL, il génère donc cette erreur. on peut également transmettre le lien vers le certificat pour validation via des requêtes python uniquement.
Python3
# import requests module> import> requests> # Making a get request> response> => requests.get(> ' https://github.com '> , verify> => '/path/to/certfile'> )> # print request object> print> (response)> |
>
>
Cela fonctionnerait si le chemin fourni est correct pour le certificat SSL pour github.com.
Pour plus de visite- Vérification du certificat SSL – Requêtes Python
Objets de session
L'objet Session permet de conserver certains paramètres entre les requêtes. Il conserve également les cookies dans toutes les requêtes effectuées à partir de l'instance de session et utilisera le pool de connexions d'urllib3. Ainsi, si plusieurs requêtes sont adressées au même hôte, la connexion TCP sous-jacente sera réutilisée, ce qui peut entraîner une augmentation significative des performances. Une session objet toutes les méthodes au fur et à mesure des requêtes.
Utilisation d'objets de session
Illustrons l'utilisation des objets de session en définissant un cookie sur une URL, puis en effectuant à nouveau une demande pour vérifier si le cookie est défini.
Python3
# import requests module> import> requests> > # create a session object> s> => requests.Session()> > # make a get request> s.get(> ' https://httpbin.org/cookies/set/sessioncookie/123456789 '> )> > # again make a get request> r> => s.get(> ' https://httpbin.org/cookies '> )> > # check if cookie is still set> print> (r.text)> |
>
zone de liste HTML
>
Sortir:
Pour en savoir plus, visitez – Objets de session – Requêtes Python
Conclusion
Python Request Library est un outil puissant pour effectuer des requêtes HTTP et interagir avec les API Web. Dans ce didacticiel, nous avons couvert les bases de l'envoi de requêtes GET et POST, de la gestion des paramètres et des en-têtes et de la gestion des données de réponse. La simplicité et la conception intuitive de la bibliothèque la rendent accessible aussi bien aux développeurs débutants qu’expérimentés.