Aunque los estudiantes pueden ver los datos de los exámenes de la Universidad de Göttingen en FlexNow, ya no es fácil trabajar con ellos allí. Por lo tanto, me gustaría ofrecer una forma de manipular los datos del examen, p.e. B. Descubra qué exámenes son los más fáciles/difíciles o qué profesores dan mejores notas.
Las características que deben incluirse son:
Se puede solicitar al servidor de la universidad que envíe todos los datos que se pueden ver en FlexNow mediante solicitudes simples GET y POST. Para esto utilizo los módulos requests
, urllib
y json
. A partir de esto se puede crear un conjunto de datos relativamente completo.
Se debe enviar una solicitud POST para cada uno de los aproximadamente 10.000 módulos, a partir de los cuales se pueden encontrar los datos de las fechas de exámenes individuales (solo recopilé datos de los últimos 10 semestres). Luego, los datos se pueden guardar en forma de tabla usando pandas
. También uso numpy
para manipulación.
Para ahorrarles algo de trabajo a otros, agregaré mi propia versión mini de la documentación API a este repositorio cuando lo haga. Se puede encontrar como documentation.md
. Además, el conjunto de datos que uso se puede encontrar como module_data.csv
en este repositorio.
Cambié los datos en varios pasos usando funciones pandas
. En retrospectiva, me hubiera gustado hacerlo en un Jupyter Notebook porque hubiera sido más claro. La búsqueda y manipulación de datos en las solicitudes de los usuarios se maneja mediante funciones en analyze_modules.py
.
El alojamiento de la aplicación se ejecuta a través de gunicorn
y el módulo. héroeku GCP. La aplicación se puede encontrar aquí (nueva URL porque Heroku ya no tiene un plan gratuito).