北京大学 2026 年春季学期课程搜索工具,涵盖公选课、通识课、专业课、研究生课共 3644 门课程的快速检索与筛选。
直接打开网页:www.pinhaoke.love 即可使用
- 按课程名、教师姓名或教室搜索
- 七维度筛选:课程类型(公选课/通识课/专业课/研究生课)、课程类别、学分、开课单位、成绩记载方式、上课时间(星期)、教室
- 排序功能:支持按课程名拼音排序
- 课程详情弹窗:查看完整课程信息,包括中英文简介、教学大纲、教学评估、先修课程等
- 上课时间与教室分开展示
- 多语言切换:中文、English、日本語、한국어、Français、Deutsch、Español、Русский
- 玻璃拟态 (Glassmorphism) 风格 UI
Nginx (反向代理) → FastAPI (Python 后端) → SQLite × 2(本科 + 研究生)
- 后端:Python FastAPI + Uvicorn;
app.py用 SQLiteATTACH同时连接两库 - 数据库:两个独立 SQLite 文件
2026春季学期本科生课程.db(2465 门 = 公选 256 + 通识 143 + 专业 2066)2026春季学期研究生课程.db(1379 门)- 各自三表:
basic_info+detail_info(1:1) + 视图courses_view
- 前端:单页 HTML,通过 API 动态加载数据
- 部署:阿里云服务器(Ubuntu 24.04),Nginx + systemd
源 JSON 仍保留在 Course data/ 与 Graduated_Course_data/(不入 git):
Course data/北大公选课数据_25-26第2学期.json— 256 门Course data/北大通识课数据_25-26第2学期.json— 143 门Course data/北大专业课数据_25-26第2学期.json— 2066 门Graduated_Course_data/pku_graduate_courses.json— 1379 门
数据来源于 2026 年 3 月 20 日从北京大学选课系统 elective.pku.edu.cn 获取。
python3 build_undergrad_db.py # → 2026春季学期本科生课程.db
python3 build_graduate_db.py # → 2026春季学期研究生课程.dbbuild_common.py 提供共用的课表解析函数。旧的派生数据与构建脚本归档在 archive/。
![]() 支付宝赞助码 |
![]() 微信赞助码 |
感谢以下朋友的慷慨赞助,你们的支持是项目持续运营的动力!
| 赞助者 | 金额 |
|---|---|
| 噬铁侠 | 100¥ |


