Što je urllib?
urllib je Python modul koji se može koristiti za otvaranje URL-ova. Definira funkcije i klase koje pomažu u URL radnjama.
Pomoću Pythona također možete pristupiti i dohvatiti podatke s Interneta poput XML-a, HTML-a, JSON-a itd. Također možete koristiti Python za izravan rad s tim podacima. U ovom uputstvu vidjet ćemo kako možemo dohvatiti podatke s weba. Na primjer, ovdje smo koristili guru99 video URL i pristupit ćemo tom URL-u videozapisa pomoću Pythona, kao i ispisati HTML datoteku ovog URL-a.
U ovom uputstvu ćemo naučiti
- Kako otvoriti URL pomoću Urlliba
- Kako čitati HTML datoteku za vaš URL u Pythonu
Kako otvoriti URL pomoću Urlliba
Prije nego što pokrenemo kod za povezivanje s internetskim podacima, moramo uvesti izjavu za modul biblioteke URL-a ili "urllib".
- Uvezi urllib
- Definirajte svoju glavnu funkciju
- Proglasite varijablu webUrl
- Zatim pozovite funkciju urlopen u biblioteci URL lib
- URL koji otvaramo je vodič za guru99 na youtubeu
- Dalje, ispisat ćemo šifru rezultata
- Kôd rezultata dobiva se pozivom funkcije getcode na webUrl varijabli koju smo stvorili
- To ćemo pretvoriti u niz, tako da se može povezati s našim nizom "kod rezultata"
- Ovo će biti uobičajeni HTTP kôd "200", što znači da je http zahtjev uspješno obrađen
Kako dobiti URL obrasca HTML datoteke u Pythonu
HTML datoteku možete pročitati i pomoću "funkcije čitanja" u Pythonu, a kada pokrenete kôd, HTML datoteka će se pojaviti u konzoli.
- Pozovite funkciju čitanja na varijablu webURL
- Čitajuća varijabla omogućuje čitanje sadržaja podatkovnih datoteka
- Pročitajte cjelokupni sadržaj URL-a u varijablu koja se naziva podaci
- Pokrenite kod - Ispisat će podatke u HTML formatu
Evo kompletnog koda
Primjer Pythona 2
## 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()
Primjer Pythona 3
## 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)