„Python“

Kaip naudoti „Urllib“ „Python“

Kaip naudoti „Urllib“ „Python“

„Python“ yra modulis, pavadintas urllib tvarkyti su „Uniform Resource Locator“ (URL) susijusias užduotis. Šis modulis yra įdiegtas „Python 3“ pagal numatytuosius nustatymus ir per. Pateikia įvairių protokolų URL urlopenas () funkcija. „Urllib“ gali būti naudojamas įvairiems tikslams, pavyzdžiui, skaityti svetainės turinį, teikti HTTP ir HTTPS užklausas, siųsti užklausų antraštes ir gauti atsakymų antraštes. The urllib modulyje yra daugybė kitų modulių, skirtų dirbti su URL, pvz., urllib.prašymą, urllib.analizuoti, ir urllib.klaida, tarp kitų. Ši pamoka parodys, kaip naudoti „Urllib“ modulį „Python“.

1 pavyzdys: URL atidarymas ir skaitymas naudojant „urllib“.prašymą

The urllib.prašymą modulyje yra klasės ir metodai, reikalingi norint atidaryti ir perskaityti bet kurį URL. Šis scenarijus parodo, kaip naudoti urllib.prašymą modulis, skirtas atidaryti URL ir perskaityti URL turinį. Čia, urlopenas () metodas naudojamas URL atidaryti,https: // www.linuxhint.com /.“Jei URL yra tinkamas, tada URL turinys bus saugomas objekto kintamajame, pavadintame atsakymą. The skaityti () metodas atsakymą tada objektas naudojamas URL turiniui nuskaityti.

#!/ usr / bin / env python3
# „Urllib“ importo užklausos modulis
importuoti urllib.prašymą
# Atidarykite konkretų URL, kurį norite skaityti naudodami „urlopen“ ()
atsakymas = urllib.prašymą.urlopenas ('https: // www.linuxhint.com / ')
# Atspausdinkite URL atsakymo duomenis
spausdinti ("URL išvestis yra: \ n \ n", atsakymas.skaityti ())

Rezultatas

Ši išvestis pasirodys paleidus scenarijų.

2 pavyzdys: URL analizavimas ir pašalinimas naudojant urllib.analizuoti

The urllib.analizuoti modulis pirmiausia naudojamas suskaidyti arba sujungti skirtingus URL komponentus. Šis scenarijus parodo skirtingus urllib.analizuoti modulis. Keturios funkcijos urllib.analizuoti naudojamas šiame scenarijuje apima urlparse, urlunparse, urlsplit, ir urlunsplit. The urlparse modulis veikia kaip urlsplit, ir urlunparse modulis veikia kaip urlunsplit. Tarp šių funkcijų yra tik vienas skirtumas; tai yra, urlparse ir urlunparse yra papildomas parametras pavadinimu „params„padalijimui ir sujungimo funkcijai. Čia URL 'https: // linuxhint.com / play_sound_python / 'naudojamas URL padalijimui ir sujungimui.

#!/ usr / bin / env python3
 
# Importuoti urllib analizės modulį
importuoti urllib.analizuoti
 
# URL analizavimas naudojant „urlparse“ ()
urlParse = urllib.analizuoti.urlparse ('https: // linuxhint.com / play_sound_python / ')
spausdinti ("\ n URL išvestis išanalizavus: \ n", urlParse)
 
# Prisijungimas prie URL naudojant „urlunparse“ ()
urlUnparse = urllib.analizuoti.urlunparse (urlParse)
spausdinti ("\ nJungimo išvestis analizuojant URL: \ n", urlUnparse)
 
# Analizuojamas URL naudojant „urlsplit“ ()
urlSplit = urllib.analizuoti.urlsplit ('https: // linuxhint.com / play_sound_python / ')
spausdinti ("\ n URL išvestis padalijus: \ n", urlSplit)
 
# Prisijungimas prie URL naudojant „urlunsplit“ ()
urlUnsplit = urllib.analizuoti.urlunsplit (urlSplit)
spausdinti ("\ nDalijančio URL jungiamasis išvestis: \ n", urlUnsplit)

Rezultatas

Šie keturi išėjimai bus rodomi paleidus scenarijų.

3 pavyzdys: HTML atsakymo antraštės su urllib skaitymas.prašymą

Šis scenarijus parodo, kaip galima rasti skirtingas URL atsakymo antraštės dalis per informacija () metodas. The urllib.prašymą modulis, naudojamas URL atidaryti “https: // linuxhint.com / python_pause_user_input /,"ir šio URL antraštės informacija spausdinama per informacija () metodas. Kitoje šio scenarijaus dalyje bus parodyta, kaip skaityti kiekvieną antraštės dalį atskirai. Čia, Serveris, Data, ir Turinio tipas reikšmės spausdinamos atskirai.

