Python Internett-tilgang med Urllib.Request og urlopen()

Hva er urllib?

urllib er en Python modul som kan brukes til å åpne URL-er. Den definerer funksjoner og klasser for å hjelpe i URL-handlinger.

Med Python du kan også få tilgang til og hente data fra internett som XML, HTML, JSON osv. Du kan også bruke Python å jobbe med disse dataene direkte. I denne opplæringen skal vi se hvordan vi kan hente data fra nettet. For eksempel, her brukte vi en guru99-video-URL, og vi skal få tilgang til denne video-URLen ved å bruke Python samt skrive ut HTML-filen med denne URL-en.

Hvordan åpne URL ved hjelp av Urllib

Før vi kjører koden for å koble til Internett-data, må vi importere setningen for URL-biblioteksmodul eller "urllib".

Åpne URL med Urllib

  • Importer urllib
  • Definer hovedfunksjonen din
  • Deklarer variabelen webUrl
  • Deretter kaller du urlopen-funksjonen på URL-biblioteket
  • Nettadressen vi åpner er guru99 tutorial på youtube
  • Deretter skal vi skrive ut resultatkoden
  • Resultatkoden hentes ved å kalle opp getcode-funksjonen på webUrl-variabelen vi har laget
  • Vi skal konvertere det til en streng, slik at det kan settes sammen med strengen vår "resultatkode"
  • Dette vil være en vanlig HTTP-kode "200", som indikerer at http-forespørselen er behandlet vellykket

Hvordan få HTML-filskjemaet URL inn Python

Du kan også lese HTML-filen ved å bruke "lesefunksjonen" i Python, og når du kjører koden, vil HTML-filen vises i konsollen.

HTML-filskjema URL i Python

  • Kalle lesefunksjonen på webURL-variabelen
  • Les variabel lar deg lese innholdet i datafiler
  • Les hele innholdet i URL-en til en variabel kalt data
  • Kjør koden - Den vil skrive ut dataene i HTML-format

Her er den komplette koden

Python 2 Eksempel

#  
# 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 Eksempel

#
# 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)

Oppsummer dette innlegget med: