728x90
설명
코로나19 관련된 해외 운항, 입국, 코로나19 관련 등의 국가·지역별 최신안전소식을 제공합니다.
요청시 최신의 정보만을 제공합니다.
데이터 구조
content : 컬럼이 없는 항목도 있습니다. 이 경우에는 해당 국가에서 메시지를 준비? 하지 않은 것으로 보입니다.
totalCount : 총 항목의 수를 의미
numOfRows : 한 페이지당 보여줄 항목의 수
pageNo : 페이지
*
totalCount가 84개 이고 numOfRows가 10이면 pageNo를 1부터 9까지 9번 요청하면 됩니다.
numOfRows를 100정도 pageNo를 1로 해서 요청하면, 한페이지에 모든 항목이 들어갑니다.
브라우저 요청 결과입니다.
content가 없는 국가의 항목들
한번에 호출
요청하기 전까지는 totalCount 를 알 수 없습니다.
임의의 큰 수로 요청하시면 됩니다.
코드
발급 받으신 키값만 수정하시면 됩니다.
응답 데이터에 대해서 xml 파일로 쓰며 브라우저로 띄워줍니다.
'''
외교부_국가·지역별 최신안전소식(코로나관련)
'''
import webbrowser
import requests
from urllib import parse
import xml.dom.minidom
url = 'http://apis.data.go.kr/1262000/SafetyNewsList/getCountrySafetyNewsList'
key = 'Input Your Key'
queryParams = f'?{parse.quote_plus("ServiceKey")}={key}&' + parse.urlencode({
parse.quote_plus('numOfRows') : '500',
parse.quote_plus('pageNo') : '1',
parse.quote_plus('title1') : '입국',
parse.quote_plus('title2') : '코로나',
parse.quote_plus('title3') : '운항',
parse.quote_plus('title4') : '항공권',
parse.quote_plus('title5') : '격리'
})
res = requests.get(url + queryParams)
webbrowser.open(res.request.url)
xml = xml.dom.minidom.parseString(res.text)
pretty_xml = xml.toprettyxml()
with open('result.xml', 'w', encoding='utf-8') as f:
f.write(pretty_xml)
직관적으로는 챗봇으로 활용하고 싶네요.
'API' 카테고리의 다른 글
공공데이터 포털 Open API 사용하기 : 외교부_국가·지역별 최신안전소식(코로나관련) -3 : 텔레그램 봇 만들어 활용하기 (0) | 2020.07.17 |
---|---|
공공데이터 포털 Open API 사용하기 : 외교부_국가·지역별 최신안전소식(코로나관련) -2 : 데이터 전처리 (0) | 2020.07.17 |
공공데이터 포털 Open API 사용하기 : 보건복지부_코로나19 연령별·성별감염_현황 -3 : 그래프 그리기 (1) | 2020.07.15 |
공공데이터 포털 Open API 사용하기 : 보건복지부_코로나19 연령별·성별감염_현황 -2 : 데이터 파싱 (0) | 2020.07.15 |
공공데이터 포털 Open API 사용하기 : 보건복지부_코로나19 연령별·성별감염_현황 (0) | 2020.07.15 |