728x90
서울시 공영주차장 Open API
이번 포스팅에서는 서울 열린데이터 광장에서 제공하고 있는 Open API를 통해서 서울시에 위치한 공영주차장 정보를 가져오도록 하겠다. 해당 관련 정보는 아래 링크에서 확인할 수 있고, 파이썬 코드를 작성하기 전에 우선 동일 링크에서 API 키를 신청하기 바란다.
data.seoul.go.kr/dataList/OA-13122/S/1/datasetView.do
Python Code
우선 아래 코드를 통해서 서울시 공영 주차장 수를 확인해보겠다. 아래 코드를 돌리면 total_num이라는 변수에 총 14,330개의 데이터가 있다는 점을 볼 수 있다. 즉 서울시에는 무려 14,330개의 공영 주차장이 있다는 것이다.
import requests
import pandas as pd
import math
url='http://openapi.seoul.go.kr:8088/{API KEY}/json/GetParkInfo/1/2/'
re=requests.get(url)
rjson=re.json()
total_num=int(rjson['GetParkInfo']['list_total_count'])
다음으로 데이터를 추출해보도록 하겠다. API에서 다양한 데이터를 제공하고 있는데 이번 포스팅에서는 그 중 주차장 명, 유료 여부, 월 정기권 금액, 기본 주차장 요금, 기존 요금 단위(시간), 위도, 경도, 주차장 용량, 주말 유료 여부 데이터만을 가져오도록 하겠다.
parking_name=[]
pay_yn=[]
full_month_fee=[]
rates=[]
time_rates=[]
lat=[]
long=[]
cap=[]
holiday=[]
for i in range(1, math.ceil(total_num/1000)+1):
end=i*1000
start=end-1000 +1
if end >total_num:
end = total_num
url=f'http://openapi.seoul.go.kr:8088/{API KEY}/json/GetParkInfo/{start}/{end}'
re=requests.get(url)
rjson=re.json()
for u in rjson['GetParkInfo']['row']:
parking_name.append(u['PARKING_NAME'])
pay_yn.append(u['PAY_NM'])
full_month_fee.append(u['FULLTIME_MONTHLY'])
rates.append(u['RATES'])
time_rates.append(u['TIME_RATE'])
lat.append(u['LAT'])
long.append(u['LNG'])
cap.append(u['CAPACITY'])
holiday.append(u['HOLIDAY_PAY_NM'])
df=pd.DataFrame({'주차장 명':parking_name, '유료 여부':pay_yn,'월 정기권 금액':full_month_fee,'기본 주차 요금':rates,
'기본 단위':time_rates,'위도':lat,'경도':long, '주차 가능 수':cap,'주말 개장 여부':holiday})
위 코드를 돌리면 아래와 같은 데이터프레임을 확인할 수 있을 것이다.
일부 데이터가 누락되어 있고, 잘못 기재되어 있는 점이 있기에 사용에 유의가 필요하다. 여하튼 서울시에만 공영주차장이 1만 4천개가 있다는게 놀랍다.
728x90
반응형
'문송충의 코딩하기 > 파이썬 데이터 분석' 카테고리의 다른 글
[파이썬] - Youtube API를 활용해서 네고왕 영상 콘멘트 가져오기 (0) | 2020.11.15 |
---|---|
[파이썬] - 유튜브 API를 활용해서 네고왕 조회, 좋아요, 댓글 수 가져오기 (1) | 2020.11.14 |
[파이썬] - 아마존에서 작성된 삼성 QLED TV 고객 리뷰 분석하기 (1) | 2020.11.07 |
[파이썬] - 아마존에서 삼성 QLED TV 고객 리뷰 크롤링해서 가져오기 (4) | 2020.11.03 |
[파이썬] - 서울시 공공시설 테니스장 데이터 가져오기 from 서울 공공데이터 API (1) | 2020.11.01 |
댓글