#!/ usr / bin / env python3
# „Urllib“ importo užklausos modulis
importuoti urllib.prašymą
# Atidarykite skaitymo URL
urlResponse = urllib.prašymą.urlopenas ('https: // linuxhint.com / python_pause_user_input / ')
# URL atsakymo antraštės išvesties skaitymas
spausdinti (urlResponse.informacija ())
# Antraštės informacijos skaitymas atskirai
print ('Atsakymo serveris =', urlResponse.informacija () [„Serveris“])
spausdinti ('Atsakymo data =', urlResponse.informacija () ["Data"])
spausdinti ('Atsakymo turinio tipas yra =', urlResponse.informacija () [„Turinio tipas“])

Rezultatas

Ši išvestis pasirodys paleidus scenarijų.

4 pavyzdys: URL atsakymų skaitymas eilutėmis

Šiame scenarijuje naudojamas vietinis URL adresas. Čia bandomasis HTML failas pavadintas testas.HTML yra sukurtas toje vietoje, var /www / html. Šio failo turinys skaitomas eilutėmis per  dėl kilpa. The juosta () metodas yra naudojamas pašalinti vietą iš abiejų kiekvienos linijos pusių. Norėdami išbandyti scenarijų, galite naudoti bet kurį HTML failą iš vietinio serverio. Programos turinys testas.HTML Šiame pavyzdyje naudojamas failas pateiktas žemiau.

testas.HTML:



Testuojamas puslapis


#!/ usr / bin / env python3
 
# Importuoti urllib.užklausos modulis
importuoti urllib.prašymą
 
# Atidarykite vietinį URL skaitymui
atsakymas = urllib.prašymą.urlopenas ('http: // localhost / test.html ')
 
# Perskaitykite atsakymo URL
spausdinti ('URL:', atsakymas.geturl ()
 
# Skaitykite atsakymo tekstą eilutėje
spausdinti ("\ nSkaitymo turinys:")
eilutei atsakant:
spausdinti (eilutė.juosta ())

Rezultatas

Ši išvestis pasirodys paleidus scenarijų.

5 pavyzdys: Išimčių tvarkymas naudojant urllib.klaida.URLError

Šis scenarijus parodo, kaip naudoti URLError „Python“ per urllib.klaida modulis. Bet kurį URL adresą galima laikyti vartotojo įvestimi. Jei adreso nėra, tada URLError išimtis bus iškelta ir bus atspausdinta klaidos priežastis. Jei URL vertė neteisingo formato, tada a „ValueError“ bus iškeltas ir atspausdins pasirinktinę klaidą.

#!/ usr / bin / env python3
 
# Importuokite būtinus modulius
importuoti urllib.prašymą
importuoti urllib.klaida
 
# pabandykite užblokuoti, kad atidarytumėte bet kurį URL skaitymui
bandyti:
url = input ("Įveskite bet kurį URL adresą:")
atsakymas = urllib.prašymą.urlopenas (URL)
spausdinti (atsakymas.skaityti ())
 
# Pagaukite URL klaidą, kuri sugeneruos atidarant bet kurį URL
išskyrus urllibą.klaida.URLError as e:
spausdinti („URL Error:“, t. y.priežastis)
# Pagaukite neteisingą URL klaidą
išskyrus „ValueError“:
spausdinti („Įveskite galiojantį URL adresą“)

Rezultatas

Šioje ekrano kopijoje scenarijus vykdomas tris kartus. Pirmoje iteracijoje URL adresas nurodomas netinkamu formatu, sukuriant „ValueError“. Antroje iteracijoje nurodyto URL adreso nėra, todėl generuojama URLE klaida. Tinkamas URL adresas nurodomas trečioje iteracijoje, todėl URL turinys yra atspausdintas.

6 pavyzdys: Išimčių tvarkymas naudojant urllib.klaida.HTTP klaida

Šis scenarijus parodo, kaip naudoti HTTP klaida „Python“ per urllib.klaida modulis. An HTMLE klaida generuoja, kai nurodyto URL adreso nėra.

#!/ usr / bin / env python3
# Importuokite būtinus modulius
importuoti urllib.prašymą
importuoti urllib.klaida
 
# Įveskite galiojantį URL
url = input ("Įveskite bet kurį URL adresą:")
# Siųsti URL užklausą
prašymas = urllib.prašymą.Užklausa (URL)
 
bandyti:
# Pabandykite atidaryti URL
urllib.prašymą.urlopenas (prašymas)
spausdinti („URL egzistuoja“)
išskyrus urllibą.klaida.HTTP klaida kaip e:
# Spausdinkite klaidos kodą ir klaidos priežastį
spausdinti ("Klaidos kodas:% d \ nKlaidos priežastis:% s"% (pvz.kodas, el.priežastis))

Rezultatas

Čia scenarijus vykdomas du kartus. Pirmasis įvesties URL adresas egzistuoja ir modulis išspausdino pranešimą. Antrojo URL adreso, kuris laikomas įvestimi, nėra ir modulis sukūrė HTTP klaida.

Išvada

Šioje pamokoje buvo aptarta daug svarbių urllib modulis, naudodamas įvairius pavyzdžius, kurie padės skaitytojams sužinoti šio modulio funkcijas „Python“.

Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...
„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...
Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...