Interactúa con URL’s (Python)


Lectura de contenido de una URL

Pues un día se me presento la idea de obtener información pública de sitios web es decir interactuar con una URL, puedes buscando en la red, me entere que Python cuenta con módulos que nos facilitan el trabajo de interactuar con URL’s.

Les presento a los módulos: urllib o urllib2

Referencia de la documentación oficial de Python:

urllib: https://docs.python.org/2/library/urllib.html

urllib2: https://docs.python.org/2/library/urllib2.html

Con el siguiente ejemplo basaré esta entrega con el modulo «urllib2»:

Ejemplo:

0. import urllib2

1. respuesta = urllib2.urlopen(“http://www.X.com”)

2. print respuesta.read()

3. respuesta.close()

Explicación de código línea a línea

0. Línea cero:

Importar el módulo que nos ayuda a realizar el trabajo “ urllib2 o urllib”.

1. Primera línea:

Abre una conexión con la página web, donde la URL está determinada por el parámetro enviado al método “urlopen”.

2. Segunda línea:

Imprime en pantalla lo que el método read() obtiene en este caso sería toda la página web.

*En esta parte podríamos iniciar a recolectar las etiquetas de HTML y obtener información más específica de las web.

3. Tercera línea:

Se cierra la conexión anteriormente establecida.

Errores de tener en cuenta para manejar urllib2:

URLError: Errores que lanza el modulo.

HTTPError: Errores que nos envía el servidor.

Nota: Podrías estar preguntándote

¿Cuál es la diferencia entre esos dos módulos?

¿Intrigado por la existencia de dos módulos? para interactura con URL separados en Python (urllib y urllib2), ambos no son alternativas entre sí. Entonces…..

urllib2 acepta un objeto Request para establecer las cabeceras de una petición de URL, urllib acepta sólo una URL. Eso significa, que usted no puede pasar la cadena de User Agent.

urllib proporciona el método urlencode que se utiliza para la generación de cadenas de consulta GET, urllib2 no tiene tal función incorporada.

Saludos, comparte y comenta.

Deja un comentario