Skip to main content

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

Project description

SchoolInfo

Neis API 기반으로 학교 정보, 급식 정보, 반 정보, 시간표 정보 등 제공 비동기 서비스

설치하기

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.1.2.tar.gz (12.0 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.1.2-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: schoolInfo-1.0.1.2.tar.gz
  • Upload date:
  • Size: 12.0 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.1.2.tar.gz
Algorithm Hash digest
SHA256 1ee3fec1d3976a67bda121b00f80e22b9e77286d9042e9ea9d5c2f294e066147
MD5 085a400df43ebe24343d07d5cb3d0bd1
BLAKE2b-256 705eae6e90d51b2806cc1da89e926ce643e9236c2847728be8ccc55090948790

See more details on using hashes here.

File details

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

File metadata

  • Download URL: schoolInfo-1.0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 701310d75d3b08b9707f9122afc8efb911301e3d0cb4d0a9c523b02f648c8bb0
MD5 48c7de7aa6d687451ab0d0f8c19d0da4
BLAKE2b-256 c98873442bfb6c3c86ee15ec6d92be6884e15933b55684118c8e17ba5f524f0f

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