Con python 3, il modulo urllib2 non è più presente. Viene tutto integrato nel modulo urllib.
Effettuare richieste HTTP e dopo il parsing, è abbastanza immediato. Possiamo farlo in due modi, con urllib oppure con requests.

Usando il modulo urllib

urllib è il modulo nativo di python per effettuare richieste HTTP. Non dobbiamo scaricare nulla di aggiuntivo!

import urllib
 
response = urllib.request.urlopen("http://www.google.it")
pagina = response.read()
 
# abbiamo ottenuto la pagina, possiamo effettuare il parsing usando le potenti funzioni sulle stringhe di python

Usando il modulo Requests

python-requests-logo

Requests è una libreria HTTP scritta in Python, facile e popolare in ambiente python.
Non è inclusa di default e per installarla ci rechiamo sul sito ufficiale di requests, consultiamo la documentazione e scopriamo che il metodo più veloce per installarla è tramite pip:

Ci rechiamo da console nella directory d’installazione di Python, nel mio caso (C:\Python34\) e lanciamo il comando:

python pip install requests

Oppure manualmente, effettuiamo il download di requests da github.

Estratta la cartella, da console ci rechiamo all’interno e lanciamo il comando:

python setup.py install

Modulo installato! passiamo al codice d’esempio per effettuare il parsing di una pagina web.

import requests
 
response = requests.get("http://www.google.it")
pagina = response.text
 
# abbiamo ottenuto la pagina, possiamo effettuare il parsing usando le potenti funzioni sulle stringhe di python