Hvad er urllib?
urllib er et Python-modul, der kan bruges til at åbne URL'er. Det definerer funktioner og klasser til at hjælpe med URL-handlinger.
Med Python kan du også få adgang til og hente data fra internettet som XML, HTML, JSON osv. Du kan også bruge Python til at arbejde med disse data direkte. I denne vejledning skal vi se, hvordan vi kan hente data fra internettet. For eksempel brugte vi her en guru99-video-URL, og vi vil få adgang til denne video-URL ved hjælp af Python samt udskrive HTML-fil af denne URL.
I denne vejledning lærer vi
- Sådan åbnes URL ved hjælp af Urllib
- Sådan læses HTML-fil til din URL i Python
Sådan åbnes URL ved hjælp af Urllib
Før vi kører koden for at oprette forbindelse til internetdata, skal vi importere erklæring til URL-biblioteksmodul eller "urllib".
- Importer urllib
- Definer din hovedfunktion
- Erklær variablen webUrl
- Ring derefter til urlopen-funktionen i URL lib biblioteket
- URL'en, vi åbner, er guru99-tutorial på youtube
- Dernæst skal vi udskrive resultatkoden
- Resultatkoden hentes ved at kalde getcode-funktionen på den webUrl-variabel, vi har oprettet
- Vi konverterer det til en streng, så den kan sammenkædes med vores streng "resultatkode"
- Dette vil være en almindelig HTTP-kode "200", hvilket indikerer, at http-anmodning behandles med succes
Sådan får du HTML-filformular-URL i Python
Du kan også læse HTML-filen ved hjælp af "læse-funktionen" i Python, og når du kører koden, vises HTML-filen i konsollen.
- Kald læsefunktionen på webURL-variablen
- Læs variabel gør det muligt at læse indholdet af datafiler
- Læs hele indholdet af URL'en i en variabel kaldet data
- Kør koden - Den udskriver dataene i HTML-format
Her er den komplette kode
Python 2-eksempel
## read the data from the URL and print it#import urllib2def main():# open a connection to a URL using urllib2webUrl = urllib2.urlopen("https://www.youtube.com/user/guru99com")#get the result code and print itprint "result code: " + str(webUrl.getcode())# read the data from the URL and print itdata = webUrl.read()print dataif __name__ == "__main__":main()
Python 3 Eksempel
## read the data from the URL and print it#import urllib.request# open a connection to a URL using urllibwebUrl = urllib.request.urlopen('https://www.youtube.com/user/guru99com')#get the result code and print itprint ("result code: " + str(webUrl.getcode()))# read the data from the URL and print itdata = webUrl.read()print (data)