Python

Comment utiliser Urllib en Python

Comment utiliser Urllib en Python

Python contient un module nommé urllib pour gérer les tâches liées à Uniform Resource Locator (URL). Ce module est installé par défaut dans Python 3, et récupère les URL de différents protocoles via le urlopen() une fonction. Urllib peut être utilisé à de nombreuses fins, telles que la lecture du contenu d'un site Web, la création de requêtes HTTP et HTTPS, l'envoi d'en-têtes de requête et la récupération d'en-têtes de réponse. le urllib module contient de nombreux autres modules pour travailler avec des URL, tels que urllib.demander, urllib.analyser, et urllib.Erreur, entre autres. Ce tutoriel va vous montrer comment utiliser le module Urllib en Python.

Exemple 1 : Ouverture et lecture d'URL avec urllib.demander

le urllib.demander le module contient les classes et les méthodes requises pour ouvrir et lire n'importe quelle URL. Le script suivant montre comment utiliser urllib.demander module pour ouvrir une URL et lire le contenu de l'URL. Ici le urlopen() méthode est utilisée pour ouvrir l'URL, "https://www.astuce linux.com/.” Si l'URL est valide, alors le contenu de l'URL sera stocké dans la variable objet nommée réponse. le lis() méthode de la réponse l'objet est ensuite utilisé pour lire le contenu de l'URL.

#!/usr/bin/env python3
# Module de requête d'importation d'urllib
importer l'urllib.demander
# Ouvrez l'URL spécifique pour la lecture en utilisant urlopen()
réponse = urllib.demander.urlopen('https://www.astuce linux.com/')
# Imprimer les données de réponse de l'URL
print("La sortie de l'URL est :\n\n",réponse.lis())

Production

La sortie suivante apparaîtra après l'exécution du script.

Exemple 2 : Analyser et désanalyser des URL avec urllib.analyser

le urllib.analyser le module est principalement utilisé pour séparer ou réunir les différents composants d'une URL. Le script suivant montre différentes utilisations du urllib.analyser module. Les quatre fonctions de urllib.analyser utilisé dans le script suivant incluent analyse d'url, urlunparse, urlsplit, et urlunsplit. le analyse d'url le module fonctionne comme urlsplit, et le urlunparse le module fonctionne comme urlunsplit. Il n'y a qu'une différence entre ces fonctions ; C'est, analyse d'url et urlunparse contiennent un paramètre supplémentaire nommé 'paramètres' pour le fractionnement et la fonction de jointure. Ici, l'URL 'https://linuxhint.com/play_sound_python/' est utilisé pour diviser et joindre l'URL.

#!/usr/bin/env python3
 
# Importer le module d'analyse d'urllib
importer l'urllib.analyser
 
# Analyse de l'URL à l'aide de urlparse()
urlParse = urllib.analyser.urlparse('https://linuxhint.com/play_sound_python/')
print("\nLa sortie de l'URL après analyse :\n", urlParse)
 
# Rejoindre l'URL en utilisant urlunparse()
urlUnparse = urllib.analyser.urlunparse(urlParse)
print("\nLa sortie de jointure de l'URL d'analyse :\n", urlUnparse)
 
# Analyse de l'URL à l'aide de urlsplit()
urlSplit = urllib.analyser.urlsplit('https://linuxhint.com/play_sound_python/')
print("\nLa sortie de l'URL après fractionnement :\n", urlSplit)
 
# Rejoindre l'URL en utilisant urlunsplit()
urlUnsplit = urllib.analyser.urlunsplit(urlSplit)
print("\nLa sortie de jointure de l'URL de fractionnement :\n",urlUnsplit)

Production

Les quatre sorties suivantes apparaîtront après l'exécution du script.

Exemple 3 : lecture de l'en-tête de réponse HTML avec urllib.demander

Le script suivant montre comment les différentes parties de l'en-tête de réponse de l'URL peuvent être récupérées via le Info() méthode. le urllib.demander module utilisé pour ouvrir l'URL, 'https://linuxhint.com/python_pause_user_input/,' et les informations d'en-tête de cette URL sont imprimées via le Info() méthode. La prochaine partie de ce script vous montrera comment lire chaque partie de l'en-tête séparément. Ici le Serveur, Date, et Type de contenu les valeurs sont imprimées séparément.

