Bien que les données des examens de l'Université de Göttingen puissent être consultées par les étudiants dans FlexNow, il n'est plus facile de travailler avec eux. Par conséquent, je voudrais proposer un moyen de manipuler les données de l'examen, par ex. B. Découvrez quels examens sont les plus faciles/les plus difficiles ou quels professeurs donnent les meilleures notes.
Les fonctionnalités qui devraient être incluses sont :
Il peut être demandé au serveur de l'université d'envoyer toutes les données pouvant être visualisées dans FlexNow à l'aide de simples requêtes GET et POST. Pour cela j'utilise les modules requests
, urllib
et json
. Un ensemble de données relativement complet peut être créé à partir de cela.
Pour chacun des 10 000 modules environ, une demande POST doit être envoyée, à partir de laquelle les données des dates d'examen individuelles (je n'ai collecté que les données des 10 derniers semestres) peuvent être trouvées. Les données peuvent ensuite être enregistrées sous forme de tableau à l'aide pandas
. J'utilise également numpy
pour la manipulation.
Pour épargner du travail aux autres, j'ajouterai ma propre mini version de la documentation de l'API à ce référentiel lorsque j'y parviendrai. Peut être trouvé sous documentation.md
. De plus, l'ensemble de données que j'utilise se trouve sous le nom module_data.csv
dans ce référentiel.
J'ai modifié les données en plusieurs étapes à l'aide des fonctions pandas
. Avec le recul, j'aurais aimé le faire dans un Jupyter Notebook car cela aurait été plus clair. La recherche et la manipulation des données dans les demandes des utilisateurs sont gérées via des fonctions dans analyze_modules.py
.
L'hébergement de l'APP fonctionne via le gunicorn
et le module Héroku GCP. L'application peut être trouvée ici (nouvelle URL car Heroku n'a plus de forfait gratuit).