반원 블로그

4. rest api (1) - 급식 데이터 조회 본문

2018~/Python Skill Up

4. rest api (1) - 급식 데이터 조회

반원_SemiCircle 2019. 9. 6. 10:26

개요

REST API 서비스를 이용하여 다양한 데이터와 서비스를 이용해본다.

설치 패키지

  • pip3 install requests

사용할 패키지와 모듈

  • reqeusts
  • json
  • pprint

배경지식

HTTP 메소드

  • GET, POST, PATCH, PUT, DELETE 등이 있으며 주로 GET, POST가 쓰임
  • GET은 보안이 다소 요구되지않는 단순 조회에 쓰이는 방식이다. 서버에 요청할 때 딱히 보안 처리가 안된 스트링(String)으로 전송한다. 구글 검색등에 쓰이며 요청 정보가 url에 노출된다.
  • GET 요청 URL 예시 : https://search.naver.com/search.naver?ie=UTF-8&query=아이스크림&sm=chr_hty
  • POST방식은 서버에 요청할 때 인코딩 처리가 된다. 글 작성 완료, 회원정보수정 등의 기능에서 쓰인다.
  • 참고1

HTTP 상태 코드

  • 2xx는 성공, 4xx는 클라이언트 오류, 5xx는 서버 오류라고 보면 대부분 맞다.
  • 참고1

JSON

  • JavaScript Object Notation
  • 객체를 스트링(Stirng)형태로 나타내기 위한 표현식(표기법)
  • 주로 웹 요청시 자바스크립트에서 쓰이던 표기법이나, 현재는 다른 언어에서도 많이 사용중이다.
  • {"key1":"value1","key2":"value2"} 형태를 갖고 있으며, 파이썬에서는 dict형과 유사하다.
  • json은 엄연히 문자(String)임을 명심하자.
  • 참고1 참고2

급식데이터 API

Get Start : 문서 보기
HOST : https://schoolmenukr.ml
PATH : /api/[학교유형]/[학교코드]
학교유형 : elementary / middle / high
학교코드

확장사항

  • 학교코드 조회 API를 이용하면 확장할 수 있다. 링크
  • tkinter, wxpython, pyQt5 를 이용하여 GUI프로그램으로 만든다.
Comments