#!/usr/bin/env python3
# Module de requête d'importation d'urllib
importer l'urllib.demander
# Ouvrir l'URL pour la lecture
urlResponse = urllib.demander.urlopen('https://linuxhint.com/python_pause_user_input/')
# Lecture de la sortie d'en-tête de réponse de l'URL
print(urlRéponse.Info())
# Lire les informations d'en-tête séparément
print('Response server = ', urlResponse.info()["Serveur"])
print('La date de réponse est = ', urlResponse.info()["Date"])
print('Le type de contenu de la réponse est = ', urlResponse.info()["Type de contenu"])

Production

La sortie suivante apparaîtra après l'exécution du script.

Exemple 4 : Lecture des réponses URL ligne par ligne

Une adresse URL locale est utilisée dans le script suivant. Ici, un fichier HTML de test nommé test.html est créé à l'emplacement, var/www/html. Le contenu de ce fichier est lu ligne par ligne via le  pour boucle. le déshabiller() méthode est ensuite utilisée pour supprimer l'espace des deux côtés de chaque ligne. Vous pouvez utiliser n'importe quel fichier HTML du serveur local pour tester le script. Le contenu de la test.html fichier utilisé dans cet exemple est donné ci-dessous.

test.html :



Page de test


#!/usr/bin/env python3
 
# Importer l'urllib.module de demande
importer l'urllib.demander
 
# Ouvrir une URL locale pour la lecture
réponse = urllib.demander.urlopen('http://localhost/test.html')
 
# Lire l'URL de la réponse
print ('URL :', réponse.geturl())
 
# Lire le texte de réponse ligne par ligne
print("\nLecture du contenu :")
pour la ligne en réponse :
imprimer (ligne.déshabiller())

Production

La sortie suivante apparaîtra après l'exécution du script.

Exemple 5 : Gestion des exceptions avec urllib.Erreur.URLError

Le script suivant montre comment utiliser le URLError en Python via le urllib.Erreur module. Toute adresse URL peut être considérée comme une entrée de l'utilisateur. Si l'adresse n'existe pas, alors un URLError une exception sera levée et la raison de l'erreur s'imprimera. Si la valeur de l'URL est dans un format non valide, alors un Erreur de valeur sera soulevé et l'erreur personnalisée s'imprimera.

#!/usr/bin/env python3
 
# Importez les modules nécessaires
importer l'urllib.demander
importer l'urllib.Erreur
 
# essayez de bloquer pour ouvrir n'importe quelle URL pour la lecture
essayer:
url = input("Entrez n'importe quelle adresse URL : ")
réponse = urllib.demander.urlopen(url)
imprimer (réponse.lis())
 
# Attrapez l'erreur d'URL qui sera générée lors de l'ouverture d'une URL
sauf urllib.Erreur.URLError en tant que e :
print("Erreur URL :",e.raison)
# Récupérer l'erreur d'URL invalide
sauf ValueError :
print("Entrez une adresse URL valide")

Production

Le script est exécuté trois fois dans la capture d'écran suivante. Dans la première itération, l'adresse URL est donnée dans un format invalide, générant une ValueError. L'adresse URL donnée dans la deuxième itération n'existe pas, générant une URLError. Une adresse URL valide est donnée dans la troisième itération, et ainsi le contenu de l'URL est imprimé.

Exemple 6 : Gestion des exceptions avec urllib.Erreur.Erreur HTTP

Le script suivant montre comment utiliser le Erreur HTTP en Python via le urllib.Erreur module. Un Erreur HTML génère lorsque l'adresse URL donnée n'existe pas.

#!/usr/bin/env python3
# Importez les modules nécessaires
importer l'urllib.demander
importer l'urllib.Erreur
 
# Saisissez n'importe quelle URL valide
url = input("Entrez n'importe quelle adresse URL : ")
# Envoyer une demande pour l'URL
requête = urllib.demander.Demande (url)
 
essayer:
# Essayez d'ouvrir l'URL
urllib.demander.urlopen(demande)
print("URL existe")
sauf urllib.Erreur.HTTPError comme e :
# Imprimer le code d'erreur et la raison de l'erreur
print("Code d'erreur :%d\nRaison de l'erreur :%s" %(e.code, e.raison))

Production

Ici, le script est exécuté deux fois. La première adresse URL prise en entrée existe et le module a imprimé un message. La deuxième adresse URL prise en entrée n'existe pas et le module a généré le Erreur HTTP.

Conclusion

Ce didacticiel a traité de nombreuses utilisations importantes du urllib module en utilisant divers exemples pour aider les lecteurs à connaître les fonctions de ce module en Python.

Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...
Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...