Skip to main content

간단하게 Neis API를 이용해보세요!

Project description

SchoolInfo

Neis API 기반으로 학교 정보, 급식 정보, 반 정보, 시간표 정보 등 제공 비동기 서비스
이슈와 풀리퀘스트 환영합니다 :D

설치하기

pip install schoolInfo 

시작하기

다음은 예시코드입니다.

import asyncio

import schoolInfo


async def main():
    print_end : str = "\n\n\n\n\n"
    school_data: dict = await schoolInfo.search("광주소프트웨어마이스터고등학교")
    print(school_data, end=print_end)
    # 학교를 검색하는 구문입니다.

    meal_data: dict = await schoolInfo.meal(
        ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
        SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"],
    )
    print(meal_data, end=print_end)
    # 급식을 가져오는 구문입니다.

    schedule_data: dict = await schoolInfo.schedule(
        ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
        SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"],
    )
    print(schedule_data, end=print_end)
    # 스케쥴을 가져오는 구문입니다.

    major_data: dict = await schoolInfo.major(
        ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
        SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"],
    )
    print(major_data, end=print_end)
    # 학교 학과 정보를 가져오는 구문입니다.

    class_data: dict = await schoolInfo.classes(
        ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
        SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"],
    )
    print(class_data, end=print_end)
    # 반정보를 가져오는 구문입니다.

    timetable_data : dict = await schoolInfo.timetable(
        ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
        SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"],
        SCHUL_KND_SC_NM=school_data["SCHUL_KND_SC_NM"]
    )
    print(timetable_data, end=print_end)
    # 시간표를 가져오는 구문입니다.

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

기능명세

공통 인자값

Name Type Description
ATPT_OFCDC_SC_CODE string 시도교육청코드
SD_SCHUL_CODE string 표준학교코드

학교 검색 및 기본정보 가져오기

school_data : dict = await schoolInfo.search("광주소프트웨어마이스터고등학교", auth_key={your auth key})
print(school_data)
  1. First args : 검색값
  2. auth_key : https://open.neis.go.kr/portal/guide/actKeyPage.do
    • Neis API의 인증키값입니다.
{
   "ATPT_OFCDC_SC_CODE":"F10", // 시도 교육청 코드
   "ATPT_OFCDC_SC_NM":"광주광역시교육청", // 시도교육청 명
   "SD_SCHUL_CODE":"7380292", // 표준학교코드
   "SCHUL_NM":"광주소프트웨어마이스터고등학교", // 학교명
   "ENG_SCHUL_NM":"Gwangju Software Meister High School", // 영문학교명
   "SCHUL_KND_SC_NM":"고등학교", // 학교 구분
   "LCTN_SC_NM":"광주광역시", // 소재지명
   "JU_ORG_NM":"광주광역시교육청", // 관할조직명
   "FOND_SC_NM":"공립", // 설립명
   "ORG_RDNZC":"62423 ", // 도로명 우편번호
   "ORG_RDNMA":"광주광역시 광산구 상무대로 312", // 도로명 주소
   "ORG_RDNDA":"(송정동)", // 도로명 상세주소
   "ORG_TELNO":"062-949-6800", // 전화번호
   "HMPG_ADRES":"http://gsm.gen.hs.kr/", // 홈페이지 주소
   "COEDU_SC_NM":"남여공학", // 남녀공학구분
   "ORG_FAXNO":"062-944-8019", // 팩스번호
   "HS_SC_NM":"특목고", // 고등학교 구분명
   "INDST_SPECL_CCCCL_EXST_YN":"N", // 산업체특별학급존재여부
   "HS_GNRL_BUSNS_SC_NM":"전문계", // 고등학교 계열 구분
   "SPCLY_PURPS_HS_ORD_NM":"None", // 특수목적고등학교 계열명
   "ENE_BFE_SEHF_SC_NM":"전기", // 입시전후기 구분명
   "DGHT_SC_NM":"주간", // 주야구분명
   "FOND_YMD":"19540529", // 설립일자
   "FOAS_MEMRD":"19540601", // 개교기념일
   "LOAD_DTM":"20210319141311" //적재일시
}

