Interactura con URL’s (Python)


Lectura de contenido de una URL

Pues un día se me presento la idea de obtener información publica 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 basare 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 Cero linea:

Importar el modulo que nos ayuda a realizar el trabajo “ urllib2 o urllib”

1. Primera linea:

Abre una conexión con la pagina web, donde la URL esta 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 seria toda la pagina.

*En esta parte podríamos iniciar a recolectar las etiquetas de HTML y obtener información mas especifica de las web.

3. Tercera Linea:

Se cierra la conexión anteriormente establecida.

Errores 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

¿Cual es la diferencia entre esos dos módulos?

Intrigado por la existencia de dos modulos URL separados en Python (urllib y urllib2), pero continuara tu intriga 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.

Saludos, comparte y comenta.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s