반응형
서울시 공공자전거 실시간 대여정보
https://data.seoul.go.kr/dataList/OA-15493/A/1/datasetView.do
해당 api 를 사용하여 json 데이터를 가져와서 보여주는 예제이다.
#클라이언트 요청 처리
import requests
#json 타입 데이터 처리
import json
API_KEY = '자신의APIKEY'
url = 'http://openapi.seoul.go.kr:8088/{}/json/bikeList/1/1000/'.format(API_KEY)
#API를 호출하여 결과값을 변수에 대입
response = requests.get(url)
if response.status_code == 200:
#json 형태로 리턴받아 변수에 대입
data = response.json()
#자전거 대여소 이름
stations = data['rentBikeStatus']['row']
#배열 선언
bike_stations = []
for station in stations:
name = station['stationName']
lat = station['stationLatitude']
lng = station['stationLongitude']
bike_stations.append([name,lat,lng])
for station in bike_stations:
print(station)
else:
print('API 요청 실패',response.status_code)
서울시 권역별 실시간 대기환경 현황
https://data.seoul.go.kr/dataList/OA-2219/S/1/datasetView.do
xml 은 입력을 받아서 권역, 구에 해당하는 데이터 정보를 가지고 오도록 하였다.
#클라이언트 요청 처리
import requests
import xml
import xml.etree.ElementTree as ET
API_KEY = '자신의APIKEY'
gunyuk = input('권역 입력') # 도심권, 서북권, 동북권, 서남권, 동남권
gu = input('구 입력')
url = 'http://openAPI.seoul.go.kr:8088/{}/xml/RealtimeCityAir/1/5/{}/{}'.format(API_KEY, gunyuk, gu)
#API를 호출하여 결과값을 변수에 대입
response = requests.get(url)
if response.status_code == 200:
#xml 형태로 리턴받아 변수에 대입
# print(response)
content = response.text
soup = BeautifulSoup(content, 'lxml-xml')
MSRRGN_NM = soup.find('MSRRGN_NM').text
MSRSTE_NM = soup.find('MSRSTE_NM').text
PM10 = soup.find('PM10').text
PM25 = soup.find('PM25').text
O3 = soup.find('O3').text
NO2 = soup.find('NO2').text
CO = soup.find('CO').text
SO2 = soup.find('SO2').text
IDEX_NM = soup.find('IDEX_NM').text
IDEX_MVL = soup.find('IDEX_MVL').text
ARPLT_MAIN = soup.find('ARPLT_MAIN').text
print(f'권역 : {MSRRGN_NM}')
print(f'구 : {MSRSTE_NM}')
print(f'미세먼지 : {PM10}')
print(f'초미세먼지 : {PM25}')
print(f'오존 : {O3}')
print(f'이산화질소 : {NO2}')
print(f'이산화탄소 : {CO}')
print(f'아황가스 : {SO2}')
print(f'통합대기환경등급 : {IDEX_NM}')
print(f'통합대기환경지수 : {IDEX_MVL}')
print(f'지수결정물질 : {ARPLT_MAIN}')
else:
print('API 요청 실패',response.status_code)
'Python' 카테고리의 다른 글
[Python] 데이터를 크롤링하여 엑셀로 저장 해 보자. (0) | 2024.08.01 |
---|---|
[Python] 실제 사이트 크롤링을 해보자. (0) | 2024.07.31 |
[Python] 크롤링 with selenium (id, class, 태그 명으로 찾기) (0) | 2024.07.31 |
[Python] Pandas 사용 방법 (0) | 2024.07.30 |
[Python] 파이썬 기본 입력과 출력, print 함수, 인덱스 계산, for 문 등. (0) | 2024.07.30 |