Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gomjellie/pysaint
[deprecated] 유세인트 파이썬 클라이언트
https://github.com/gomjellie/pysaint
crawler sap soongsil unofficial
Last synced: 9 days ago
JSON representation
[deprecated] 유세인트 파이썬 클라이언트
- Host: GitHub
- URL: https://github.com/gomjellie/pysaint
- Owner: gomjellie
- License: mit
- Created: 2018-08-09T17:14:54.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T01:01:30.000Z (almost 2 years ago)
- Last Synced: 2024-10-14T08:31:54.262Z (23 days ago)
- Topics: crawler, sap, soongsil, unofficial
- Language: Python
- Homepage:
- Size: 311 KB
- Stars: 32
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pysaint
[saint.ssu.ac.kr](https://saint.ssu.ac.kr) 에서 수강신청 과목정보를 실시간으로 가져오는 라이브러리 입니다.
최신버전은 21.2.2 입니다. (연도.월.일 순으로 버전을 표기합니다.)
## setup (for end user)
```sh
pip install pysaint
```## setup (for library developer)
```sh
pip install .
```## Usage
### get course data
```python
import pysaintres = pysaint.get('전공', '2021', '1 학기', silent=True)
pysaint.save_json('./json/', '{}-{}-전공'.format('2020', '2 학기'), res)
res = pysaint.get('교양필수', range(2019, 2020), ('1 학기', '여름학기', '2 학기', '겨울학기'))
res = pysaint.get('교양선택', (2016, ), ('1 학기', ), silent=False)
res = pysaint.get('전공', '2021', '2 학기', line=200, silent=True)
res = pysaint.get('연계전공', '2021', '1 학기', line=200, silent=True)
res = pysaint.get('융합전공', '2021', '1 학기', line=200, silent=False)
res = pysaint.get('교직', '2021', '1 학기', line=200, silent=True)
res = pysaint.get('채플', '2021', '1 학기', line=200, silent=True)
# freeze as json file format
pysaint.save_json('./json/', '{}-{}-전공'.format('2016', '1 학기'), res)# print result
import pprint
pprint.pprint(res)```
### get grade data
```python
import pysaintgrades = pysaint.grade('2015xxxx')
# or you can pass password parameter after id
# e.g.) pysaint.grade('2015xxxx', 'example-password#%2015')
for grade in grades:
print(grade)>>>
{'과목ID': '21506737', '과목명': '기초공학수학', '이수년도': '2015', '이수학기': '1 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외사유': 취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506736', '과목명': '물리1및실험', '이수년도': '2015', '이수학기': '1 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외사유': '취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21503329', '과목명': '생활과경제', '이수년도': '2015', '이수학기': '1 학기', '학점수': '3', '성적기호': 'C+', '학술연구상태': '완료(성공)', '제외사유': '\소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506684', '과목명': '숭실인의역량과진로탐색1', '이수년도': '2015', '이수학기': '1 학기', '학점수': '1', '성적기호': 'A0', '학술연구상태': '완료(성공)', ' '\xa0', '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21501815', '과목명': '영어1', '이수년도': '2015', '이수학기': '1 학기', '학점수': '2', '성적기호': 'B-', '학술연구상태': '완료(성공)', '제외사유': '\xa0',': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506741', '과목명': '프로그래밍의이해', '이수년도': '2015', '이수학기': '1 학기', '학점수': '3', '성적기호': 'A0', '학술연구상태': '완료(성공)', '제외사유승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506634', '과목명': '한반도평화와통일', '이수년도': '2015', '이수학기': '1 학기', '학점수': '1', '성적기호': 'B+', '학술연구상태': '완료(성공)', '제외사유일': '\xa0', '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21503037', '과목명': '현대인과성서1', '이수년도': '2015', '이수학기': '1 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외사유':인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506797', '과목명': '공학수학', '이수년도': '2015', '이수학기': '2 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외사유': '\xa일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506796', '과목명': '물리2및실험', '이수년도': '2015', '이수학기': '2 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외사유': ' '신청일': '\xa0', '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21501816', '과목명': '영어2', '이수년도': '2015', '이수학기': '2 학기', '학점수': '2', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외사유': '\xa0',': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21505220', '과목명': '창의적사고와글쓰기', '이수년도': '2015', '이수학기': '2 학기', '학점수': '2', '성적기호': 'C+', '학술연구상태': '완료(성공)', '제외사'승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506798', '과목명': '프로그래밍기초및실습', '이수년도': '2015', '이수학기': '2 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외청구분': '\xa0', '신청일': '\xa0', '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21509167', '과목명': '현대음악의감상', '이수년도': '2015', '이수학기': '2 학기', '학점수': '3', '성적기호': 'B-', '학술연구상태': '완료(성공)', '제외사유'인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506867', '과목명': '고급프로그래밍및실습', '이수년도': '2016', '이수학기': '1 학기', '학점수': '3', '성적기호': 'A-', '학술연구상태': '완료(성공)', '제외 '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506870', '과목명': '디지털회로설계실험', '이수년도': '2016', '이수학기': '1 학기', '학점수': '1', '성적기호': 'B-', '학술연구상태': '완료(성공)', '제외사'신청구분': '\xa0', '신청일': '\xa0', '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506868', '과목명': '모바일프로그래밍', '이수년도': '2016', '이수학기': '1 학기', '학점수': '3', '성적기호': 'B-', '학술연구상태': '완료(성공)', '제외사유승인취소일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506866', '과목명': '이산수학', '이수년도': '2016', '이수학기': '1 학기', '학점수': '3', '성적기호': 'B-', '학술연구상태': '완료(성공)', '제외사유': '\xa일': '\xa0', '신청': '신청', '취소': '취소'}
{'과목ID': '21506685', '과목명': '창의적사고와독서토론', '이수년도': '2016', '이수학기': '1 학기', '학점수': '1', '성적기호': 'C-', '학술연구상태': '완료(성공)', '제외'\xa0', '신청구분': '\xa0', '신청일': '\xa0', '승인취소일': '\xa0', '신청': '신청', '취소': '취소'}```
## data### course
```python
전공
>>
{
"2018": {
"2 학기": {
"인문대학": {
"기독교학과": {
"기독교학과": [
{
"계획": " ",
"이수구분(주전공)": "전기-기독교",
"이수구분(다전공)": "복필-기독교/부필-기독교",
"공학인증": " ",
"교과영역": " ",
"과목번호": "2150655801",
"과목명": "기독교사회학개론",
"분반": " ",
"교수명": "이철\n이철",
"개설학과": "기독교학과",
"시간/학점(설계)": "3.00 /3",
"수강인원": "0",
"여석": "50",
"강의시간(강의실)": "수 10:30-11:45 (진리관 11307-이철)\n목 12:00-13:15 (조만식기념관 12202-이철)",
"수강대상": "1학년 기독교"
},
{
"계획": " ",
"이수구분(주전공)": "전기-기독교",
"이수구분(다전공)": "복필-기독교",
"공학인증": " ",
"교과영역": " ",
"과목번호": "2150655901",
"과목명": "기독교상담심리학",
"분반": " ",
"교수명": "박승민\n박승민",
"개설학과": "기독교학과",
"시간/학점(설계)": "3.00 /3",
"수강인원": "0",
"여석": "60",
"강의시간(강의실)": "화 12:00-13:15 (조만식기념관 12328-박승민)\n목 10:30-11:45 (조만식기념관 12202-박승민)",
"수강대상": "1학년 기독교"
},
{
"계획": " ",
"이수구분(주전공)": "전기-기독교",
"이수구분(다전공)": "복필-기독교/부필-기독교",
"공학인증": " ",
"교과영역": " ",
"과목번호": "2150517001",
"과목명": "기독교학서론",
"분반": " ",
"교수명": "권연경\n권연경",
"개설학과": "기독교학과",
"시간/학점(설계)": "3.00 /3 (0 )",
"수강인원": "0",
"여석": "60",
"강의시간(강의실)": "수 09:00-10:15 (조만식기념관 12202-권연경)\n금 12:00-13:15 (조만식기념관 12310-권연경)",
"수강대상": "1학년 기독교"
},
...교양필수
{
"2015": {
"1 학기": {
"전체학년": {
"CHAPEL": [
{
"계획": " ",
"이수구분(주전공)": "교필",
"이수구분(다전공)": " ",
"공학인증": " ",
"교과영역": "채플과목",
"과목번호": "2150101513",
"과목명": "채플",
"분반": " ",
"교수명": " ",
"개설학과": "베어드학부대학 행정팀",
"시간/학점(설계)": "1.00 /0 (0 )",
"수강인원": "187",
"여석": "812",
"강의시간(강의실)": "토 07:00-07:50 (형남공학관 050115-)",
"수강대상": "전체학년 금융경제 ,국제무역 ,혁신경영학과(계약학과) ,벤처경영학과(계약학과)"
},
{
"계획": " ",
"이수구분(주전공)": "교필",
"이수구분(다전공)": " ",
"공학인증": " ",
"교과영역": "채플과목",
"과목번호": "2150101512",
"과목명": "채플(공통채플:기독인채플)",
"분반": " ",
"교수명": " ",
"개설학과": "베어드학부대학 행정팀",
"시간/학점(설계)": "1.00 /0 (0 )",
"수강인원": "117",
"여석": "0",
"강의시간(강의실)": "수 15:00-15:50 (-)",
"수강대상": "전체"
},
...교양선택
{
"2016": {
"1 학기": {
"전체": [
{
"계획": " ",
"이수구분(주전공)": "교선",
"이수구분(다전공)": " ",
"공학인증": " ",
"교과영역": "균형교양(자연과학-자연과학)\n*자연과학과수리(융합-자연)",
"과목번호": "2150116601",
"과목명": "과학사",
"분반": " ",
"교수명": "이권재",
"개설학과": "물리학과",
"시간/학점(설계)": "3.00 /3 (0 )",
"수강인원": "32",
"여석": "18",
"강의시간(강의실)": "월 수 16:30-17:45 (조만식기념관 12525-이권재)",
"수강대상": "전체"
},
{
"계획": " ",
"이수구분(주전공)": "교선",
"이수구분(다전공)": " ",
"공학인증": " ",
"교과영역": "균형교양(사회과학-사회/정치/경제)\n*세계의문화와국제관계(핵심-창의)",
"과목번호": "2150121901",
"과목명": "국제관계의이해",
"분반": " ",
"교수명": "이한규",
"개설학과": "정치외교학과",
"시간/학점(설계)": "3.00 /3 (0 )",
"수강인원": "57",
"여석": "3",
"강의시간(강의실)": "월 수 15:00-16:15 (미래관 20403-이한규)",
"수강대상": "전체"
},
...```