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)


