Kaj je urllib?
urllib je modul Python, ki se lahko uporablja za odpiranje URL-jev. Določa funkcije in razrede za pomoč pri akcijah URL.
S Pythonom lahko tudi dostopate do podatkov in jih pridobivate iz interneta, kot so XML, HTML, JSON itd. Za neposredno delo s temi podatki lahko uporabite tudi Python. V tej vadnici bomo videli, kako lahko pridobimo podatke iz spleta. Tu smo na primer uporabili URL videoposnetka guru99 in do tega URL-ja videoposnetka bomo dostopali s pomočjo Pythona ter natisnili datoteko HTML tega URL-ja.
V tej vadnici se bomo naučili
- Kako odpreti URL s pomočjo Urllib
- Kako prebrati datoteko HTML za vaš URL v Pythonu
Kako odpreti URL s pomočjo Urllib
Preden zaženemo kodo za povezavo z internetnimi podatki, moramo uvoziti stavek za modul knjižnice URL ali "urllib".
- Uvozi urllib
- Določite svojo glavno funkcijo
- Navedite spremenljivko webUrl
- Nato pokličite funkcijo urlopen v knjižnici URL lib
- URL, ki ga odpiramo, je vadnica guru99 na youtubu
- Nato bomo natisnili kodo rezultata
- Kodo rezultata dobimo s klicem funkcije getcode v spremenljivki webUrl, ki smo jo ustvarili
- To bomo pretvorili v niz, tako da ga bomo lahko povezali z našim nizom "kodo rezultata"
- To bo običajna koda HTTP "200", kar pomeni, da je http zahteva uspešno obdelana
Kako pridobiti URL obrazca datoteke HTML v Pythonu
Datoteko HTML lahko preberete tudi z uporabo funkcije branja v Pythonu, in ko zaženete kodo, se datoteka HTML prikaže v konzoli.
- Pokličite funkcijo branja v spremenljivki webURL
- Spremenljivka Read omogoča branje vsebine podatkovnih datotek
- Preberite celotno vsebino URL-ja v spremenljivko, imenovano data
- Zaženite kodo - Podatke bo natisnila v obliki HTML
Tu je celotna koda
Python 2 Primer
## 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 Primer
## 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)