Python 날씨 데이터 API 가져오기 프로그램
표준 라이브러리를 사용하여 Python에서 실시간 날씨 세부 정보를 가져옵니다. API 요청, JSON 변환 및 모의 대체에 대해 알아보세요.
개요
타사 API를 통합하는 것은 현대 웹 백엔드 개발자에게 중요한 기술입니다. 날씨 가져오기 도구는 Python 프로그램을 실시간 기후 원격 측정 서버에 직접 연결합니다.
일반적으로 우리는 외부 `requests` 모듈을 사용하지만 Python의 표준 라이브러리는 종속성을 설치할 필요 없이 기본적으로 작동하는 `urllib.request`를 제공합니다.
이 대화형 스크립트는 공개 개방형 지오코딩 엔드포인트를 사용하여 좌표와 온도를 가져오고 try-Exception 구문 분석 루프, URL 인코딩 및 JSON 스트림 읽기를 보여줍니다.
코드 및 실행 출력
공공 날씨 원격 측정 서버를 쿼리하는 표준 라이브러리 urllib 스크립트입니다.
weather_fetcher.py
에디터에서 사용해 보세요import urllib.request
import json
def fetch_weather(city_lat, city_lon):
# Free, open weather API (No authentication key needed)
url = f"https://api.open-meteo.com/v1/forecast?latitude={city_lat}&longitude={city_lon}¤t_weather=true"
print(f"Connecting to Weather API for lat={city_lat}, lon={city_lon}...")
try:
req = urllib.request.Request(
url,
headers={'User-Agent': 'PyRun Weather Client/1.0'}
)
with urllib.request.urlopen(req, timeout=5) as response:
raw_data = response.read().decode('utf-8')
weather_json = json.loads(raw_data)
current = weather_json.get("current_weather", {})
temp = current.get("temperature")
wind = current.get("windspeed")
print("Successfully retrieved weather telemetry!")
print(f" Current Temperature: {temp}°C")
print(f" Wind Speed: {wind} km/h")
except Exception as e:
print(f"Could not retrieve weather details: {e}")
# Run fetch for Tokyo coordinates (lat: 35.6762, lon: 139.6503)
fetch_weather(35.6762, 139.6503)터미널 출력
Connecting to Weather API for lat=35.6762, lon=139.6503...
Successfully retrieved weather telemetry!
Current Temperature: 22.4°C
Wind Speed: 14.2 km/h단계별 구현
- 사용자 정의 대시보드 인터페이스에 날씨 표시 위젯 추가
- 사용자에게 극한 온도 현상을 경고하는 자동화된 cron 스크립트 작성
- urllib 및 표준 라이브러리 네트워킹 프로토콜 마스터하기
자주 묻는 질문
이 스크립트를PyRun의 브라우저 엔진에서 실행할 수 있나요?
예,PyRun의 브라우저 백엔드는 urllib를 가로채고 소켓 요청을 요청하여 이를 브라우저 수준 가져오기 쿼리로 안전하게 변환합니다.
좌표 위도와 경도란 무엇입니까?
이는 지구의 지리적 위치 좌표를 나타냅니다. 위도는 적도를 기준으로 남북 거리를 측정하고, 경도는 본초 자오선을 기준으로 동서 거리를 측정합니다.