교육 정보
- 교육 명: 경기미래기술학교 AI 교육
- 교육 기간: 2023.05.08 ~ 2023.10.31
- 오늘의 커리큘럼: 빅데이터 기초 활용 역량 강화 (5/10~6/9) - 데이터 수집
- 강사: 조미정 강사님 (빅데이터, 머신러닝, 인공지능)
- 강의 계획:
1. 파이썬 언어 기초 프로그래밍
2. 크롤링 - 데이터 분석을 위한 데이터 수집(파이썬으로 진행)
3. 탐색적 데이터 분석, 분석 실습
- 분석은 파이썬만으로는 할 수 없으므로 분석 라이브러리/시각화 라이브러리를 통해 분석
4. 통계기반 데이터 분석
5. 미니프로젝트
공공데이터의 개념
- 공공 데이터?
- 공공기관이나 정부가 보우하고 있는 데이터
- 일반 데이터에 비해 상대적으로 가치가 높음
- 누구나 자유롭게 이용 가능
- 접근을 위해 회원가입 및 인증키 발행 필요
공공데이터 사이트
국내
• 통합데이터 지도 : https://www.bigdata-map.kr/ (20.03.31 출시)
• 공공데이터포털 : https://www.data.go.kr/
• 통계지리정보서비스 : https://sgis.kostat.go.kr/view/index
• 서울 열린 데이터 광장 : http://data.seoul.go.kr/
• 부산 공공데이터 포털 : https://data.busan.go.kr/index.nm
• 빅데이터 센터 : https://kbig.kr/portal/국외
• 미국 공공데이터센터 : https://www.data.gov/
• 중국국립데이터센터 : http://data.stats.gov.cn/
• 경제협력개발기구(OECD) 데이터베이스: https://data.oecd.org/
• 세계은행 공개정보 : https://data.worldbank.org/
공공데이터 API의 개념
- HTTP요청을 통해 공공데이터를 받아오는 API
- 공공 데이터 포털 (https://www.data.go.kr/) 회원 가입
- 도로명주소 조회 서비스 - 활용 신청
- 마이페이지에서 확인 가능 (승인이 났어도 인증키 활성화는 몇시간정도 걸릴 수 있음)
라이브러리 가져오기
!pip install xmltodict import requests import xmltodict #xml자료를 dict형태로 변환 import pprint as pp # print보다 가독성이 좋게 출력해주는 라이브러리
요청 서비스 URL, Key값 확인하기
serviceKey= "발행받은 인증키 입력" url= "서비스 URL 입력"
서비스 URL 호출하기
search_se = 'road' # 검색 방법 srch_wrd = '한강대로 391' # 검색어 req_param = {'ServiceKey':serviceKey ,'searchSe':search_se, 'srchwrd':srch_wrd } response = requests.get(url, params= req_param) # 설정한 파라미터로 데이터를 요청해서 response변수에 저장 print(response.status_code) # HTTP status code, 200이면 회신이 이루어짐을 알 수 있음 print(response.text) # 요청해서 받아온 데이터
데이터 처리
print(response.text) # xml 형태인 response.text를 접근이 용이하도록 dict으로 바꿔야 함 response_dict = xmltodict.parse(response.text) #데이터를 dcit 형태로 파싱 print(response_dict) pp.pprint(response_dict)
최종적으로 아래와 같이 검색된 도로명 주소를 받아올 수 있다.
# pp.pprint(response_dict)의 출력값 {'NewAddressListResponse': {'cmmMsgHeader': {'countPerPage': '10', 'currentPage': None, 'errMsg': None, 'requestMsgId': None, 'responseMsgId': None, 'responseTime': '20230523:165012732', 'returnCode': '00', 'successYN': 'Y', 'totalCount': '1', 'totalPage': '1'}, 'newAddressListAreaCd': {'lnmAdres': '서울특별시 용산구 ' '한강대로 391 ' '(동자동, 센트럴 ' '프라자)', 'rnAdres': '서울특별시 용산구 동자동 ' '43-56 센트럴 프라자', 'zipNo': '04320'}}}