JCeb's Blog

Programación, investigación, proyectos, vida y mas…

Posts Tagged ‘urllib2

AutoDown

leave a comment »

Hola, pues esto es para compartir que el día de ayer estuve en la chamba en ASI, desarrollando en Python un script para descargar automaticamente unos datos a los cuales no tenemos acceso por alguna via decente, por lo que tuvimos que recurrir al hacking XD, por lo que escribí unos scripts para hacer el logeo y las descargas de paginas html que tenian la información y una vez descargadas convertirlas a datos tal cual y ponerlos en una base de datos para su correcto y adecuado uso.

Cabe mencionar que son aproximadamente 300 paginas que los administrativos consultan diario y que luego la analizan e insertan en una base de datos. ¿Porqué diario?, porque tienen que estar sincronizados con los datos en MTY o GDL, ya ni recuerdo, en fin.

Les dejo una imagen del script por cuestiones de confidencialidad, pero les comparto en si el funcionamiento básico, por si quieren practicar. Las bibliotecas que use son urllib, urllib2 y cookielib.

#Llamamos las bibliotecas que nos seran utiles
import urllib,urllib2,cookielib

#Inicializamos un objeto que nos
#servira para poder abrir conexiones con una pagina
#y poder guardar las cookies que nos mande esta pagina
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))

#Creamos una variable con nuestros datos que pasaremos al sitio de login por post
data = urllib.urlencode({'username':'user','password':'secret'})

#Realizamos el acceso a la pagina de login pasandole nuestros datos de usuario
conexion = opener.open('http://url/to/login',data)

#Leemos la pagina y nos imprimira el codigo html
print conexion.read()

#Luego para bajar una pagina que te pide que ya te hayas logeado previamente,
#vuelves a conectarte
conexion = opener.open('http://url/privated/to/read')

#Obtenemos el html de la página y listo
print conexion.read()

#para concluir, cierras la conexion
conexion.close()

Written by JCeb

14 abril, 2010 at 4:17 am

Publicado en Desarrollo, Investigación, Ocio

Etiquetado con , , , ,

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.