반응형
공공 데이터 API로 간단한 실습 같은게 있으면 좋을 것 같아서
서울시 공공데이터에 들어가 봤는데...
일단 회원가입을 하고 API Key를 받아야 한다
귀찮지만 가입을 했는데, 하루에 1천번 밖에 못쏜다 ㅠㅠ
물론 천번 쏠일이야 없겠지만
또 사람 마음이 참... 찾다보니 sample로 호출도 가능 한것 같다
기본 url에 파라메터를 조합하는 형식인데, 응답을 xml 형태로 만들어 준다
파이썬의 ET 라이브러리를 이용해 xml 데이터를 파싱 하여 사용 가능 할것 같다
import requests
# url = "http://openapi.seoul.go.kr:8088/sample/xml/ListRainfallService/1/5/%EC%84%9C%EC%B4%88%EA%B5%AC" # 서초구 실시간 강우량
# url = "http://openapi.seoul.go.kr:8088/sample/xml/ListRainfallService/1/5/%EA%B0%95%EB%82%A8%EA%B5%AC" # 강남구 실시간 강우량
url = "http://openapi.seoul.go.kr:8088/sample/xml/GetParkingInfo/1/5/%EC%A2%85%EB%A1%9C%EA%B5%AC" # 종로구 실시간 주차
response = requests.get(url)
if response.status_code == 200:
xml_data = response.text
import xml.etree.ElementTree as ET
root = ET.fromstring(xml_data)
for row in root.findall('.//row'):
parking_name = row.find('PARKING_NAME').text
capacity = row.find('CAPACITY').text # 총 주차면
current_parking = row.find('CUR_PARKING').text # 현재 주차 차량수
current_time = row.find('CUR_PARKING_TIME').text
if parking_name == "세종로 공영주차장(시)":
remaining_parking = float(capacity)-float(current_parking)
print(f"조회시간: {current_time}, 주차장 이름: {parking_name}, 잔여주차대수: {remaining_parking:.0f}대, 전체주차대수: {capacity}대")
else:
pass
else:
print(f"Error: Unable to fetch data. Status Code: {response.status_code}")
이렇게 샘플 API 를 호출 하면 세종로 공영주차장(시) 정보를 깔끔히 정제 해서 가져온다
좋구먼 :)
반응형
'QA Engineering > Server API Test' 카테고리의 다른 글
POSTMAN db 정보를 pre-rq script 에 담기 (1) | 2024.02.05 |
---|---|
Postman Tests 탭에서 변수 선언 (0) | 2023.09.05 |
Postman Pre-requests 변수 사용 (0) | 2023.09.05 |
POSTMAN pm.variables.get, pm.environment.get 차이 (0) | 2023.08.08 |
for 문으로 주기적으로 로그 압축 하기 (0) | 2022.01.27 |