¿Qué debo usar para abrir una url en lugar de urlopen en urllib3?

Quería escribir un código como el siguiente:

from bs4 import BeautifulSoup import urllib2 url = 'http://www.thefamouspeople.com/singers.php' html = urllib2.urlopen(url) soup = BeautifulSoup(html) 

Pero encontré que tengo que instalar el paquete urllib3 ahora.

Además, no pude encontrar ningún tutorial o ejemplo para entender cómo reescribir el código anterior, por ejemplo, urllib3 no tiene urlopen .

Cualquier explicación o ejemplo, por favor?

P / S: Estoy usando python 3.4.

urllib3 es una biblioteca diferente de urllib y urllib2. Tiene muchas características adicionales para las urllibs en la biblioteca estándar, si las necesita, cosas como reutilizar las conexiones. La documentación está aquí: https://urllib3.readthedocs.org/

Si desea utilizar urllib3, deberá pip install urllib3 . Un ejemplo básico se ve así:

 from bs4 import BeautifulSoup import urllib3 http = urllib3.PoolManager() url = 'http://www.thefamouspeople.com/singers.php' response = http.request('GET', url) soup = BeautifulSoup(response.data) 

No tienes que instalar urllib3 . Puede elegir cualquier biblioteca de creación de solicitudes HTTP que se ajuste a sus necesidades y alimentar la respuesta a BeautifulSoup . Sin embargo, la elección es generalmente debido al rico conjunto de características y la conveniente API. Puede instalar requests ingresando pip install requests en la línea de comandos. Aquí hay un ejemplo básico:

 from bs4 import BeautifulSoup import requests url = "url" response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") 

La nueva biblioteca urllib3 tiene una buena documentación aquí
Para obtener el resultado deseado debes seguir eso:

 Import urllib3 from bs4 import BeautifulSoup url = 'http://www.thefamouspeople.com/singers.php' http = urllib3.PoolManager() response = http.request('GET', url) soup = BeautifulSoup(response.data.decode('utf-8')) 

La parte “decodificar utf-8” es opcional. Funcionó sin él cuando lo intenté, pero publiqué la opción de todos modos.
Fuente: Guía del usuario