급식식단정보

school_data : dict = await schoolInfo.search("광주소프트웨어마이스터고등학교")
meal_data: dict = await schoolInfo.meal(
    ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
    SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"],
    MLSV_YMD=datetime.datetime(2021,10,10)
)
print(meal_data)
  1. MLSV_YMD : 급식을 구할 해당 날짜입니다.

결과값

[
   {
      "ATPT_OFCDC_SC_CODE":"F10", // 시도교육청 코드
      "ATPT_OFCDC_SC_NM":"광주광역시교육청", // 시도교육청 명
      "SD_SCHUL_CODE":"7380292", // 표준학교코드
      "SCHUL_NM":"광주소프트웨어마이스터고등학교", // 학교명
      "MMEAL_SC_CODE":"1", // 식사코드
      "MMEAL_SC_NM":"조식", //식사명
      "MLSV_YMD":"20211010", // 급식일자
      "MLSV_FGR":"228", // 급식인원 수
      "DDISH_NM":"백미밥..바지락무국/우유계란찜...1.9.13.*돼지불고기5.6.10.13.깍두기9.13.우리밀촉촉마들렌..1.2.5.6.13.", // 요리 명
      "ORPLC_INFO":"쌀 : 국내산김치류 : 국내산고춧가루(김치류) : 국내산쇠고기(종류) : 국내산(한우)돼지고기 : 국내산닭고기 : 국내산오리고기 : 국내산쇠고기 식육가공품 : 국내산돼지고기 식육가공품 : 국내산닭고기 식육가공품 : 국내산오리고기 가공품 : 국내산낙지 : 국내산고등어 : 국내산갈치 : 국내산오징어 : 국내산꽃게 : 국내산참조기 : 국내산콩 : 국내산", // 원산지 정보
      "CAL_INFO":"740.4 Kcal", // 칼로리 정보
      "NTR_INFO":"탄수화물(g) : 88.6단백질(g) : 52.2지방(g) : 20.1비타민A(R.E) : 211.0티아민(mg) : 0.9리보플라빈(mg) : 0.7비타민C(mg) : 7.2칼슘(mg) : 221.3철분(mg) : 6.5", // 영양분 정보
      "MLSV_FROM_YMD":"20211010", // 급식시작일자
      "MLSV_TO_YMD":"20211010" // 급식 종료 일자
   },
   .
   .
   .
   {
      "ATPT_OFCDC_SC_CODE":"F10",
      "ATPT_OFCDC_SC_NM":"광주광역시교육청",
      "SD_SCHUL_CODE":"7380292",
      "SCHUL_NM":"광주소프트웨어마이스터고등학교",
      "MMEAL_SC_CODE":"3",
      "MMEAL_SC_NM":"석식",
      "MLSV_YMD":"20211010",
      "MLSV_FGR":"238",
      "DDISH_NM":"오므라이스*1.2.5.6.10.12.13.15.16.18.근대된장국...5.6.13.삼색나물무침..수제오징어상추튀김/양념장..1.5.6.17.깍두기...9.13.",
      "ORPLC_INFO":"쌀 : 국내산김치류 : 국내산고춧가루(김치류) : 국내산쇠고기(종류) : 국내산(한우)돼지고기 : 국내산닭고기 : 국내산오리고기 : 국내산쇠고기 식육가공품 : 국내산돼지고기 식육가공품 : 국내산닭고기 식육가공품 : 국내산오리고기 가 공품 : 국내산낙지 : 국내산고등어 : 국내산갈치 : 국내산오징어 : 국내산꽃게 : 국내산참조기 : 국내산콩 : 국내산",
      "CAL_INFO":"777.0 Kcal",
      "NTR_INFO":"탄수화물(g) : 116.0단백질(g) : 42.4지방(g) : 16.8비타민A(R.E) : 446.3티아민(mg) : 0.4리보 플라빈(mg) : 0.8비타민C(mg) : 23.8칼슘(mg) : 203.3철분(mg) : 4.8",
      "MLSV_FROM_YMD":"20211010",
      "MLSV_TO_YMD":"20211010"
   }
]

