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: