Python Internetadgang ved hjælp af Urllib.Request og urlopen()

Hvad er urllib?

urllib er en Python modul, der kan bruges til at åbne URL'er. Den definerer funktioner og klasser for at hjælpe med URL-handlinger.

Med Python du kan også få adgang til og hente data fra internettet som XML, HTML, JSON osv. Du kan også bruge Python at arbejde med disse data direkte. I denne tutorial skal vi se, hvordan vi kan hente data fra nettet. For eksempel brugte vi her en guru99 video-URL, og vi vil få adgang til denne video-URL ved hjælp af Python samt udskriv HTML-fil af denne URL.

Sådan åbnes URL ved hjælp af Urllib

Før vi kører koden for at oprette forbindelse til internetdata, skal vi importere erklæring til URL-biblioteksmodul eller "urllib".

Åbn URL ved hjælp af Urllib

  • Importer urllib
  • Definer din hovedfunktion
  • Deklarer variablen webUrl
  • Kald derefter urlopen-funktionen på URL-biblioteket
  • URL'en vi åbner er guru99 tutorial på youtube
  • Dernæst skal vi udskrive resultatkoden
  • Resultatkoden hentes ved at kalde funktionen getcode på den webUrl-variabel, vi har oprettet
  • Vi vil konvertere det til en streng, så det kan sammenkædes med vores streng "resultatkode"
  • Dette vil være en almindelig HTTP-kode "200", hvilket indikerer, at http-anmodningen er behandlet med succes

Sådan får du HTML-filformular URL ind Python

Du kan også læse HTML-filen ved at bruge "læsefunktionen" i Python, og når du kører koden, vises HTML-filen i konsollen.

HTML-filformular URL i Python

  • Kald læsefunktionen på webURL-variablen
  • Læs variabel gør det muligt at læse indholdet af datafiler
  • Læs hele indholdet af URL'en ind i en variabel kaldet data
  • Kør koden - Det vil udskrive dataene i HTML-format

Her er den komplette kode

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)