แม้ว่านักศึกษาจะดูข้อมูลการสอบของ University of Göttingen ใน FlexNow ได้ แต่การทำงานกับพวกเขาที่นั่นไม่ใช่เรื่องง่ายอีกต่อไป ผมจึงขอเสนอวิธีจัดการข้อมูลข้อสอบ เช่น B. ค้นหาว่าข้อสอบไหนง่ายที่สุด/ยากที่สุด หรืออาจารย์คนไหนให้คะแนนดีกว่ากัน
คุณสมบัติที่ควรรวมไว้คือ:
สามารถขอให้เซิร์ฟเวอร์ของมหาวิทยาลัยส่งข้อมูลทั้งหมดที่สามารถดูได้ใน FlexNow โดยใช้คำขอ GET และ POST แบบธรรมดา สำหรับสิ่งนี้ฉันใช้โมดูล requests
urllib
และ json
สามารถสร้างชุดข้อมูลที่ค่อนข้างสมบูรณ์ได้จากสิ่งนี้
ต้องส่งคำขอ POST สำหรับแต่ละโมดูลประมาณ 10,000 โมดูล ซึ่งข้อมูลสำหรับวันสอบแต่ละรายการ (ฉันรวบรวมเฉพาะข้อมูลสำหรับ 10 ภาคการศึกษาล่าสุดเท่านั้น) ข้อมูลนั้นสามารถบันทึกในรูปแบบตารางโดยใช้ pandas
ฉันยังใช้ numpy
เพื่อจัดการด้วย
เพื่อช่วยผู้อื่นทำงาน ฉันจะเพิ่มเอกสาร API เวอร์ชันย่อของฉันเองไปยังที่เก็บนี้เมื่อฉันใช้งานมัน สามารถพบได้ใน documentation.md
นอกจากนี้ ชุดข้อมูลที่ฉันใช้ยังสามารถพบได้ใน module_data.csv
ในที่เก็บนี้
ฉันเปลี่ยนข้อมูลหลายขั้นตอนโดยใช้ฟังก์ชัน pandas
เมื่อมองย้อนกลับไป ฉันอยากจะทำมันใน Jupyter Notebook เพราะมันคงจะชัดเจนกว่านี้ การค้นหาและจัดการข้อมูลในคำขอของผู้ใช้ได้รับการจัดการผ่านฟังก์ชันใน analyze_modules.py
การโฮสต์ของ APP ทำงานผ่าน gunicorn
และโมดูล เฮโรกุ จีซีพี สามารถดูแอปได้ที่นี่ (URL ใหม่เนื่องจาก Heroku ไม่มีแผนฟรีอีกต่อไป)