공공데이터포털 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}")
코드 설명
- API 요청 URL 설정: API URL을 설정하고, 필요한 파라미터들을 설정합니다.
- API 호출:
requests.get()
함수를 사용하여 API를 호출합니다. 이때, 파라미터를 인자로 전달하여 쿼리 파라미터를 포함시킵니다. - 응답 상태 코드 확인: 요청이 성공했는지 확인합니다. 상태 코드가 200이면 성공적으로 데이터를 가져온 것입니다.
- JSON 데이터 파싱: JSON 데이터를 파싱하여 사용할 수 있습니다.
- 데이터 출력: 파싱된 데이터를 보기 좋은 형식으로 출력할 수 있습니다.
4. SSL 인증서 오류 처리
API를 호출하는 동안 SSL 인증서 오류가 발생할 수 있습니다. 이는 서버의 SSL 인증서가 신뢰할 수 없거나, 로컬 환경에서 인증서 검증에 문제가 있을 때 발생합니다. 이 문제를 해결하기 위한 방법은 다음과 같습니다:
1) 인증서 검증 비활성화 (개발 환경에서만 사용)
SSL 인증서 오류가 발생할 경우, 개발 환경에서 테스트할 때는 인증서 검증을 비활성화하여 문제를 해결할 수 있습니다. 그러나 이는 보안에 취약하므로 운영 환경에서는 사용을 지양해야 합니다.
2) 패키지를 사용한 인증서 경로 지정
또 다른 방법으로는 certifi
패키지를 사용하여 신뢰할 수 있는 인증서 경로를 지정하는 것입니다. 이를 통해 인증서 오류를 해결할 수 있습니다.
결론
이 글에서는 공공데이터포털 API를 사용하여 JSON 데이터를 가져오는 방법을 설명했습니다. API 호출 시 발생할 수 있는 SSL 인증서 오류를 해결하는 방법도 함께 다루었습니다. 이제 이 방법을 사용하여 다양한 공공 데이터를 프로그램에 통합하고, 유용한 애플리케이션을 개발할 수 있습니다.
공공데이터포털의 API는 매우 유용한 데이터 소스이며, 이와 같은 방법으로 데이터에 접근하여 원하는 정보를 쉽게 얻을 수 있습니다. Python을 사용하여 데이터를 자동화하고 분석하는 능력은 현대 데이터 과학 및 개발 분야에서 중요한 기술 중 하나입니다.
'IT 일반' 카테고리의 다른 글
경기도일자리재단 신입직원 채용 전략[IT 직무 대비] (0) | 2024.08.15 |
---|---|
[202408] 머신러닝 빠르게 알아보기 (1) | 2024.08.14 |
[202408] 딥러닝에 대해 빠르게 알아보기 (0) | 2024.08.13 |
[202408] Python 에서 사용하는 주요 외부모듈 소개 (0) | 2024.08.13 |
[202408] 프로그래밍 언어 인기도 소개(TIOBE 인덱스) (0) | 2024.08.12 |