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".
- 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.
- 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)