Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save avdata99/700f982ff2926372300a8bdcee15eb54 to your computer and use it in GitHub Desktop.
Save avdata99/700f982ff2926372300a8bdcee15eb54 to your computer and use it in GitHub Desktop.
Script para automatizar la matriculación en la Universidad Provincial de Córdoba
'''
matricularse en la universidad provincial de cordoba.
Esta universidad abre los cupos de a 10 por la gran demanda que hay en los horarios de mañana
'''
import requests
import time
from datetime import datetime
from random import randint
# loguearse
sess = requests.Session()
login = {'UserName': 22222222, 'Password': 1111111} # el user es el legajo y el password es el DNI
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'}
login_req = sess.post('http://alumnos.servehttp.com/Ingreso/LogOn', data=login, headers=headers)
# ir a la hoja de matriculacion
mat_req = sess.get('http://alumnos.servehttp.com/Matriculacion')
# url del post de la matriculacion
url_matriculacion = 'http://alumnos.servehttp.com/Matriculacion/Matricular'
materias_a_inscribirse = [{'asignatura':21035, 'division': 1, 'status': None},
{'asignatura':21044, 'division': 1, 'status': None}]
# saber en cada paso si falta alguna matriculacion
falta_alguna = True
while falta_alguna:
falta_alguna = False
for materia in materias_a_inscribirse:
if materia['status'] is None:
data = {'asignatura': materia['asignatura'], 'division': materia['division']}
req = sess.post(url_matriculacion, data=data, headers=headers)
print('{}-{} {} \n\t{} \n\t{}'.format(materia['asignatura'], materia['division'], datetime.now(), req.text, data))
if '"ok":false' not in req.text:
materia['status'] = True
else:
falta_alguna = True
time.sleep(randint(20, 99)) # pausa entre 20 y 99 segundos para que no parezca automatizado
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment