sábado, 2 de enero de 2010

Conociendo Python

Gracias a Unimauro me animé a probar Python (un lenguaje de programación). Ayer me envió su script .py y un archivo .txt para hacer una prueba accediendo a una sección de consultas de nuestra universidad. La idea es conocer el estado (egresado, titulado, bachiller, etc.) de ciertos estudiantes y graduados (se necesitan sus códigos universitarios, por ejemplo, 20016798X) en la base de datos de la UNI.

Descargué e instalé primero el Python 3.1.1 en Windows Vista -no se desmayen, linuxeros- pero aparentemente no era la versión que usó mi amigo y había problemas con una librería. Desinstalé y probé con el Python 2.6.4. y funcionó de maravilla.

Replico el código:

import urllib2
import string
sv=ba=en=eg=ar=ti=0
for i in open("codigos.txt","r").readlines():
s="http://www.orce.uni.edu.pe/detaalu.php?id="+i[:-1]+"&op=detalu"
r=urllib2.urlopen(s)
h=r.read()
no=string.rstrip(" ".join(h.split('Nombres')[1][0:104].split("")[1].split("")[0].split("-"))).title()
si=h.split('Situaci')[1][0:54].split("")[1].split("")[0]
print "+ "+i[:-1] +" "+no+" -> " +si
if si=='SUSPENSION VOLUNTARIA':
sv=sv+1
elif si=='BACHILLER':
ba=ba+1
elif si=='EN REGULARIZACION DE CURSO(':
en=en+1
elif si=='EGRESADO':
eg=eg+1
elif si=='TITULADO':
ti=ti+1
else:
ar=ar+1

print "+ TITULADOS : "+ str(ti)+ "\n+ BACHILLER : "+ str(ba)+ "\n+ EGRESADO : "+ str(eg) +"\n+ SUSPENSION VOLUNTARIA : "+ str(sv)+"\n+ EN REGULARIZACION DE CURSO : "+ str(en)+" \n+ ALUMNOS REGULARES : "+ str(ar)

El archivo codigos.txt es un archivo que contiene un arreglo simple con los códigos universitarios de las personas consultadas. Lo siento, pero no tengo la autorización para publicar estos códigos, pero pueden probar con los de sus amigos, escriban un código en cada línea y listo.

Después de correr el script obtengo el estatus de cada compañero de mi promoción, je je je:

También obtengo la cantidad total de titulados, bachilleres, egresados y otros:

Estos resultados están en función a la base de datos de la universidad en la Web, que no está actualizada aún porque Unimauro ya obtuvo su título pero parece que aún no está registrado eso en el sistema. O sea, hay 1 titulado y no 0 hasta donde sé.

Así fue mi primer contacto con Python, reutilizando código y aprovechando un día nublado. ¡Gracias, Unimauro!

Links:
- Kaká sacando la vuelta "al sistema".
- Descarga Python si deseas.

No hay comentarios.: