Python

Kuidas kasutada Urllibi Pythonis

Kuidas kasutada Urllibi Pythonis

Python sisaldab moodulit nimega urllib ühtse ressursilokaatoriga (URL) seotud ülesannete käitlemiseks. See moodul on vaikimisi Python 3-sse installitud ja tõmbab erinevate protokollide URL-id urlopeen () funktsioon. Urllibi saab kasutada mitmel otstarbel, näiteks veebisaidi sisu lugemiseks, HTTP- ja HTTPS-päringute tegemiseks, päringute päiste saatmiseks ja vastuste päiste hankimiseks. The urllib moodul sisaldab palju muid mooduleid URL-idega töötamiseks, näiteks urllib.taotlus, urllib.sõeluma, ja urllib.viga, teiste hulgas. See õpetus näitab teile, kuidas Pythonis kasutada moodulit Urllib.

Näide 1: URL-ide avamine ja lugemine urllibiga.taotlus

The urllib.taotlus moodul sisaldab kõiki URL-ide avamiseks ja lugemiseks vajalikke klasse ja meetodeid. Järgmine skript näitab, kuidas seda kasutada urllib.taotlus moodul URL-i avamiseks ja URL-i sisu lugemiseks. Siin, urlopeen () URL-i avamiseks kasutatakse meetodit “https: // www.linuxhint.com /."Kui URL on kehtiv, salvestatakse URL-i nimemuutuja URL-i sisu vastus. The loe () meetod vastus objekti kasutatakse seejärel URL-i sisu lugemiseks.

