학생들은 괴팅겐 대학의 시험 데이터를 FlexNow에서 볼 수 있지만 더 이상 FlexNow에서 작업하는 것이 쉽지 않습니다. 따라서 저는 시험 데이터를 조작하는 방법을 제안하고 싶습니다. B. 어떤 시험이 가장 쉽고/어려운지, 어떤 강사가 더 좋은 성적을 주는지 알아보세요.
포함되어야 하는 기능은 다음과 같습니다.
간단한 GET 및 POST 요청을 사용하여 FlexNow에서 볼 수 있는 모든 데이터를 보내도록 대학 서버에 요청할 수 있습니다. 이를 위해 requests
모듈, urllib
및 json
사용합니다. 이를 통해 비교적 완전한 데이터 세트를 생성할 수 있습니다.
약 10,000개 모듈별로 POST 요청을 보내야 하며, 여기서 개별 시험 날짜의 데이터(지난 10학기 동안의 데이터만 수집함)를 확인할 수 있습니다. 그런 다음 pandas
사용하여 데이터를 테이블 형식으로 저장할 수 있습니다. 나는 또한 조작을 위해 numpy
사용합니다.
다른 사람들의 작업을 절약하기 위해 나는 이 저장소에 접근할 때 내 자신의 미니 버전 API 문서를 이 저장소에 추가할 것입니다. documentation.md
에서 찾을 수 있습니다. 또한 제가 사용하는 데이터 세트는 이 저장소에서 module_data.csv
로 찾을 수 있습니다.
pandas
기능을 사용하여 여러 단계에 걸쳐 데이터를 변경했습니다. 돌이켜보면 Jupyter Notebook에서 더 명확하게 수행했으면 좋았을 것입니다. 사용자 요청의 데이터 검색 및 조작은 analyze_modules.py
의 함수를 통해 처리됩니다.
앱 호스팅은 gunicorn
및 모듈을 통해 실행됩니다. 헤로쿠 GCP. 앱은 여기에서 찾을 수 있습니다(Heroku에는 더 이상 무료 플랜이 없기 때문에 새로운 URL입니다).