[수출입 데이터 자동화 02] 관세청 Open API 파이썬 연결하기, 두 개의 수출입 API 연결 과정
더듬더듬 하던 파이썬을 다시 또 해봐야 한다니 한숨이 나오지만 뭐 어쩌겠는가. 시작했으니 마무리는 지어봐야지 싶었다. 수출입 관련 자료를 그냥 해당 사이트에서 다운로드 받아 보면 그만인 것을 왜 이렇게까지 해보겠다고 난리인지 나도 나를 모르겠다.
막상 오픈 API를 신청하고 승인을 받고 보니 끝이 아니었다. 그래서 이걸 어디서 받아본다는 건가 싶었는데, 결국 파이썬을 이용해 직접 자료를 받아봐야 했다. 맥북을 사용하다 보면 부트캠프 윈도우를 사용할 때가 많다. 그러나 쾌적한 환경은 아니어서 결국 다시 맥을 켜게 된다. 일단 macOS에서 파이썬을 새로 시작해보기로 했다.
1. macOS에서 파이썬 설치하기
(1) 터미널을 열자. ⌘ Command + Space(스페이스바)를 눌러 ‘터미널’이라고 검색한다.
(2) 터미널 앱이 열리면 아래 명령어를 복사해 붙여넣은 후 엔터를 누른다.
python3 --version
위 코드를 터미널에 넣어 확인해보니 아직 내가 사용하려는 파이썬 환경이 준비되어 있지 않았다. 이제 파이썬을 설치해야 한다. 잘 알지도 못하는 파이썬을 부트캠프 윈도우에도 설치하고 macOS에도 설치를 해야 하니 내가 이걸로 얼마나 뭘 할지 감도 안 온다.
파이썬 공식 사이트로 이동해 macOS용 파이썬을 다운로드 받아 설치했다.
내가 다운로드 받은 버전은 Python 3.13.15였다. Stable Releases에서 macOS installer를 선택해 다운로드 받아 설치했다.
설치가 잘 되었는지 다시 터미널에서 확인했다.
python3 --version
Python 설치 확인
Python 3.13.15
파이썬 설치까지는 성공했다. 이제 이전 글에서 신청하고 승인받은 관세청 Open API를 실제로 연결해볼 차례다.
2. 관세청 Open API 연결 시작하기
이전 글에서 아래 두 가지 Open API를 신청하고 승인받았다. 아래 이전 글을 참고하면 된다.
신청·승인받은 Open API
관세청_품목별 국가별 수출입실적(GW)
관세청_수출 주요품목별 10일 단위 잠정치 통계
3. 품목별 국가별 수출입실적(GW) 연결하기
이번에는 승인받은 관세청_품목별 국가별 수출입실적(GW), 관세청_수출 주요품목별 10일 단위 잠정치 통계의 API를 파이썬에 연결해보기로 했다.
(1) 아래 버튼을 클릭해 공공데이터포털의 관세청_품목별 국가별 수출입실적(GW) 페이지로 이동한다.
(2) 내가 확인한 경로는 아래와 같다.
마이페이지 → Open API → 활용신청 현황 → 관세청_품목별 국가별 수출입실적(GW)
(3) 상세 화면 하단에서 요청주소 / 요청변수를 찾는다.
여기서부터 갑자기 개발자 영역에 들어온 기분이다. 처음 보는 용어라 도대체 뭘 보라는 건지 모르겠다. 하나씩 확인해보니 생각보다 뜻은 단순했다.
요청주소는 파이썬이 데이터를 요청하러 갈 주소이고, 요청변수는 그때 함께 입력해야 하는 조건이었다.
결국 내가 할 일은 원하는 기간과 품목 등의 조건을 넣고 관세청에서 자료를 받아보는 것이었다. 그리고 이 과정에는 내게 발급된 일반 인증키가 필요했다.
(1) 일반 인증키를 찾는다. 내가 확인한 경로는 아래와 같다.
마이페이지 → 데이터 활용 → Open API → 활용신청 현황
(2) 이 페이지에서 [승인] 관세청_품목별 국가별 수출입실적(GW)을 클릭한다.
들어가보면 일반 인증키가 있다. 숫자와 영어가 섞인 긴 문자열인데 이 값을 복사했다. 인증키를 파이썬 코드에 직접 입력하는 방법도 있지만 이번에는 그렇게 하지 않고 Mac에 따로 저장했다. 파이썬이 필요할 때 이 값을 읽어오도록 해보기로 했다.
진행 순서
일반 인증키 복사 → Mac에 인증키 저장 → Python에서 읽기 → 관세청 API 연결 → 수출입 데이터 확인
인증키를 Mac에 따로 저장하고 Python이 이 인증키를 읽어 관세청 API에 접속하도록 했다. 그런데 처음 실행했을 때 SSL 인증서 오류가 발생했다.
관세청 API 연결 기록
Python : 3.13.15
작업 파일 : ~/Desktop/customs_test.py
인증키 저장 : ~/.customs_api_key
API : 관세청_품목별 국가별 수출입실적(GW)
발생 오류 : SSL: CERTIFICATE_VERIFY_FAILED
내 경우에는 아래 경로에서 인증서 설치 파일을 실행했다.
응용 프로그램 → Python 3.13 → Install Certificates.command
이 과정을 거친 뒤 다시 Python 파일을 실행했다.
python3.13 customs_test.py
이 과정을 거친 뒤 다시 Python 파일을 실행했다. 터미널 화면에 영어와 숫자가 길게 나타났다. 처음에는 오류가 난 줄 알았는데, 관세청에서 받아온 수출입 자료였다. 일단 내가 만든 파이썬 파일을 실행해 관세청에서 실제 자료를 받아오는 것까지는 성공했다.
4. 10일 단위 잠정치 API 연결하기
이번에는 관세청_수출 주요품목별 10일 단위 잠정치 통계를 연결해보기로 했다.
(1) 이번에는 첫 번째 API와 화면이 조금 달랐다. 페이지 하단의 활용 정보 → 상세기능으로 내려가면 API 목록이 나온다. 여기에서 파란색 GET 버튼이 있는 줄을 클릭하니 입력해야 할 항목을 확인할 수 있었다.
확인해보니 일반 인증키와 조회할 시작년월·종료년월이 필요했다.
(2) 실제로 연결되는지 확인하기 위해 새로운 파이썬 파일을 만들었다. 파일 이름은 내가 알아보기 쉽게 customs_10day_test.py라고 정했다. 첫 번째 API를 테스트했던 파일과 구분하기 위해 새 파일을 만든 것이다. Mac에 따로 저장해둔 인증키를 불러오고 조회할 기간을 지정해 자료를 요청하도록 했다.
5. 두 개의 관세청 API 연결 완료
이렇게 두 번째까지 무사히 마쳤다. 이걸 내가 또 하고 있다니…. 쓸데없는 것에 우선순위를 두고 있는 건 아닌가 하는 우려도 있다. 어쨌든 오늘 파이썬을 이용해 신청한 Open API 2개를 연결하는 것까지 성공했다. 더 정확하게 말하면 이전 자료를 실제로 받아보는 것까지 성공했지만, 나는 아직 그 자료를 알아볼 수가 없어서 더 이상의 설명은 불가능하다.
내일이 10월 1일이니까 최신 자료를 직접 받아보면 궁금증이 조금은 해소될 것 같다. 사실 중요한 건 결국 자료를 해석하는 능력일 텐데, 이런 주변 능력을 키워서 무슨 소용인가 싶기도 하다.
자동화하는 방법은 여러 가지가 있을 것 같다. GitHub와 Notion을 이용한다거나, Telegram으로 알림을 받는다거나 하는 식으로 말이다. 이건 실제 자료를 한번 다뤄본 뒤에 더 생각해보기로 하자.
📌 현재 진행 상태
macOS Python 설치 → 일반 인증키 저장 → SSL 인증서 오류 해결 → 관세청 Open API 2개 연결까지 성공.
다음 단계는 실제 최신 수출입 자료를 받아 파일로 저장해보는 것이다.
댓글
댓글 쓰기