Python

Sådan bruges Urllib i Python

Sådan bruges Urllib i Python

Python indeholder et modul med navnet urllib til håndtering af Uniform Resource Locator (URL) -relaterede opgaver. Dette modul er som standard installeret i Python 3 og henter URL'er til forskellige protokoller via urlopen () fungere. Urllib kan bruges til mange formål, såsom at læse webstedsindhold, foretage HTTP- og HTTPS-anmodninger, sende anmodningsoverskrifter og hente svaroverskrifter. Det urllib modulet indeholder mange andre moduler til at arbejde med URL'er, f.eks urllib.anmodning, urllib.parse, og urllib.fejl, blandt andre. Denne vejledning viser dig, hvordan du bruger Urllib-modulet i Python.

Eksempel 1: Åbning og læsning af webadresser med urllib.anmodning

Det urllib.anmodning modulet indeholder de klasser og metoder, der kræves for at åbne og læse enhver URL. Følgende script viser, hvordan man bruger urllib.anmodning modul til at åbne en URL og læse indholdet af URL'en. Her, den urlopen () metode bruges til at åbne URL'en, “https: // www.linuxhint.com /.”Hvis URL'en er gyldig, gemmes indholdet af URL'en i den navngivne objektvariabel respons. Det Læs() metode til respons objekt bruges derefter til at læse indholdet af URL'en.

#!/ usr / bin / env python3
# Importforespørgselsmodul af urllib
import urllib.anmodning
# Åbn den specifikke URL til læsning ved hjælp af urlopen ()
svar = urllib.anmodning.urlopen ('https: // www.linuxhint.com / ')
# Udskriv svarets data for URL'en
print ("Output af URL er: \ n \ n", svar.Læs())

Produktion

Følgende output vises efter kørsel af scriptet.

Eksempel 2: Parsing og ophævelse af webadresser med urllib.parse

Det urllib.parse modulet bruges primært til at opdele eller sammenføje de forskellige komponenter i en URL. Følgende script viser forskellige anvendelser af urllib.parse modul. De fire funktioner i urllib.parse brugt i følgende script inkluderer urlparse, urlunparse, urlsplit, og urlunsplit. Det urlparse modul fungerer som urlsplit, og urlunparse modul fungerer som urlunsplit. Der er kun en forskel mellem disse funktioner; det er, urlparse og urlunparse indeholder en ekstra parameter med navnet 'params'til opdeling og sammenføjningsfunktionen. Her URL'en 'https: // linuxhint.com / play_sound_python / 'bruges til opdeling og sammenføjning af URL'en.

#!/ usr / bin / env python3
 
# Importer parse-modul af urllib
import urllib.parse
 
# Parsing URL med urlparse ()
urlParse = urllib.parse.urlparse ('https: // linuxhint.com / play_sound_python / ')
print ("\ nUdgangen af ​​URL efter parsing: \ n", urlParse)
 
# Tilslutning af URL ved hjælp af urlunparse ()
urlUnparse = urllib.parse.urlunparse (urlParse)
print ("\ nDet sammenføjende output fra parsing URL: \ n", urlUnparse)
 
# Parsing URL ved hjælp af urlsplit ()
urlSplit = urllib.parse.urlsplit ('https: // linuxhint.com / play_sound_python / ')
print ("\ nUdgangen af ​​URL efter opdeling: \ n", urlSplit)
 
# Tilslutning af URL ved hjælp af urlunsplit ()
urlUnsplit = urllib.parse.urlunsplit (urlSplit)
udskriv ("\ nDet sammenføjende output fra splittende URL: \ n", urlUnsplit)

Produktion

De følgende fire output vises efter kørsel af scriptet.

Eksempel 3: Læse svaroverskrift på HTML med urllib.anmodning

Det følgende script viser, hvordan de forskellige dele af URL-adressens svaroverskrift kan hentes via info () metode. Det urllib.anmodning modul, der bruges til at åbne URL'en, 'https: // linuxhint.com / python_pause_user_input /,'og headeroplysningerne i denne URL udskrives via info () metode. Den næste del af dette script viser dig, hvordan du læser hver del af overskriften separat. Her, den Server, Dato, og Indholdstype værdier udskrives separat.

#!/ usr / bin / env python3
# Importforespørgselsmodul af urllib
import urllib.anmodning
# Åbn URL'en til læsning
urlResponse = urllib.anmodning.urlopen ('https: // linuxhint.com / python_pause_user_input / ')
# Læser svaroverskrift output af URL'en
udskriv (urlResponse.info ())
# Læsning af headeroplysninger separat
print ('Response server =', urlResponse.info () ["Server"])
print ('Svardato er =', urlResponse.info () ["Dato"])
print ('Response content type is =', urlResponse.info () ["Indholdstype"])