일정 관련 정보

school_data : dict = await schoolInfo.search("광주소프트웨어마이스터고등학교")
schedule_data : dict = await schoolInfo.schedule(
    ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
    SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"]
)
print(schedule_data)

결과값

[
   {
      "ATPT_OFCDC_SC_CODE":"F10",
      "ATPT_OFCDC_SC_NM":"광주광역시교육청",
      "SD_SCHUL_CODE":"7380292",
      "SCHUL_NM":"광주소프트웨어마이스터고등학교",
      "AY":"2020",
      "DGHT_CRSE_SC_NM":"주간",
      "SCHUL_CRSE_SC_NM":"고등학교",
      "SBTR_DD_SC_NM":"공휴일",
      "AA_YMD":"20200301",
      "EVENT_NM":"3・1절",
      "EVENT_CNTNT":"None",
      "ONE_GRADE_EVENT_YN":"Y",
      "TW_GRADE_EVENT_YN":"Y",
      "THREE_GRADE_EVENT_YN":"Y",
      "FR_GRADE_EVENT_YN":"*",
      "FIV_GRADE_EVENT_YN":"*",
      "SIX_GRADE_EVENT_YN":"*",
      "LOAD_DTM":"20210414004454"
   },
   .
   .
   .
   {
      "ATPT_OFCDC_SC_CODE":"F10",
      "ATPT_OFCDC_SC_NM":"광주광역시교육청",
      "SD_SCHUL_CODE":"7380292",
      "SCHUL_NM":"광주소프트웨어마이스터고등학교",
      "AY":"2020",
      "DGHT_CRSE_SC_NM":"주간",
      "SCHUL_CRSE_SC_NM":"고등학교",
      "SBTR_DD_SC_NM":"휴업일",
      "AA_YMD":"20200305",
      "EVENT_NM":"코로나-19 휴업일",
      "EVENT_CNTNT":"None",
      "ONE_GRADE_EVENT_YN":"Y",
      "TW_GRADE_EVENT_YN":"Y",
      "THREE_GRADE_EVENT_YN":"Y",
      "FR_GRADE_EVENT_YN":"*",
      "FIV_GRADE_EVENT_YN":"*",
      "SIX_GRADE_EVENT_YN":"*",
      "LOAD_DTM":"20210414004454"
   }
]

학교 학과 정보

school_data : dict = await schoolInfo.search("광주소프트웨어마이스터고등학교")
major_data : dict = await schoolInfo.major(
    ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
    SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"]
)
print(major_data)

결과값

[
    {'ATPT_OFCDC_SC_CODE': 'F10',
    'ATPT_OFCDC_SC_NM': '광주광역시교육청',
    'SD_SCHUL_CODE': '7380292',
    'SCHUL_NM': '광주소프트웨어마이스터고등학교',
    'DGHT_CRSE_SC_NM': '주간',
    'ORD_SC_NM': '공업계',
    'DDDEP_NM': 'SW개발과',
    'LOAD_DTM': '20210401004927'
    },
    {'ATPT_OFCDC_SC_CODE': 'F10',
    'ATPT_OFCDC_SC_NM': '광주광역시교육청',
    'SD_SCHUL_CODE': '7380292',
    'SCHUL_NM': '광주소프트웨어마이스터고등학교',
    'DGHT_CRSE_SC_NM': '주간',
    'ORD_SC_NM': '공업계',
    'DDDEP_NM': '소프트웨어공통과정',
    'LOAD_DTM': '20210401004927'
    }
    .
    .
    .
]

시간표 정보

school_data : dict = await schoolInfo.search("광주소프트웨어마이스터고등학교")
timetable_data : dict = await schoolInfo.timetable(
    ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
    SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"]
)
print(timetable_data)

결과값

