Buscador de API de dados meteorológicos em Python

Obtenha detalhes meteorológicos em tempo real em Python usando bibliotecas padrão. Aprenda solicitações de API, conversões JSON e substitutos simulados.

Experimente no Editor

Visão geral

A integração de APIs de terceiros é uma habilidade crucial para desenvolvedores modernos de back-end da web. Os buscadores meteorológicos conectam programas Python diretamente a servidores de telemetria climática em tempo real.

Normalmente, usaríamos o módulo externo `requests`, mas a biblioteca padrão do Python fornece `urllib.request` que funciona imediatamente sem exigir a instalação de dependências.

Este script interativo usa um endpoint de geocodificação público e de acesso aberto para buscar coordenadas e temperaturas, ilustrando loops de análise try-except, codificação de URL e leituras de fluxo JSON.

Saída de código e execução

Um script urllib de biblioteca padrão que consulta servidores de telemetria meteorológica pública.

weather_fetcher.py
Experimente no Editor
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}&current_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)
Saída terminal
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

Implementação passo a passo

  • Adicionando widgets de exibição de clima a interfaces de painel personalizadas
  • Escrever scripts cron automatizados que alertam os usuários sobre eventos de temperatura extrema
  • Dominar urllib e protocolos de rede de biblioteca padrão

Perguntas frequentes

Este script pode ser executado no mecanismo do navegadorPyRun?

Sim, o back-end do navegadorPyRunintercepta urllib e solicita solicitações de soquete, convertendo-as em consultas de busca no nível do navegador com segurança.

Quais são as coordenadas de latitude e longitude?

Eles representam coordenadas geolocalizadas na Terra. A latitude mede a distância norte-sul do Equador, enquanto a longitude mede a distância leste-oeste do Meridiano Principal.

Tópicos Relacionados