Python Internetåtkomst med Urllib.Request och urlopen()

Vad är urllib?

urllib är en Python modul som kan användas för att öppna webbadresser. Den definierar funktioner och klasser för att hjälpa till med URL-åtgärder.

Med Python du kan också komma åt och hämta data från internet som XML, HTML, JSON, etc. Du kan också använda Python att arbeta med denna data direkt. I den här handledningen ska vi se hur vi kan hämta data från webben. Till exempel, här använde vi en guru99 video URL, och vi kommer att komma åt denna video URL med hjälp av Python samt skriva ut HTML-filen för denna URL.

Hur man öppnar URL med Urllib

Innan vi kör koden för att ansluta till Internetdata måste vi importera uttalande för URL-biblioteksmodul eller "urllib".

Öppna URL med Urllib

  • Importera urllib
  • Definiera din huvudfunktion
  • Deklarera variabeln webUrl
  • Anropa sedan urlopen-funktionen på URL-biblioteket
  • Webbadressen vi öppnar är guru99 tutorial på youtube
  • Därefter ska vi skriva ut resultatkoden
  • Resultatkoden hämtas genom att anropa getcode-funktionen på webUrl-variabeln vi har skapat
  • Vi kommer att konvertera det till en sträng, så att det kan sammanfogas med vår sträng "resultatkod"
  • Detta kommer att vara en vanlig HTTP-kod "200", vilket indikerar att http-begäran har bearbetats framgångsrikt

Hur man hämtar URL-adressen till HTML-filen Python

Du kan också läsa HTML-filen genom att använda "läsfunktionen" i Python, och när du kör koden visas HTML-filen i konsolen.

HTML-filformulär URL in Python

  • Anropa läsfunktionen på webURL-variabeln
  • Läsvariabel gör det möjligt att läsa innehållet i datafiler
  • Läs in hela innehållet i webbadressen till en variabel som kallas data
  • Kör koden - Det kommer att skriva ut data i HTML-format

Här är den fullständiga koden

Python 2 Exempel

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

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