23.11.2012 Views

Python para todos

Python para todos

Python para todos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

interaCtuar Con<br />

webs<br />

Existen dos módulos principales <strong>para</strong> leer datos de URLs en <strong>Python</strong>:<br />

urllib y urllib2. En esta lección aprenderemos a utilizar urllib2<br />

ya que es mucho más completo, aunque urllib tiene funcionalidades<br />

propias que no se pueden encontrar en urllib2, por lo que también lo<br />

tocaremos de pasada.<br />

urllib2 puede leer datos de una URL usando varios protocolos como<br />

HTTP, HTTPS, FTP, o Gopher.<br />

Se utiliza una función urlopen <strong>para</strong> crear un objeto parecido a un<br />

fichero con el que leer de la URL. Este objeto cuenta con mé<strong>todos</strong><br />

como read, readline, readlines y close, los cuales funcionan exactamente<br />

igual que en los objetos file, aunque en realidad estamos<br />

trabajando con un wrapper que nos abstrae de un socket que se utiliza<br />

por debajo.<br />

El método read, como recordareis, sirve <strong>para</strong> leer el “archivo” completo<br />

o el número de bytes especificado como parámetro, readline <strong>para</strong> leer<br />

una línea, y readlines <strong>para</strong> leer todas las líneas y devolver una lista con<br />

ellas.<br />

También contamos con un par de mé<strong>todos</strong> geturl, <strong>para</strong> obtener la<br />

URL de la que estamos leyendo (que puede ser útil <strong>para</strong> comprobar si<br />

ha habido una redirección) e info que nos devuelve un objeto con las<br />

cabeceras de respuesta del servidor (a las que también se puede acceder<br />

mediante el atributo headers).<br />

import urllib2<br />

96

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!