본문 바로가기

IT 일반

[202408] 공공데이터포털 API 사용 방법 안내(코드 포함)

반응형

공공데이터포털 API를 사용하여 JSON 데이터 가져오기

공공데이터포털은 다양한 공공 데이터를 무료로 제공하는 플랫폼입니다. 이 데이터는 일반적으로 API를 통해 접근할 수 있으며, JSON 형식으로 제공되는 경우가 많습니다. 이 글에서는 Python의 requests 라이브러리를 사용하여 공공데이터포털의 API에서 JSON 데이터를 가져오는 방법을 소개합니다.

1. Python 환경 설정

우선, 필요한 라이브러리를 설치해야 합니다. requests는 HTTP 요청을 보내고 응답을 받는 데 사용되는 Python의 기본 라이브러리 중 하나입니다.

2. API 호출을 위한 기본 설정

공공데이터포털에서 제공하는 API를 호출하기 위해서는 API 키가 필요합니다. 공공데이터포털에 가입하여 API 키를 발급받을 수 있습니다. 이 예시에서는 주어진 API URL을 사용하여 데이터를 가져오는 방법을 설명하겠습니다.

API 요청 URL

다음은 사용할 API 요청 URL의 예시입니다:

  • page: 가져올 페이지 번호
  • perPage: 페이지당 데이터 수
  • serviceKey: 공공데이터포털에서 발급받은 API 키 * 일반 인증키(Decoding) 사용

3. Python 코드로 API 호출하기

Python 코드에서는 requests 라이브러리를 사용하여 API에서 JSON 데이터를 가져올 수 있습니다.

import requests
import json

# 1. API 요청을 위한 URL 설정
request_url = "https://api.odcloud.kr/api/15099316/v1/uddi:cfee6c20-4fee-4c6b-846b-a11c075d0987"
params = {
    "page": 1,
    "perPage": 10,
    "serviceKey": "본인 serviceKey"
}

# 2. API 호출
response = requests.get(request_url, params=params, verify=False)

# 3. 응답 상태 코드 확인
if response.status_code == 200:
    # 4. JSON 데이터 파싱
    data = response.json()

    # 5. 파싱된 데이터 출력
    print(json.dumps(data, indent=4, ensure_ascii=False))
else:
    print(f"API 호출 실패: {response.status_code}")

코드 설명

  1. API 요청 URL 설정: API URL을 설정하고, 필요한 파라미터들을 설정합니다.
  2. API 호출: requests.get() 함수를 사용하여 API를 호출합니다. 이때, 파라미터를 인자로 전달하여 쿼리 파라미터를 포함시킵니다.
  3. 응답 상태 코드 확인: 요청이 성공했는지 확인합니다. 상태 코드가 200이면 성공적으로 데이터를 가져온 것입니다.
  4. JSON 데이터 파싱: JSON 데이터를 파싱하여 사용할 수 있습니다.
  5. 데이터 출력: 파싱된 데이터를 보기 좋은 형식으로 출력할 수 있습니다.

4. SSL 인증서 오류 처리

API를 호출하는 동안 SSL 인증서 오류가 발생할 수 있습니다. 이는 서버의 SSL 인증서가 신뢰할 수 없거나, 로컬 환경에서 인증서 검증에 문제가 있을 때 발생합니다. 이 문제를 해결하기 위한 방법은 다음과 같습니다:

1) 인증서 검증 비활성화 (개발 환경에서만 사용)

SSL 인증서 오류가 발생할 경우, 개발 환경에서 테스트할 때는 인증서 검증을 비활성화하여 문제를 해결할 수 있습니다. 그러나 이는 보안에 취약하므로 운영 환경에서는 사용을 지양해야 합니다.

2) 패키지를 사용한 인증서 경로 지정

또 다른 방법으로는 certifi 패키지를 사용하여 신뢰할 수 있는 인증서 경로를 지정하는 것입니다. 이를 통해 인증서 오류를 해결할 수 있습니다.

결론

이 글에서는 공공데이터포털 API를 사용하여 JSON 데이터를 가져오는 방법을 설명했습니다. API 호출 시 발생할 수 있는 SSL 인증서 오류를 해결하는 방법도 함께 다루었습니다. 이제 이 방법을 사용하여 다양한 공공 데이터를 프로그램에 통합하고, 유용한 애플리케이션을 개발할 수 있습니다.
공공데이터포털의 API는 매우 유용한 데이터 소스이며, 이와 같은 방법으로 데이터에 접근하여 원하는 정보를 쉽게 얻을 수 있습니다. Python을 사용하여 데이터를 자동화하고 분석하는 능력은 현대 데이터 과학 및 개발 분야에서 중요한 기술 중 하나입니다.

반응형