728x90
반응형
블로그에 하루하루 파이썬 공부를 하면서 코딩한 내용을 정리하고 있는데 복습의 의미도 있고 나름 정리도 되면서 좋은 점이 많은 것 같습니다. 오늘은 정부에서 운영중인 공공데이터 포털 사이트의 Open API 를 이용하여 " 미세먼지 " 데이터를 XML 형태로 가져와서 데이터 가공을 해 보도록 하겠습니다.
우선 공공데이터 포털에 접속하여 연동할 데이터 검색 후 [ 활용신청 ] 을 해 주셔야 합니다. 활용신청을 하면 위와 같은 페이지가 접속이 되는데 디폴트로 체크되어 있는 값을 그대로 유지한채로 상세기능정보과 라이센스 표시 동의를 한 후에 " 신청 " 버튼을 클릭합니다.
API 활용신청 후 신청이 완료되면 마이페이지 > 개발계정 메뉴에 접속해 보시면 [ 일반 인증키 ] 부분에 Open API 연동에 필요한 인증키가 발급된 부분을 확인 할 수 있습니다. 해당 인증키를 기반으로 XML 형태의 데이터를 가져오는 소스 코드를 아래와 같이 작성하면 됩니다.
import requests
from bs4 import BeautifulSoup
open_api_key = '공공데이터 인증키 입력'
params = '&numOfRows=10&pageNo=1&sidoName=서울&ver=1.3'
# 파라미터 값을 params 의 변수에 저장
open_url = 'http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty?ServiceKey=' + open_api_key + params
# Open API URL 생성
res = requests.get(open_url)
soup = BeautifulSoup(res.content, 'html.parser')
# XML 도 Html 과 동일하게 html.parser 이용
data = soup.find_all('item')
# XML 데이터에서 item 태그를 모두 불러와 data 변수에 저장
for item in data:
# print(data)
stationname = item.find('stationname')
pm10grade = item.find('pm10grade')
print(stationname.get_text(), pm10grade.get_text())
※ 결과값
영등포구 2
금천구 2
용산구 2
728x90
반응형
'Coding Study > Python' 카테고리의 다른 글
파이썬 문자열 함수 정리 (0) | 2020.02.26 |
---|---|
파이썬으로 특정 사이트 로그인해서 정보 크롤링하기 (2) | 2020.02.25 |
파이썬 - 네이버 Open API 를 이용한 쇼핑 검색결과 엑셀 파일에 저장하기 (1) | 2020.02.17 |
파이썬 웹크롤링 - 네이버 쇼핑 BEST 100 상품명 크롤링하기 (0) | 2020.02.12 |
파이썬 - 게시판 제목 크롤링하여 엑셀파일에 저장하기 (0) | 2020.02.11 |