Last active
March 4, 2018 16:03
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
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