크롤링 - 공공데이터 오픈API 활용
본문 바로가기
파이썬(Python)/크롤링 연습

크롤링 - 공공데이터 오픈API 활용

by 레아დ 2022. 8. 23.

공공데이터 사이트 오픈 API 자료를 통해 슥슥슥 ~!

공공데이터 - https://www.data.go.kr

공공데이터 포털에서 자료를 보기 위해서는
회원가입을 하고 ㅡ 개발 계정에서 개인 인증키를 발급 받아야 사용 가능함.

import warnings
warnings.filterwarnings(action='ignore')

# 모듈 임포트 
import requests

활용한 자료 : 과학기술정보통신부 우정사업본부_도로명주소조회서비스
- https://www.data.go.kr/data/15000124/openapi.do
url = 'http://openapi.epost.go.kr/postal/retrieveNewAdressAreaCdService/retrieveNewAdressAreaCdService/getNewAddressListAreaCd'

# 일반 인증키(Decoding)
API_key = '개인이 발급받은 인증키'


화면을 잘 봐야한다...
휴.... url 주소를 잘못넣어서 ..


이렇게 화면에 아주 상세히 알려주신다.

searchSe = 'road'

# 먹어보고싶은 라호짬뽕 주소♥
srchwrd = '마린시티1로 137'

paramt = {
    'ServiceKey' : API_key,
    'searchSe' : searchSe,
    'srchwrd' : srchwrd
}

r = requests.get(url, params=paramt)
r.text
결과 이미지

# XML 데이터를 딕셔너리 데이터로 변환
# pip install xmltodict
# 설치 후 임포트
import xmltodict

수업은 주피터 노트북을 이용한다.
뭔가 편하긴하지만 수업때 사용한 컴퓨터랑 집에서 사용하는 컴퓨터랑 다르니 약간(?) 불편해서
구글 코랩을 사용한다.
아.. 진짜 코랩 모듈 불러올때마다 설치되어 있는지 확인 후 진행해야한다...

dict_data = xmltodict.parse(r.text)
dict_data
결과 이미지

# 도로명 주소와 지번주소 추출
adr_list = dict_data['NewAddressListResponse']['newAddressListAreaCd']

print(f'입력한 도로명 주소  : {srchwrd}')
print(f'응답 데이터 결과')
print(f'- 우편번호 : {adr_list["zipNo"]}')
print(f'- 도로명주소 : {adr_list["lnmAdres"]}')
print(f'- 지번주소 : {adr_list["rnAdres"]}')

print('----------------------')
adr_list

✌ 뿅 !

입력한 도로명 주소  : 마린시티1로 137
응답 데이터 결과
- 우편번호 : 48118
- 도로명주소 : 부산광역시 해운대구 마린시티1로 137 (우동, 대우월드마크해운대)
- 지번주소 : 부산광역시 해운대구 우동 1435-2 대우월드마크해운대
----------------------
{'zipNo': '48118',
 'lnmAdres': '부산광역시 해운대구 마린시티1로 137 (우동, 대우월드마크해운대)',
 'rnAdres': '부산광역시 해운대구 우동 1435-2 대우월드마크해운대'}

📖 배운거 복습용으로 작성
작성 기준일 : 22. 08. 23 / 구글 코랩
※ 고수님들 만약 내용에 잘못된 부분이 있다면 알려주세요 😉

728x90