대체 라이브러리로 rusaint 사용을 추천합니다.
동작 방법이 궁금하다면 아래 블로그 내용을 참고해보세요. (pysaint를 수정해서 사용하고 싶은 경우)
saint.ssu.ac.kr 에서 수강신청 과목정보를 실시간으로 가져오는 라이브러리 입니다.
최신버전은 21.2.2 입니다. (연도.월.일 순으로 버전을 표기합니다.)
pip install pysaint
pip install .
import pysaint
res = 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)
import pysaint
grades = 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', '신청': '신청', '취소': '취소'}
전공
>>
{
"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-이한규)",
"수강대상": "전체"
},
...