Hvordan du bruker urllib i python

Hvordan du bruker urllib i python

Python inneholder en modul som heter urllib For håndtering av ensartet ressurslokalisering (URL) -relaterte oppgaver. Denne modulen er installert i Python 3 som standard, og henter nettadresser til forskjellige protokoller via Urlopen () funksjon. Urllib kan brukes til mange formål, for eksempel å lese innhold på nettstedet, lage HTTP- og HTTPS -forespørsler, sende forespørselsoverskrifter og hente svaroverskrifter. De urllib Modulen inneholder mange andre moduler for å jobbe med URL -er, for eksempel urllib.be om, urllib.analyser, og urllib.feil, blant andre. Denne opplæringen vil vise deg hvordan du bruker Urllib -modulen i Python.

Eksempel 1: Åpne og lese nettadresser med urllib.be om

De urllib.be om Modulen inneholder klasser og metoder som kreves for å åpne og lese hvilken som helst URL. Følgende skript viser hvordan du bruker urllib.be om modul for å åpne en URL og for å lese innholdet i nettadressen. Her, The Urlopen () Metoden brukes til å åpne nettadressen, "https: // www.Linuxhint.com/.”Hvis nettadressen er gyldig, vil innholdet i nettadressen lagres i objektvariabelen som er navngitt respons. De lese() metode for respons Objekt brukes deretter til å lese innholdet i nettadressen.

#!/usr/bin/env python3
# Importforespørselsmodulen til urllib
Importer urllib.be om
# Åpne den spesifikke URL -en for lesing ved hjelp av Urlopen ()
Response = urllib.be om.Urlopen ('https: // www.Linuxhint.com/')
# Skriv ut svardataene til nettadressen
Print ("Utgangen til nettadressen er: \ n \ n", svar.lese())

Produksjon

Følgende utgang vises etter å ha kjørt skriptet.

Eksempel 2: Parsing og uoverensstemmende nettadresser med urllib.analyser

De urllib.analyser Modul brukes først og fremst til å dele fra hverandre eller slå sammen de forskjellige komponentene i en URL. Følgende skript viser forskjellige bruksområder av urllib.analyser modul. De fire funksjonene til urllib.analyser brukt i følgende skript inkluderer urlparse, Urlunparse, URLSPLIT, og Urlunsplit. De urlparse Modul fungerer som URLSPLIT, og Urlunparse Modul fungerer som Urlunsplit. Det er bare en forskjell mellom disse funksjonene; det er, urlparse og Urlunparse inneholder en ekstra parameter som heter 'params'For splitting og sammenføyningsfunksjonen. Her, url 'https: // linuxhint.com/play_sound_python/'brukes til splitting og sammenføyning av nettadressen.

#!/usr/bin/env python3
# Importer parse -modul av urllib
Importer urllib.analyser
# Parsing URL ved hjelp av URLParse ()
urlparse = urllib.analyser.urlparse ('https: // linuxhint.com/play_sound_python/')
print ("\ n utgangen av URL etter parsing: \ n", urlparse)
# Bli med på URL ved hjelp av Urlunparse ()
urlunparse = urllib.analyser.urlunparse (urlparse)
print ("\ nthe sammenføyning av parsing url: \ n", urlunparse)
# Parsing URL ved hjelp av URLSplit ()
URLSPLIT = urllib.analyser.URLSPLIT ('https: // linuxhint.com/play_sound_python/')
print ("\ n utgangen av URL etter splitting: \ n", urlsplit)
# Bli med på URL ved hjelp av Urlunsplit ()
urlunsplit = urllib.analyser.urlunsplit (urlsplit)
print ("\ nthe sammenføyning av utdata av splitting url: \ n", urlunsplit)

Produksjon

Følgende fire utganger vises etter å ha kjørt skriptet.

Eksempel 3: Reading Response Header of HTML med urllib.be om

Følgende skript viser hvordan de forskjellige delene av reaksjonstideren til nettadressen kan hentes via info () metode. De urllib.be om modulen pleide å åpne nettadressen, 'https: // linuxhint.com/python_pause_user_input/,'Og overskriftenes informasjon om denne nettadressen skrives ut via info () metode. Den neste delen av dette skriptet vil vise deg hvordan du kan lese hver del av overskriften hver for seg. Her, The Server, Dato, og Innholdstype Verdiene skrives ut separat.

