Python Internet-yhteys käyttämällä Urllib.Request ja urlopen()
Mikä on urllib?
urllib on a Python moduuli, jota voidaan käyttää URL-osoitteiden avaamiseen. Se määrittelee funktioita ja luokkia auttamaan URL-toiminnoissa.
Kanssa Python voit myös käyttää ja hakea tietoja Internetistä, kuten XML, HTML, JSON jne. Voit myös käyttää Python käsitellä näitä tietoja suoraan. Tässä opetusohjelmassa aiomme nähdä, kuinka voimme hakea tietoja verkosta. Esimerkiksi tässä käytimme guru99-videon URL-osoitetta, ja aiomme käyttää tätä videon URL-osoitetta käyttämällä Python sekä tulostaa tämän URL-osoitteen HTML-tiedosto.
URL-osoitteen avaaminen Urllibilla
Ennen kuin suoritamme koodin muodostaaksemme yhteyden Internet-tietoihin, meidän on tuotava URL-kirjastomoduulin tai "urllib" -lauseke.
- Tuo urllib
- Määrittele päätehtäväsi
- Ilmoita muuttuja webUrl
- Kutsu sitten URL lib -kirjaston urlopen-funktio
- Avaamme URL-osoite on guru99-opastus YouTubessa
- Seuraavaksi tulostetaan tuloskoodi
- Tuloskoodi haetaan kutsumalla luomamme webUrl-muuttujan getcode-funktio
- Muunnamme sen merkkijonoksi, jotta se voidaan ketjuttaa merkkijonomme "tuloskoodiin"
- Tämä on tavallinen HTTP-koodi "200", mikä osoittaa, että http-pyyntö on käsitelty onnistuneesti
Kuinka saada HTML-tiedostolomakkeen URL-osoite Python
Voit myös lukea HTML-tiedoston käyttämällä "lukutoimintoa". Python, ja kun suoritat koodin, HTML-tiedosto tulee näkyviin konsoliin.
- Kutsu webURL-muuttujan lukutoiminto
- Read-muuttuja mahdollistaa datatiedostojen sisällön lukemisen
- Lue URL-osoitteen koko sisältö muuttujaksi nimeltä data
- Suorita koodi - Se tulostaa tiedot HTML-muotoon
Tässä on täydellinen koodi
Python 2-esimerkki
#
# 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-esimerkki
#
# 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)


