─━ IT ━─

공공데이터포털 API 활용 방법 및 예제 소스코드 소개

DKel 2024. 11. 11. 17:29
반응형
공공데이터포털은 다양한 공공 데이터를 API 형태로 제공하여 개발자들이 쉽게 활용할 수 있도록 돕고 있습니다. 이 글에서는 공공데이터포털 API를 활용하는 방법을 상세히 설명하고, Python을 사용한 예제 소스코드도 함께 제공하겠습니다.

 

1. API 키 발급

공공데이터포털 API를 사용하기 위해서는 먼저 API 키가 필요합니다. 공공데이터포털 웹사이트에 회원가입 후 로그인하여 원하는 API의 상세 페이지에 들어가서 API 키를 발급받을 수 있습니다.
 

2. API 요청 구성

API 요청은 주로 HTTP 프로토콜을 사용하여 이루어지며, URL, 요청 파라미터, 그리고 API 키를 포함합니다. 공통적인 URL 구조는 다음과 같습니다:
```
http://api.data.go.kr/openapi/service/rest/[서비스명]/[메소드]
```
 
예를 들어, 특정 공공 서비스의 데이터를 가져오는 경우 다음과 같이 구성할 수 있습니다:
```python
import requests
 
# API 설정
base_url = "http://api.data.go.kr/openapi/service/rest/Covid19"
endpoint = "getCovid19InfStateJson"
service_key = "YOUR_API_KEY"
 
# 요청 URL
url = f"{base_url}/{endpoint}?serviceKey={service_key}"
 
# API 요청 보내기
response = requests.get(url)
data = response.json()
 
print(data)
```
 

3. 데이터 파싱

API 응답은 일반적으로 JSON 또는 XML 형태로 반환됩니다. 이 데이터들을 파싱하여 필요한 정보만 추출하여 사용할 수 있습니다. Python의 경우 `json` 라이브러리를 사용하여 JSON 데이터를 쉽게 처리할 수 있습니다.
 
예제:
```python
import json
 
# 예시 JSON 응답
json_response = '''
{
    "response": {
        "body": {
            "items": {
                "item": [
                    {"stateDt": "20220301", "decideCnt": "300000"},
                    {"stateDt": "20220302", "decideCnt": "305000"}
                ]
            }
        }
    }
}
'''
 
# JSON 데이터 파싱
parsed_data = json.loads(json_response)
 
for item in parsed_data['response']['body']['items']['item']:
    print(f"Date: {item['stateDt']}, Confirmed cases: {item['decideCnt']}")
```
 

4. 데이터 활용

응답 데이터를 파싱한 이후에는 이를 활용하여 다양한 애플리케이션을 개발할 수 있습니다. 예를 들어, 데이터를 시각화하여 대시보드로 표시할 수 있습니다. Python에서는 `matplotlib` 또는 `pandas`와 같은 라이브러리를 이용하여 데이터를 간단히 시각화할 수 있습니다.
 
예제:
```python
import matplotlib.pyplot as plt
 
# 시각화할 데이터
dates = ["20220301", "20220302"]
cases = [300000, 305000]
 
# 데이터 시각화
plt.figure(figsize=(10, 5))
plt.plot(dates, cases, marker='o')
plt.title('Covid-19 Confirmed Cases')
plt.xlabel('Date')
plt.ylabel('Confirmed Cases')
plt.show()
```
 
이처럼 공공데이터포털 API를 활용하면 공공 데이터를 기반으로 다양한 응용 프로그램을 개발할 수 있습니다. 데이터의 형태에 따라서 적절한 라이브러리를 사용하여 구체적인 분석 및 시각화 작업을 수행해보세요.

반응형