#!/usr/bin/env python3
# Importforespørselsmodulen til urllib
Importer urllib.be om
# Åpne nettadressen for lesing
UrlResponse = urllib.be om.urlopen ('https: // linuxhint.com/python_pause_user_input/')
# Lesesvaret
Print (UrlResponse.info ())
# Leseinformasjon separat
print ('responserver =', urlResponse.info () ["server"])
utskrift ('Responsdato er =', urlResponse.info () ["dato"])
trykk ('svarinnholdstype er =', urlResponse.info () ["innholdstype"])

Produksjon

Følgende utgang vises etter å ha kjørt skriptet.

Eksempel 4: Lese URL -svar linje for linje

En lokal URL -adresse brukes i følgende skript. Her en testing HTML -fil som heter test.html er opprettet på stedet, var/www/html. Innholdet i denne filen er lest linje for linje via til Løkke. De stripe () Metoden brukes deretter til å fjerne plassen fra begge sider av hver linje. Du kan bruke hvilken som helst HTML -fil fra den lokale serveren for å teste skriptet. Innholdet i test.html Filen som brukes i dette eksemplet er gitt nedenfor.

test.html:



Testeside


#!/usr/bin/env python3
# Importer urllib.forespørsel modul
Importer urllib.be om
# Åpne en lokal URL for lesing
Response = urllib.be om.Urlopen ('http: // localhost/test.html ')
# Les nettadressen fra svar
trykk ('URL:', svar.getUrl ())
# Les svarets tekstlinje for linje
print ("\ nreading innhold:")
for linje som svar:
trykk (linje.strip ())

Produksjon

Følgende utgang vises etter å ha kjørt skriptet.

Eksempel 5: Unntakshåndtering med urllib.feil.Urlerror

Følgende skript viser hvordan du bruker Urlerror i Python via urllib.feil modul. Enhver URL -adresse kan tas som en inngang fra brukeren. Hvis adressen ikke eksisterer, så en Urlerror Unntak vil bli reist, og årsaken til feilen vil skrives ut. Hvis verdien av nettadressen er i et ugyldig format, så a ValueError vil bli reist og den tilpassede feilen vil skrives ut.

#!/usr/bin/env python3
# Importer nødvendige moduler
Importer urllib.be om
Importer urllib.feil
# Prøv blokkering for å åpne hvilken som helst URL for lesing
prøve:
URL = input ("Angi hvilken som helst URL -adresse:")
Response = urllib.be om.Urlopen (URL)
trykk (svar.lese())
# Fang URL -feilen som vil generere når du åpner URL
unntatt urllib.feil.Urlerror som E:
skriv ut ("URL -feil:", e.grunnen til)
# Fang den ugyldige URL -feilen
unntatt ValueError:
Skriv ut ("Skriv inn en gyldig URL -adresse")

Produksjon

Skriptet utføres tre ganger i følgende skjermbilde. I den første iterasjonen er URL -adressen gitt i et ugyldig format, og genererer en ValueError. URL -adressen gitt i den andre iterasjonen eksisterer ikke, og genererer en urlerror. En gyldig URL -adresse er gitt i den tredje iterasjonen, og derfor skrives innholdet i URL -en.

Eksempel 6: Unntakhåndtering med urllib.feil.Httperror

Følgende skript viser hvordan du bruker Httperror i Python via urllib.feil modul. An Htmlerror genererer når den gitte URL -adressen ikke eksisterer.

#!/usr/bin/env python3
# Importer nødvendige moduler
Importer urllib.be om
Importer urllib.feil
# Ta inn en gyldig url
URL = input ("Angi hvilken som helst URL -adresse:")
# Send forespørsel om nettadressen
forespørsel = urllib.be om.Forespørsel (URL)
prøve:
# Prøv å åpne nettadressen
urllib.be om.Urlopen (forespørsel)
Print ("URL eksisterer")
unntatt urllib.feil.Httperror som e:
# Skriv ut feilkoden og feilårsaken
Print ("Feilkode:%d \ nerror Årsak:%s"%(e.kode, e.grunnen til))

Produksjon

Her utføres skriptet to ganger. Den første URL -adressen tatt som inngangen eksisterer, og modulen har skrevet ut en melding. Den andre URL -adressen tatt som inngangen ikke eksisterer, og modulen har generert Httperror.

Konklusjon

Denne opplæringen diskuterte mange viktige bruksområder av urllib modul ved å bruke forskjellige eksempler for å hjelpe leserne til å kjenne funksjonene til denne modulen i Python.