Python

Kā lietot Urllib Python

Kā lietot Urllib Python

Python satur moduli ar nosaukumu urllib ar Uniform Resource Locator (URL) saistītu uzdevumu apstrādei. Šis modulis pēc noklusējuma ir instalēts Python 3 un caur. Ielādē dažādu protokolu URL urlopēns () funkciju. Urllib var izmantot daudziem mērķiem, piemēram, vietnes satura lasīšanai, HTTP un HTTPS pieprasījumu veikšanai, pieprasījumu virsrakstu sūtīšanai un atbildes galvenju izgūšanai. The urllib modulis satur daudzus citus moduļus darbam ar URL, piemēram, urllib.pieprasījumu, urllib.parsēt, un urllib.kļūda, starp citiem. Šī apmācība parādīs, kā izmantot Urllib moduli Python.

1. piemērs: URL atvēršana un lasīšana ar urllib.pieprasījumu

The urllib.pieprasījumu modulis satur klases un metodes, kas nepieciešamas jebkura URL atvēršanai un lasīšanai. Šis skripts parāda, kā to izmantot urllib.pieprasījumu moduli, lai atvērtu URL un lasītu URL saturu. Lūk, urlopēns () URL tiek izmantota, lai atvērtu URL:https: // www.linuxhint.com /.”Ja URL ir derīgs, URL saturs tiks saglabāts nosauktajā objekta mainīgajā atbildi. The lasīt () metode atbildi objekts tiek izmantots, lai nolasītu URL saturu.

#!/ usr / bin / env python3
# Urllib importa pieprasījuma modulis
importēt urllib.pieprasījumu
# Atveriet konkrēto URL lasīšanai, izmantojot urlopen ()
atbilde = urllib.pieprasījumu.urlopēns ('https: // www.linuxhint.com / ')
# Izdrukājiet URL atbildes datus
print ("URL izvade ir: \ n \ n", atbilde.lasīt ())

Rezultāts

Pēc skripta palaišanas parādīsies šāda izeja.

2. piemērs: URL parsēšana un atdalīšana ar urllib.parsēt

The urllib.parsēt modulis galvenokārt tiek izmantots, lai sadalītu vai apvienotu dažādus URL komponentus. Šis skripts parāda dažādus urllib.parsēt modulis. Četras funkcijas urllib.parsēt izmanto šādā skriptā ietver urlparse, urlunparse, urlsplit, un urlunsplit. The urlparse modulis darbojas kā urlsplit, un urlunparse modulis darbojas kā urlunsplit. Starp šīm funkcijām ir tikai viena atšķirība; tas ir, urlparse un urlunparse satur papildu parametru ar nosaukumu 'params"sadalīšanai un savienošanas funkcijai. Šeit URL “https: // linuxhint.com / play_sound_python / 'tiek izmantots URL sadalīšanai un pievienošanai.

#!/ usr / bin / env python3
 
# Importējiet urllib parsēšanas moduli
importēt urllib.parsēt
 
# URL parsēšana, izmantojot urlparse ()
urlParse = urllib.parsēt.urlparse ('https: // linuxhint.com / play_sound_python / ')
print ("\ n URL izvads pēc parsēšanas: \ n", urlParse)
 
# Pievienošanās vietrādim URL, izmantojot urlunparse ()
urlUnparse = urllib.parsēt.urlunparse (urlParse)
drukāt ("\ nAtklāšanas URL pievienošanās izeja: \ n", urlUnparse)
 
# Parsēšanas URL, izmantojot urlsplit ()
urlSplit = urllib.parsēt.urlsplit ('https: // linuxhint.com / play_sound_python / ')
drukāt ("\ n URL izvade pēc sadalīšanas: \ n", urlSplit)
 
# Pievienošanās vietrādim URL, izmantojot urlunsplit ()
urlUnsplit = urllib.parsēt.urlunsplit (urlSplit)
drukāt ("\ nSadalošā URL pievienošanās izvade: \ n", urlUnsplit)

Rezultāts

Pēc skripta palaišanas parādīsies šādi četri rezultāti.

3. piemērs: HTML atbildes galvenes lasīšana ar urllib.pieprasījumu

Šis skripts parāda, kā URL atbildes galvenes dažādās daļas var izgūt, izmantojot informācija () metodi. The urllib.pieprasījumu modulis, ko izmanto URL atvēršanai, 'https: // linuxhint.com / python_pause_user_input /,"un šī URL galvenes informācija tiek drukāta, izmantojot informācija () metodi. Nākamā šī skripta daļa parādīs, kā lasīt katru galvenes daļu atsevišķi. Lūk, Serveris, Datums, un Satura tips vērtības tiek izdrukātas atsevišķi.

#!/ usr / bin / env python3
# Urllib importa pieprasījuma modulis
importēt urllib.pieprasījumu
# Atveriet URL lasīšanai
urlResponse = urllib.pieprasījumu.urlopēns ('https: // linuxhint.com / python_pause_user_input / ')
# URL atbildes galvenes izvades lasīšana
drukāt (urlResponse.informācija ())
# Galvenes informācijas lasīšana atsevišķi
print ('Atbildes serveris =', urlResponse.informācija () ["Serveris"])
print ('Atbildes datums ir =', urlResponse.informācija () ["Datums"])
print ('Atbildes satura tips ir =', urlResponse.informācija () ["Content-Type"])

