https://github.com/winglim/hducoursesapi
HDU 课程爬虫及 API
https://github.com/winglim/hducoursesapi
api course hdu
Last synced: 3 months ago
JSON representation
HDU 课程爬虫及 API
- Host: GitHub
- URL: https://github.com/winglim/hducoursesapi
- Owner: WingLim
- License: mit
- Created: 2020-03-18T11:06:20.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T23:22:07.000Z (about 2 years ago)
- Last Synced: 2025-01-16T12:52:41.001Z (4 months ago)
- Topics: api, course, hdu
- Language: Python
- Homepage: https://api.limxw.com/courses
- Size: 2.8 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HDU Courses API
杭电某一学年某一学期全部课程的 API 接口,包含爬取课程的爬虫## 使用
### 爬取课程信息
```python
python main.py
```
生成课程的 `json` 文件和 `courses.db` sqlite 数据库在 `data` 目录下想要获取其他学年和学期,修改 `main.py` 中的
```python
self.year = '2019-2020'
self.term = '2'
```### API 服务
默认端口号为 `8000`
```python
python server.py
```### API 文档
https://winglim.github.io/HDUCoursesAPI### 导入数据到数据库
```bash
mongoimport -d courses -c course2020-20212 \
--uri mongodb://username:password@localhost \
--authenticationDatabase admin \
--jsonArray courses_course2020_20212.json
```## 使用 Docker 部署
### [`winglim/hducourses`](https://github.com/WingLim/HDUCoursesAPI/pkgs/container/hducourses)
API 服务镜像
可配置的环境变量如下:
- `MONGODB_URL` - 连接到 `mongodb` 数据库的地址 - 默认值 [`mongodb://localhost`](https://github.com/WingLim/HDUCoursesAPI/blob/1cd017e62ed89d194ba34409278302121e3b45cf/HDUCoursesAPI/config.py#L6)
### [`winglim/hducoursesdb`](https://github.com/WingLim/HDUCoursesAPI/pkgs/container/hducoursesdb)
课程数据导入镜像
可配置的环境变量如下:
- `USERNAME` - 用户名 - 默认值 `root`
- `PASSWORD` - 密码 - 默认值 `root`
- `HOSTNAME` - 位于同一网络下的 `mongodb` 的主机别名 - 默认值 `mongodb`[`docker-compose.yml`](https://github.com/WingLim/HDUCoursesAPI/blob/master/docker-compose.yml)
```yaml
version: '3'
services:
courses:
image: winglim/hducourses
environment:
MONGODB_URL: mongodb://mongoadmin:secret@mongodbmongodb:
image: mongo
environment:
MONGO_INITDB_ROOT_USERNAME: mongoadmin
MONGO_INITDB_ROOT_PASSWORD: secret
MONGO_INITDB_DATABASE: coursesmongo_seed:
image: winglim/hducoursesdb
environment:
USERNAME: mongoadmin
PASSWORD: secret
depends_on:
- mongodb```