大学成绩查询/通知 Telegram Bot(现支持西工大和北航)
-
再也无需不厌其烦地登陆教务系统查看成绩
- 按学期/学年计算学分绩
- 查看分数构成(平时成绩,实验成绩,卷面成绩)
-
每次新成绩出炉都会有Telegram消息推送
本项目需要运行在 Python 3.6 及更高的版本上。 同时需要系统环境具有 sqlite3。
Python 包依赖:
- requests
- lxml
- cssselect
- python-telegram-bot
- pydantic
- peewee
-
克隆项目
git clone https://github.com/peng1999/nwpu-grade.git
-
安装 Poetry
python3 -m pip install --user poetry
-
利用 Poetry 安装 Python 环境
poetry install
-
利用 Bot Father 创建一个 Telegram Bot。
-
创建并修改
config.py
cp config.py.example config.py vim config.py
-
运行
poetry run python launch_bot.py
注:
- Telegram 无法在中国大陆正常访问,你可能需要配置代理。
- Poetry 的其他安装方式见官网。
- Poetry 不是必须的,也可以直接使用 pip 安装依赖包
-
克隆项目
git clone https://github.com/peng1999/nwpu-grade.git
-
利用 Bot Father 创建一个 Telegram Bot。
-
创建并修改
config.py
cp config.py.example config.py vim config.py
-
构建并运行 Docker
docker build -t nwpu-grade . docker run -d -e HTTPS_PROXY=<your proxy address> --name nwpu-grade nwpu-grade
欢迎提交 PR!
若要增加更多学校,只需在 scrapers 文件夹下面新增一个文件,实现继承于 ConfigBase
的 Config
类和继承于 ScraperBase
类的 Scraper
类即可。请参照 scrapers.nwpu 编写。
本项目附带一个 client.py 方便 Scraper 的测试开发,使用 client.py 之前需要先在 config.py 中添加
get_scraper
函数。
python3 client.py
本项目受到了 @Dy1aNT 已经停止更新的项目 https://github.com/Dy1aNT/NWPUgrade.git 的启发。