Rezultāts

Pēc skripta palaišanas parādīsies šāda izeja.

4. piemērs: URL atbilžu lasīšana pa rindām

Šajā skriptā tiek izmantota vietējā URL adrese. Šeit - testēšanas HTML fails ar nosaukumu pārbaude.html tiek izveidots atrašanās vietā, var /www / html. Šī faila saturs tiek lasīts pa rindai, izmantojot  priekš cilpa. The sloksne () metodi izmanto, lai noņemtu atstarpi no katras līnijas abām pusēm. Skripta testēšanai varat izmantot jebkuru vietējā servera HTML failu. Programmas saturs pārbaude.html Šajā piemērā izmantotais fails ir norādīts zemāk.

pārbaude.html:



Pārbaudes lapa


#!/ usr / bin / env python3
 
# Importēt urllib.pieprasījuma modulis
importēt urllib.pieprasījumu
 
# Atveriet vietējo URL lasīšanai
atbilde = urllib.pieprasījumu.urlopen ('http: // localhost / test.html ')
 
# Izlasiet URL no atbildes
drukāt ('URL:', atbilde.geturl ())
 
# Lasiet atbildes tekstu pa rindām
drukāt ("\ nLasošs saturs:")
līnijai atbildē:
drukāt (līnija.sloksne ())

Rezultāts

Pēc skripta palaišanas parādīsies šāda izeja.

5. piemērs: izņēmumu apstrāde ar urllib.kļūda.URLError

Šis skripts parāda, kā izmantot URLError Python, izmantojot urllib.kļūda modulis. Jebkuru URL adresi var uztvert kā lietotāja ievadi. Ja adreses nav, tad URLError tiks izcelts izņēmums un tiks izdrukāts kļūdas iemesls. Ja URL vērtība ir nederīgā formātā, a ValueError tiks pacelta un tiks izdrukāta pielāgotā kļūda.

#!/ usr / bin / env python3
 
# Importējiet nepieciešamos moduļus
importēt urllib.pieprasījumu
importēt urllib.kļūda
 
# mēģiniet bloķēt, lai atvērtu jebkuru URL lasīšanai
mēģiniet:
url = input ("Ievadiet jebkuru URL adresi:")
atbilde = urllib.pieprasījumu.urlopēns (URL)
drukāt (atbilde.lasīt ())
 
# Noķeriet URL kļūdu, kas tiks ģenerēta, atverot jebkuru URL
izņemot urllibu.kļūda.Kļūda kā e:
drukāt ("URL Error:", piem.,.iemesls)
# Noķeriet nederīgu URL kļūdu
izņemot ValueError:
drukāt ("Ievadiet derīgu URL adresi")

Rezultāts

Nākamajā ekrānuzņēmumā skripts tiek izpildīts trīs reizes. Pirmajā atkārtojumā URL adrese tiek norādīta nederīgā formātā, ģenerējot ValueError. Otrajā atkārtojumā norādītā URL adrese nepastāv, radot URLE kļūdu. Trešajā atkārtojumā ir norādīta derīga URL adrese, tāpēc tiek drukāts URL saturs.

6. piemērs: izņēmumu apstrāde ar urllib.kļūda.HTTP kļūda

Šis skripts parāda, kā izmantot HTTP kļūda Python, izmantojot urllib.kļūda modulis. An HTMLEkļūda ģenerē, ja norādītā URL adrese nepastāv.

#!/ usr / bin / env python3
# Importējiet nepieciešamos moduļus
importēt urllib.pieprasījumu
importēt urllib.kļūda
 
# Ievadiet jebkuru derīgu URL
url = input ("Ievadiet jebkuru URL adresi:")
# Nosūtīt URL pieprasījumu
pieprasījums = urllib.pieprasījumu.Pieprasījums (URL)
 
mēģiniet:
# Mēģiniet atvērt URL
urllib.pieprasījumu.urlopen (pieprasījums)
drukāt ("URL pastāv")
izņemot urllibu.kļūda.HTTP kļūda kā e:
# Izdrukājiet kļūdas kodu un kļūdas iemeslu
print ("Kļūdas kods:% d \ nKļūdas iemesls:% s"% (piem.kods, e.iemesls))

Rezultāts

Šeit skripts tiek izpildīts divas reizes. Pirmā kā ievadītā URL adrese pastāv, un modulis ir izdrukājis ziņojumu. Otra URL adrese, kas tiek uzskatīta par ievadi, nepastāv, un modulis ir izveidojis HTTP kļūda.

Secinājums

Šajā apmācībā tika apspriesti daudzi svarīgi urllib izmantojot dažādus piemērus, lai palīdzētu lasītājiem uzzināt šī moduļa funkcijas Python.

5 labākie ergonomiskie datoru peles izstrādājumi Linux
Vai ilgstoša datora lietošana izraisa sāpes plaukstas locītavā vai pirkstos? Vai jūs ciešat no stīvām locītavām un jums pastāvīgi ir jāspiež rokas? Va...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...