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


