ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [API] 공공데이터 API 접속하기
    Computer Science 2023. 6. 2. 07:02
    728x90

    기상청 단기예보 조회서비스를 이용하여 api를 호출해보자.

    ❖ 맥북(Mac) 화면 캡쳐 방법(단축키)

    1. 전체화면 스크린샷: Command + Shift + 3

    2. 영역지정 캡처: Command + Shift + 4

    3. 특정 창 캡처: Command + Shift + 4 누른 후, SpaceBar

    4. 스크린샷 앱 이용: Command + Shift + 5

    5. 터치바 캡처: Command + Shift + 6

    6. 미리보기 앱 이용: 미리보기앱 > 파일 > 스크린샷 ("전체화면" 사용시, 마우스, 드래그 영역 함께 캡쳐 가능)

    * Only 복사(저장X) : Command + Shift + Control + 3/4/6

    기상청 단기예보 조회서비스를 공공데이터 api를 이용해 JSON 형식으로 반환해보자.

    이렇게 공공데이터 포탈(www.data.go.kr)을 이용해 api에 접근할 수 있다.

    활용신청 상세기능정보에서 초단기실황조회를 클릭하고,

    각 변수에 원하는 값을 집어넣는다.

    ServiceKey : 서비스 정보에서 받은 일반 인증키

    base_data : 발표 일자(최근 24시간 데이터만 제공)

    base_time : 발표 시각(02, 05, 08, 11, 14, 17, 20, 23시에 발표)

    nx : 예보지점 x좌표값(같이 제공되는 엑셀에서 확인 가능)

    ny : 예보지점 y좌표값(같이 제공되는 엑셀에서 확인 가능)

    numOfRows : 한 페이지 결과 수(높으면 많은 값이 한번에 온다)

    pageNo : 페이지 번호

    _type : 반환되는 형식.

    기본은 xml이나, json이 조금 더 편해서 json으로 받는다.

     

    호출하면 이런 식으로 데이터가 XML 형태로 주어진다.

    호출형태를 JSON으로 지정하면 다음과 같은 결과가 주어진다.

    번외_사업자번호 등록 API 호출하기

    import requests
    
    headers = {
        'accept': 'application/json',
        'Authorization': 's+v4VsJPXW/BBbZSDIEz4+91lr3Zn6vs8nzbQgwBeoZKBzR3xxNx+6S0KvgasNlNlOggXYUZIyOtPbNbIlHIdw==',
        'Content-Type': 'application/json',
    }
    
    params = {
        'serviceKey': 's+v4VsJPXW/BBbZSDIEz4+91lr3Zn6vs8nzbQgwBeoZKBzR3xxNx+6S0KvgasNlNlOggXYUZIyOtPbNbIlHIdw==',
    }
    
    json_data = {
        'b_no': [
            '0000000000',
        ],
    }
    
    response = requests.post('https://api.odcloud.kr/api/nts-businessman/v1/status', params=params, headers=headers, json=json_data)
    
    
    import pprint
    pprint.pprint(response.json()) # 출력결과 확인

     

    ❯ /usr/local/bin/python3 /Users/imhyeog/Desktop/workspace/worker_api.py
    {'data': [{'b_no': '0000000000', # 사업자번호 입력
               'b_stt': '',
               'b_stt_cd': '',
               'end_dt': '',
               'invoice_apply_dt': '',
               'rbf_tax_type': '',
               'rbf_tax_type_cd': '',
               'tax_type': '국세청에 등록되지 않은 사업자등록번호입니다.',
               'tax_type_cd': '',
               'tax_type_change_dt': '',
               'utcc_yn': ''}],
     'request_cnt': 1,
     'status_code': 'OK'}
    ❯ /usr/local/bin/python3 /Users/imhyeog/Desktop/workspace/worker_api.py
    {'data': [{'b_no': '1272195603',
               'b_stt': '계속사업자',
               'b_stt_cd': '01',
               'end_dt': '',
               'invoice_apply_dt': '',
               'rbf_tax_type': '해당없음',
               'rbf_tax_type_cd': '99',
               'tax_type': '부가가치세 일반과세자',
               'tax_type_cd': '01',
               'tax_type_change_dt': '',
               'utcc_yn': 'N'}],
     'match_cnt': 1,
     'request_cnt': 1,
     'status_code': 'OK'}
    728x90

    'Computer Science' 카테고리의 다른 글

    [OS] File System에서의 레코드와 필드  (0) 2023.06.22
    [Back-End] 웹 크롤러 작업 흐름  (0) 2023.06.14
    [DB]SQLD_2  (0) 2023.05.25
    [DB] SQLD_1  (0) 2023.05.21
    [OS] vi 편집기  (0) 2023.05.09
Designed by Tistory.