Comment utiliser Urllib dans Python

Comment utiliser Urllib dans Python

Python contient un module nommé Urllib pour gérer les tâches liées aux localisateurs de ressources uniformes (URL). Ce module est installé dans Python 3 par défaut et récupère les URL de différents protocoles via le urlopen () fonction. Urllib peut être utilisé à de nombreuses fins, tels que la lecture du contenu du site Web, la création de demandes HTTP et HTTPS, l'envoi d'en-têtes de demande et la récupération des en-têtes de réponse. Le Urllib Le module contient de nombreux autres modules pour travailler avec des URL, tels que Urllib.demande, Urllib.analyse, et Urllib.erreur, entre autres. Ce tutoriel vous montrera comment utiliser le module Urllib dans Python.

Exemple 1: URL d'ouverture et de lecture avec Urllib.demande

Le Urllib.demande Le module contient les classes et méthodes nécessaires pour ouvrir et lire toute URL. Le script suivant montre comment utiliser Urllib.demande module pour ouvrir une URL et lire le contenu de l'URL. Ici le urlopen () La méthode est utilisée pour ouvrir l'URL, «https: // www.linuxhint.com /.«Si l'URL est valide, le contenu de l'URL sera stocké dans la variable d'objet nommé réponse. Le lire() Méthode de la réponse L'objet est ensuite utilisé pour lire le contenu de l'URL.

#!/ usr / bin / env python3
# Module de demande d'importation d'Urllib
Importer Urllib.demande
# Ouvrez l'URL spécifique pour la lecture en utilisant URLOpen ()
réponse = Urllib.demande.urlopen ('https: // www.linuxhint.com / ')
# Imprimez les données de réponse de l'URL
print ("La sortie de l'URL est: \ n \ n", réponse.lire())

Sortir

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

Exemple 2: Analyse des URL et désastreuses avec Urllib.analyse

Le Urllib.analyse Le module est principalement utilisé pour se séparer ou rejoindre les différents composants d'une URL. Le script suivant montre différentes utilisations du Urllib.analyse module. Les quatre fonctions de Urllib.analyse Utilisé dans le script suivant Inclure urlpare, urlustre, URLSPLIT, et urlunsplit. Le urlpare Le module fonctionne comme URLSPLIT, et le urlustre Le module fonctionne comme urlunsplit. Il n'y a qu'une seule différence entre ces fonctions; c'est, urlpare et urlustre 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 rejoindre l'URL.

#!/ usr / bin / env python3
# Importer le module d'analyse d'Urllib
Importer Urllib.analyse
# URL d'analyse utilisant URLPARSE ()
Urlpathse = Urllib.analyse.UrlParse ('https: // linuxhint.com / play_sound_python / ')
Imprimer ("\ nLe sortie de l'URL après l'analyse: \ n", Urlparse)
# Rejoindre l'URL à l'aide d'UrlunParse ()
Urlunparse = Urllib.analyse.Urlunparse (Urlparse)
print ("\ nthe jointure de sortie de l'URL d'analyse: \ n", urlunparse)
# L'analyse de l'URL utilisant URLSplit ()
URLSPLIT = Urllib.analyse.urlsplit ('https: // linuxhint.com / play_sound_python / ')
Imprimer ("\ nLe sortie de l'URL après la séparation: \ n", URLSPLIT)
# Rejoindre l'URL à l'aide d'UrlunSplit ()
Urlunsplit = Urllib.analyse.URLUNSPLIT (URLSPLIT)
imprimer ("\ nthe de jointure de sortie de l'URL de division: \ n", urlunsplit)

Sortir

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

Exemple 3: En-tête de réponse de lecture de HTML avec Urllib.demande

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.demande 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 partie suivante 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 demande d'importation d'Urllib
Importer Urllib.demande
# Ouvrez l'URL pour la lecture
UrlResponse = Urllib.demande.urlopen ('https: // linuxhint.com / python_pause_user_input / ')
# Lecture de la sortie de l'en-tête de l'URL
Imprimer (UrlResponse.Info())
# Lecture des informations d'en-tête séparément
print ('Response Server =', UrlResponse.info () ["serveur"])
imprimer ('Date de réponse est =', UrlResponse.info () ["date"])
Imprimer ('Type de contenu de réponse est =', UrlResponse.info () ["contenu-type"])

Sortir

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

Exemple 4: Lire les 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 lut par ligne via le pour boucle. Le bande() La méthode est ensuite utilisée pour retirer 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 du test.html Le fichier utilisé dans cet exemple est donné ci-dessous.

test.HTML:



Page de test


#!/ usr / bin / env python3
# Importer Urllib.module de demande
Importer Urllib.demande
# Ouvrez une URL locale pour la lecture
réponse = Urllib.demande.Urlopen ('http: // localhost / test.html ')
# Lisez l'URL de la réponse
imprimer ('URL:', réponse.getUrl ())
# Lisez le texte de la réponse ligne par ligne
imprimer ("\ nreding contenu:")
pour la ligne en réponse:
imprimer (ligne.bande())

Sortir

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

Exemple 5: Gestion des exceptions avec Urllib.erreur.Urger

Le script suivant montre comment utiliser le Urger en python via le Urllib.erreur module. Toute adresse URL peut être prise comme entrée de l'utilisateur. Si l'adresse n'existe pas, alors un Urger L'exception sera soulevée et la raison de l'erreur imprimera. Si la valeur de l'URL est dans un format non valide, alors un Value Enerror sera soulevé et l'erreur personnalisée imprimera.

#!/ usr / bin / env python3
# Importer les modules nécessaires
Importer Urllib.demande
Importer Urllib.erreur
# essayez le bloc pour ouvrir toute URL pour la lecture
essayer:
url = entrée ("Entrez n'importe quelle adresse URL:")
réponse = Urllib.demande.URLOpen (URL)
imprimer (réponse.lire())
# Catchez l'erreur d'URL qui générera lors de l'ouverture d'une URL
Sauf Urllib.erreur.Urlerror comme e:
Imprimer ("Erreur d'URL:", E.raison)
# Catchez l'erreur URL non valide
sauf ValueError:
print ("Entrez une adresse URL valide")

Sortir

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 non valide, générant une valeur d'énergie. 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 donc 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 Htmlerror génère lorsque l'adresse URL donnée n'existe pas.

#!/ usr / bin / env python3
# Importer les modules nécessaires
Importer Urllib.demande
Importer Urllib.erreur
# Prenez entrée toute URL valide
url = entrée ("Entrez n'importe quelle adresse URL:")
# Envoyer une demande pour l'URL
demande = Urllib.demande.Demande (URL)
essayer:
# Essayez d'ouvrir l'URL
Urllib.demande.urlopen (demande)
imprimer ("URL exister")
Sauf Urllib.erreur.Httperror comme e:
# Imprimez le code d'erreur et la raison d'erreur
Imprimer ("Code d'erreur:% d \ nerror Raison:% s"% (e.Code, E.raison))

Sortir

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

Conclusion

Ce tutoriel a discuté de nombreuses utilisations importantes du Urllib module en utilisant divers exemples pour aider les lecteurs à connaître les fonctions de ce module dans Python.