Python Dostęp do Internetu za pomocą Urllib.Request i urlopen()
Co to jest urllib?
urllib jest Python moduł, którego można używać do otwierania adresów URL. Definiuje funkcje i klasy pomagające w akcjach URL.
Wraz z Python możesz także uzyskać dostęp i pobrać dane z Internetu, takie jak XML, HTML, JSON itp. Możesz także użyć Python do bezpośredniej pracy z tymi danymi. W tym samouczku zobaczymy, jak możemy odzyskać dane z Internetu. Na przykład tutaj użyliśmy adresu URL filmu guru99 i uzyskamy dostęp do tego adresu URL filmu za pomocą Python a także wydrukuj plik HTML tego adresu URL.
Jak otworzyć adres URL za pomocą Urllib
Zanim uruchomimy kod umożliwiający połączenie z danymi internetowymi, należy zaimportować instrukcję dla modułu biblioteki URL czyli „urllib”.
- Zaimportuj urllib
- Zdefiniuj swoją główną funkcję
- Zadeklaruj zmienną webUrl
- Następnie wywołaj funkcję urlopen w bibliotece URL lib
- Otwieramy adres URL guru99 tutorial na youtube
- Następnie wydrukujemy kod wyniku
- Kod wynikowy pobieramy wywołując funkcję getcode na utworzonej przez nas zmiennej webUrl
- Zamierzamy przekonwertować to na ciąg znaków, aby można go było połączyć z naszym ciągiem „kodem wyniku”
- Będzie to zwykły kod HTTP „200”, wskazujący, że żądanie http zostało pomyślnie przetworzone
Jak uzyskać adres URL formularza pliku HTML w Python
Możesz także przeczytać plik HTML, korzystając z „funkcji odczytu” w Python, a po uruchomieniu kodu plik HTML pojawi się w konsoli.
- Wywołaj funkcję read w zmiennej webURL
- Zmienna odczytu pozwala na odczytanie zawartości plików danych
- Wczytaj całą zawartość adresu URL do zmiennej zwanej danymi
- Uruchom kod — wydrukuje dane w formacie HTML
Oto pełny kod
Python 2 Przykład
# # read the data from the URL and print it # import urllib2 def main(): # open a connection to a URL using urllib2 webUrl = urllib2.urlopen("https://www.youtube.com/user/guru99com") #get the result code and print it print "result code: " + str(webUrl.getcode()) # read the data from the URL and print it data = webUrl.read() print data if __name__ == "__main__": main()
Python 3 Przykład
# # read the data from the URL and print it # import urllib.request # open a connection to a URL using urllib webUrl = urllib.request.urlopen('https://www.youtube.com/user/guru99com') #get the result code and print it print ("result code: " + str(webUrl.getcode())) # read the data from the URL and print it data = webUrl.read() print (data)