Embora os dados dos exames da Universidade de Göttingen possam ser visualizados pelos alunos no FlexNow, não é mais fácil trabalhar com eles lá. Portanto, gostaria de oferecer uma maneira de manipular os dados do exame, por exemplo. B. Descubra quais exames são mais fáceis/difíceis ou quais professores dão melhores notas.
Os recursos que devem ser incluídos são:
O servidor da universidade pode ser solicitado a enviar todos os dados que podem ser visualizados no FlexNow usando solicitações simples GET e POST. Para isso utilizo os módulos requests
, urllib
e json
. Um conjunto de dados relativamente completo pode ser criado a partir disso.
Uma solicitação POST deve ser enviada para cada um dos aproximadamente 10.000 módulos, a partir dos quais podem ser encontrados os dados das datas dos exames individuais (coletei apenas os dados dos últimos 10 semestres). Os dados podem então ser salvos em forma de tabela usando pandas
. Eu também uso numpy
para manipulação.
Para poupar trabalho a outros, adicionarei minha própria mini versão da documentação da API a este repositório quando tiver tempo para fazê-lo. Pode ser encontrado como documentation.md
. Além disso, o conjunto de dados que utilizo pode ser encontrado como module_data.csv
neste repositório.
Alterei os dados em várias etapas usando funções pandas
. Pensando bem, eu gostaria de ter feito isso em um Jupyter Notebook, pois teria ficado mais claro. A pesquisa e a manipulação de dados nas solicitações do usuário são feitas por meio de funções em analyze_modules.py
.
A hospedagem do APP é executada através do gunicorn
e do módulo Heroku GCP. O aplicativo pode ser encontrado aqui (nova URL porque o Heroku não tem mais plano gratuito).