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.3.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.3-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: schoolInfo-1.0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 254d874d2b76962656edd04900d8c4cc956a4337d1b49d1377c309d8d80a75b2
MD5 d37aeb26c585cc23fe1fec856801f2b0
BLAKE2b-256 194641030f2fd521f1f268f80824020924cf22cca4ee8ffc624e70d348c6f3cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: schoolInfo-1.0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5a7291761f71068bd4fa4eba65b08ee395d30edd3279f20bf3765e9976b1e998
MD5 a24ef2f7a8d5ba0b7a41ddb174056183
BLAKE2b-256 5151baa7c43a1745431d68fb115cc088312d291a96ba9fd57f4cf5e5d2ee6597

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