[
    {
        'ATPT_OFCDC_SC_CODE': 'F10',
        'ATPT_OFCDC_SC_NM': '광주광역시교육청',
        'SD_SCHUL_CODE': '7380292',
        'SCHUL_NM': '광주소프트웨어마이스터고등학교',
        'AY': '2020',
        'SEM': '1',
        'ALL_TI_YMD': '20200302',
        'DGHT_CRSE_SC_NM': '주간',
        'ORD_SC_NM': '공업계',
        'DDDEP_NM': 'SW개발과',
        'GRADE': '2',
        'CLRM_NM': '1',
        'CLASS_NM': '1',
        'PERIO': '1',
        'ITRT_CNTNT': '코로나-19 휴업일',
        'LOAD_DTM': '20200827165627'
    }, {
        'ATPT_OFCDC_SC_CODE': 'F10',
        'ATPT_OFCDC_SC_NM': '광주광역시교육청',
        'SD_SCHUL_CODE': '7380292',
        'SCHUL_NM': '광주소프트웨어마이스터고등학교',
        'AY': '2020',
        'SEM': '1',
        'ALL_TI_YMD': '20200302',
        'DGHT_CRSE_SC_NM': '주간',
        'ORD_SC_NM': '공업계',
        'DDDEP_NM': 'SW개발과',
        'GRADE': '2',
        'CLRM_NM': '1',
        'CLASS_NM': '1',
        'PERIO': '2',
        'ITRT_CNTNT': '코로나-19 휴업일',
        'LOAD_DTM': '20200827165627'
    } ...
]

반 정보 출력

school_data : dict = await schoolInfo.search("광주소프트웨어마이스터고등학교")
class_data : dict = await schoolInfo.classes(
    ATPT_OFCDC_SC_CODE=school_data["ATPT_OFCDC_SC_CODE"],
    SD_SCHUL_CODE=school_data["SD_SCHUL_CODE"]
)
print(class_data)

결과값

[
    {
        'ATPT_OFCDC_SC_CODE': 'F10',
        'ATPT_OFCDC_SC_NM': '광주광역시교육청',
        'SD_SCHUL_CODE': '7380292',
        'SCHUL_NM': '광주소프트웨어마이스터고등학교',
        'AY': '2020',
        'GRADE': '1',
        'DGHT_CRSE_SC_NM': '주간',
        'SCHUL_CRSE_SC_NM': '고등학교',
        'ORD_SC_NM': '공업계',
        'DDDEP_NM': '소프트웨어공통과정',
        'CLASS_NM': '1',
        'LOAD_DTM': '20210401002948'
    }, {
        'ATPT_OFCDC_SC_CODE': 'F10',
        'ATPT_OFCDC_SC_NM': '광주광역시교육청',
        'SD_SCHUL_CODE': '7380292',
        'SCHUL_NM': '광주소프트웨어마이스터고등학교',
        'AY': '2020',
        'GRADE': '1',
        'DGHT_CRSE_SC_NM': '주간',
        'SCHUL_CRSE_SC_NM': '고등학교',
        'ORD_SC_NM': '공업계',
        'DDDEP_NM': '소프트웨어공통과정',
        'CLASS_NM': '2',
        'LOAD_DTM': '20210401002948'
    }, etc ... 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schoolInfo-1.0.2.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

schoolInfo-1.0.2.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file schoolInfo-1.0.2.0.tar.gz.

File metadata

  • Download URL: schoolInfo-1.0.2.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.0

File hashes

Hashes for schoolInfo-1.0.2.0.tar.gz
Algorithm Hash digest
SHA256 33c1f1c156f0427f47f3c4693526e03fc479174f15eb7d9771740f0d7230ae38
MD5 487d37b2bcfcb0b40e5d1699be9276f9
BLAKE2b-256 61161c3e76abfb2fad69c60cfb338ae82be22086b92d44e475f2d038a9099738

See more details on using hashes here.

File details

Details for the file schoolInfo-1.0.2.0-py3-none-any.whl.

File metadata

  • Download URL: schoolInfo-1.0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.0

File hashes

Hashes for schoolInfo-1.0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 233262021a39e3c1e7a63f8f07a51ff74b71764d303b7e01b1fe66d50d1c40cb
MD5 8e394672faf69c7d17817d73a00facbe
BLAKE2b-256 8cf68c953d5d665610f9363ef468ae9eca19cacc1deb8a39a70a31dacbeb0fc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page