Produktion

Følgende output vises efter kørsel af scriptet.

Eksempel 4: Læsning af URL-svar linje for linje

En lokal URL-adresse bruges i det følgende script. Her er en testende HTML-fil med navnet prøve.html oprettes på stedet, var /www / html. Indholdet af denne fil læses linje for linje via  til løkke. Det strip () metoden bruges derefter til at fjerne pladsen fra begge sider af hver linje. Du kan bruge enhver HTML-fil fra den lokale server til at teste scriptet. Indholdet af prøve.html filen anvendt i dette eksempel er angivet nedenfor.

prøve.html:



Testside


#!/ usr / bin / env python3
 
# Importer urllib.anmodningsmodul
import urllib.anmodning
 
# Åbn en lokal url til læsning
svar = urllib.anmodning.urlopen ('http: // localhost / test.html ')
 
# Læs URL'en fra svaret
print ('URL:', svar.kanl ()
 
# Læs svarteksten linje for linje
print ("\ nLæsning af indhold:")
til linje som svar:
udskrive (linje.strip ())

Produktion

Følgende output vises efter kørsel af scriptet.

Eksempel 5: Undtagelseshåndtering med urllib.fejl.URLEfejl

Følgende script viser, hvordan du bruger URLEfejl i Python via urllib.fejl modul. Enhver URL-adresse kan tages som et input fra brugeren. Hvis adressen ikke findes, så er en URLEfejl undtagelsen hæves, og årsagen til fejlen udskrives. Hvis URL-værdien er i et ugyldigt format, så a ValueError hæves, og den brugerdefinerede fejl udskrives.

#!/ usr / bin / env python3
 
# Importer nødvendige moduler
import urllib.anmodning
import urllib.fejl
 
# prøv at blokere for at åbne en URL til læsning
prøve:
url = input ("Indtast enhver URL-adresse:")
svar = urllib.anmodning.urlopen (url)
udskriv (svar.Læs())
 
# Fang den URL-fejl, der genereres, når du åbner en URL
undtagen urllib.fejl.URLEFejl som e:
print ("URL-fejl:", e.grund)
# Fang den ugyldige URL-fejl
undtagen ValueError:
udskriv ("Indtast en gyldig URL-adresse")

Produktion

Scriptet udføres tre gange i følgende skærmbillede. I den første iteration er URL-adressen angivet i et ugyldigt format, der genererer en ValueError. URL-adressen, der er angivet i den anden iteration, findes ikke og genererer en URLError. En gyldig URL-adresse er angivet i den tredje iteration, og så udskrives indholdet af URL'en.

Eksempel 6: Undtagelseshåndtering med urllib.fejl.HTTPError

Følgende script viser, hvordan du bruger HTTPError i Python via urllib.fejl modul. En HTMLError genereres, når den givne URL-adresse ikke findes.

#!/ usr / bin / env python3
# Importer nødvendige moduler
import urllib.anmodning
import urllib.fejl
 
# Tag input enhver gyldig URL
url = input ("Indtast enhver URL-adresse:")
# Send anmodning om URL'en
anmodning = urllib.anmodning.Anmodning (url)
 
prøve:
# Prøv at åbne URL'en
urllib.anmodning.urlopen (anmodning)
print ("URL findes")
undtagen urllib.fejl.HTTPFejl som e:
# Udskriv fejlkoden og årsagen til fejlen
print ("Fejlkode:% d \ nFejlårsag:% s"% (e.kode, e.grund))

Produktion

Her udføres scriptet to gange. Den første URL-adresse taget som input findes, og modulet har udskrevet en besked. Den anden URL-adresse taget som input findes ikke, og modulet har genereret HTTPError.

Konklusion

Denne tutorial diskuterede mange vigtige anvendelser af urllib modul ved hjælp af forskellige eksempler for at hjælpe læserne med at kende funktionerne i dette modul i Python.

Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...
Mus Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
I de senere år har computere og operativsystemer udviklet sig meget. Der var et tidspunkt, hvor brugerne skulle bruge kommandoer til at navigere genne...
Mus Styr og administrer musebevægelse mellem flere skærme i Windows 10
Styr og administrer musebevægelse mellem flere skærme i Windows 10
Dual Display Mouse Manager lader dig kontrollere og konfigurere musebevægelse mellem flere skærme ved at bremse dens bevægelser nær grænsen. Windows 1...