#!/ usr / bin / env python3
# Urllibi imporditaotluse moodul
importige urllib.taotlus
# Avage konkreetne URL lugemiseks urlopeni () abil
vastus = urllib.taotlus.urlopen ('https: // www.linuxhint.com / ')
# Printige URL-i vastuse andmed
print ("URL-i väljund on: \ n \ n", vastus.loe ()

Väljund

Pärast skripti käivitamist ilmub järgmine väljund.

Näide 2: URL-ide parsimine ja tühistamine urllibiga.sõeluma

The urllib.sõeluma moodulit kasutatakse peamiselt URL-i erinevate komponentide lahutamiseks või ühendamiseks. Järgmine skript näitab programmi erinevaid kasutusviise urllib.sõeluma moodul. Neli funktsiooni urllib.sõeluma järgmises skriptis kasutatud urlparse, urlunparse, urlsplit, ja urlunsplit. The urlparse moodul töötab nagu urlsplit, ja urlunparse moodul töötab nagu urlunsplit. Nende funktsioonide vahel on ainult üks erinevus; see on, urlparse ja urlunparse sisaldavad täiendavat parameetrit nimegaparams'jagamise ja ühendamise funktsiooni jaoks. Siin URL-i 'https: // linuxhint.com / play_sound_python / 'kasutatakse URL-i jagamiseks ja ühendamiseks.

#!/ usr / bin / env python3
 
# Importige urllibi sõelumismoodul
importige urllib.sõeluma
 
# URL-i sõelumine URL-i () abil
urlParse = urllib.sõeluma.urlparse ('https: // linuxhint.com / play_sound_python / ')
print ("\ n URL-i väljund pärast sõelumist: \ n", urlParse)
 
# URL-iga liitumine urlunparse () abil
urlUnparse = urllib.sõeluma.urlunparse (urlParse)
print ("\ n URL-i sõelumise ühendav väljund: \ n", urlUnparse)
 
# URL-i sõelumine URL-i () abil
urlSplit = urllib.sõeluma.urlsplit ('https: // linuxhint.com / play_sound_python / ')
print ("\ n URL-i väljund pärast jagamist: \ n", urlSplit)
 
# URL-iga liitumine urlunspliti () abil
urlUnsplit = urllib.sõeluma.urlunsplit (urlSplit)
print ("\ nLõhustava URL-i ühendav väljund: \ n", urlUnsplit)

Väljund

Pärast skripti käivitamist ilmuvad järgmised neli väljundit.

Näide 3: HTML-i vastuse päise lugemine urllibiga.taotlus

Järgmine skript näitab, kuidas URL-i vastuse päise erinevaid osi saab info () meetod. The urllib.taotlus URL-i avamiseks kasutatud moodul, "https: // linuxhint.com / python_pause_user_input /,"ja selle URL-i päise teave prinditakse info () meetod. Selle skripti järgmine osa näitab teile, kuidas päise iga osa eraldi lugeda. Siin, Server, Kuupäev, ja Sisu tüüp väärtused trükitakse eraldi.

#!/ usr / bin / env python3
# Urllibi imporditaotluse moodul
importige urllib.taotlus
# Avage lugemiseks URL
urlResponse = urllib.taotlus.urlopen ('https: // linuxhint.com / python_pause_user_input / ')
# URL-i vastuse päise väljundi lugemine
print (urlResponse.info ())
# Päise teabe eraldi lugemine
print ('Vastusserver =', urlResponse.teave () ["Server"])
print ('Vastuse kuupäev on =', urlResponse.teave () ["kuupäev"])
print ('Vastuse sisutüüp on =', urlResponse.teave () ["Sisu tüüp"])

Väljund

Pärast skripti käivitamist ilmub järgmine väljund.

Näide 4: URL-i vastuste lugemine rea kaupa

Järgmises skriptis kasutatakse kohalikku URL-i aadressi. Siin testiv HTML-fail nimega test.HTML on loodud asukohas, var /www / html. Selle faili sisu loetakse rea kaudu rea kaudu  eest silmus. The riba () meetodit kasutatakse siis ruumi eemaldamiseks iga rea ​​mõlemalt küljelt. Skripti testimiseks võite kasutada mis tahes kohaliku serveri HTML-faili. Programmi sisu test.HTML Selles näites kasutatud fail on toodud allpool.

test.HTML:



Lehe testimine


#!/ usr / bin / env python3
 
# Importige urllib.päringu moodul
importige urllib.taotlus
 
# Avage lugemiseks kohalik URL
vastus = urllib.taotlus.urlopen ('http: // localhost / test.HTML ')
 
# Lugege vastusest URL-i
print ('URL:', vastus.geturl ())
 
# Lugege vastuse teksti rea kaupa
print ("\ nSisu lugemine:")
reale vastuseks:
print (rida.riba ())

Väljund

Pärast skripti käivitamist ilmub järgmine väljund.

Näide 5: Erandite käsitlemine urllibiga.viga.URLEviga

Järgmine skript näitab, kuidas URLEviga Pythonis urllib.viga moodul. Mis tahes URL-aadressi võib võtta kasutaja sisendina. Kui aadressi pole olemas, siis an URLEviga erand tõuseb ja vea põhjus prinditakse. Kui URL-i väärtus on vales vormingus, siis a ValueError tõstetakse üles ja prinditakse kohandatud viga.

#!/ usr / bin / env python3
 
# Impordi vajalikud moodulid
importige urllib.taotlus
importige urllib.viga
 
# proovige blokeerida, et avada mis tahes URL lugemiseks
proovige:
url = input ("Sisestage mis tahes URL-i aadress:")
vastus = urllib.taotlus.urlopeen (url)
print (vastus.loe ()
 
# Püüdke URL-i viga, mis tekib mis tahes URL-i avamisel
välja arvatud urllib.viga.URLEviga kui e:
print ("URL-i viga:", nt.põhjus)
# Püüdke vale URL-i viga
välja arvatud ValueError:
print ("Sisestage kehtiv URL-aadress")

Väljund

Skript käivitatakse järgmisel ekraanipildil kolm korda. Esimesel iteratsioonil antakse URL-i aadress vales vormingus, genereerides ValueErrori. Teises iteratsioonis antud URL-i aadressi pole olemas, genereerides URLEvea. Kolmandas iteratsioonis antakse kehtiv URL-aadress ja nii prinditakse URL-i sisu.

Näide 6: Erandite käsitlemine urllibiga.viga.HTTPviga

Järgmine skript näitab, kuidas HTTPViga Pythonis urllib.viga moodul. An HTMLEviga genereeritakse, kui antud URL-i aadressi pole olemas.

#!/ usr / bin / env python3
# Impordi vajalikud moodulid
importige urllib.taotlus
importige urllib.viga
 
# Sisestage kehtiv URL
url = input ("Sisestage mis tahes URL-i aadress:")
# Saada URL-i taotlus
taotlus = urllib.taotlus.Taotlus (URL)
 
proovige:
# Proovige avada URL
urllib.taotlus.urlopen (taotlus)
print ("URL on olemas")
välja arvatud urllib.viga.HTTPviga kui e:
# Printige veakood ja vea põhjus
print ("Veakood:% d \ nVea põhjus:% s"% (nt.kood, e.põhjus))

Väljund

Siin käivitatakse skript kaks korda. Esimene sisendina võetud URL-aadress on olemas ja moodul on printinud sõnumi. Teist sisendina võetud URL-i aadressi pole olemas ja moodul on selle loonud HTTPViga.

Järeldus

Selles õpetuses arutleti paljude oluliste kasutusviiside üle urllib moodulit, kasutades erinevaid näiteid, et aidata lugejal selle Pythoni mooduli funktsioone tundma õppida.

5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...
League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...