/HDUCoursesAPI

HDU 课程爬虫及 API

Primary LanguagePythonMIT LicenseMIT

HDU Courses API

杭电某一学年某一学期全部课程的 API 接口,包含爬取课程的爬虫

使用

爬取课程信息

python main.py

生成课程的 json 文件和 courses.db sqlite 数据库在 data 目录下

想要获取其他学年和学期,修改 main.py 中的

self.year = '2019-2020'
self.term = '2'

API 服务

默认端口号为 8000

python server.py

API 文档

https://winglim.github.io/HDUCoursesAPI

导入数据到数据库

mongoimport -d courses -c course2020-20212 \
  --uri mongodb://username:password@localhost \
  --authenticationDatabase admin \
  --jsonArray courses_course2020_20212.json

使用 Docker 部署

API 服务镜像

可配置的环境变量如下:

课程数据导入镜像

可配置的环境变量如下:

  • USERNAME - 用户名 - 默认值 root
  • PASSWORD - 密码 - 默认值 root
  • HOSTNAME - 位于同一网络下的 mongodb 的主机别名 - 默认值 mongodb

docker-compose.yml

version: '3'
services:
    courses:
        image: winglim/hducourses
        environment:
            MONGODB_URL: mongodb://mongoadmin:secret@mongodb

    mongodb:
        image: mongo
        environment:
            MONGO_INITDB_ROOT_USERNAME: mongoadmin
            MONGO_INITDB_ROOT_PASSWORD: secret
            MONGO_INITDB_DATABASE: courses

    mongo_seed:
        image: winglim/hducoursesdb
        environment:
            USERNAME: mongoadmin
            PASSWORD: secret
        depends_on:
            - mongodb