Webdata Benaderen met Python's urllib: Een Praktische Gids
Webdata Benaderen met Python's urllib
Wat is urllib?
urllib is een ingebouwde Python-module die het openen van URLs en het afhandelen van webresources vereenvoudigt. Het biedt functies en klassen om URLs op te halen, te parsen en te verwerken, wat ontwikkelaars in staat stelt XML, HTML, JSON en andere dataformaten direct van het internet op te halen.
In deze tutorial tonen we aan hoe urllib te gebruiken om:
- Een URL te openen en de HTTP-responsecode te checken.
- De volledige HTML-content van een webpagina te lezen.
Een URL Openen met urllib
Voordat je een netwerkrequest uitvoert, importeer de juiste urllib-module:
import urllib.request # Python 3
# import urllib2 # Python 2 (afgekeurd in nieuwere releases)
Definieer je main-routine, specificeer de target-URL en open een verbinding met urlopen(). We gebruiken het Guru99 YouTube-kanaal als voorbeeld:
def main():
url = urllib.request.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(url.getcode()))
data = url.read()
print(data.decode('utf-8'))
if __name__ == "__main__":
main()
De getcode() methode retourneert de HTTP-statuscode (bijv. 200 voor succes). De read() methode haalt de ruwe bytes van de pagina op, die we naar UTF-8 decoderen voor leesbaarheid.
De HTML-content Lezen
Eenmaal de URL geopend, kun je de HTML extraheren door simpelweg read() aan te roepen. De resulterende bytes vertegenwoordigen het volledige HTML-document, wat je dan kunt parsen met bibliotheken zoals BeautifulSoup of direct tonen.
Hieronder is een visueel voorbeeld van de gedecodeerde HTML-output in de console:

Complete Codevoorbeelden
Ter referentie bieden de volgende secties volledige scripts voor zowel Python 2 als Python 3-omgevingen.
Python 2 Voorbeeld
import urllib2
def main():
web_url = urllib2.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(web_url.getcode()))
data = web_url.read()
print(data)
if __name__ == "__main__":
main()
Python 3 Voorbeeld
import urllib.request
web_url = urllib.request.urlopen('https://www.youtube.com/user/guru99com')
print('result code: ' + str(web_url.getcode()))
print(web_url.read().decode('utf-8'))
Python
- SaaS en Cloud Navigeren: Waarom Nauwkeurig Databeheer Cruciaal Is
- Python Keywords en Identifiers: Gereserveerde woorden en naamconventies onder de knie krijgen
- Python Statements, Indentatie en Comments: Een duidelijke gids
- Python Variabelen, Constanten en Literals – Een uitgebreide gids
- Python Datatypes onder de knie krijgen: Een praktische gids
- Python Type Conversie & Casting onder de knie krijgen: Een uitgebreide gids
- Python I/O en Module Imports onder de knie krijgen: Een praktische gids
- Python Global, Local en Nonlocal Variabelen begrijpen
- Python-directory en bestandsbewerkingen beheersen
- Python-fouten & ingebouwde exceptions beheersen
- Python-exception handling: try, except, else en finally uitgelegd