Как импортировать данные о погоде в программу Python?Python Weather API
ответ
Поскольку Google закрыла свой погодный API, я предлагаю проверить OpenWeatherMap:
OpenWeatherMap служба предоставляет бесплатные данные о погоде и прогноз API подходит для любых картографических сервисов, таких как веб-и смартфонов приложений. Идеология вдохновлена OpenStreetMap и Википедией, что делает информацию свободной и доступной для всех. OpenWeatherMap обеспечивает широкий диапазон данных о погоде, таких как карта с текущей погодой, недельный прогноз, осадки, ветер, облака, данные из погоды Станции и многие другие. Данные о погоде поступают от глобальных метеорологических служб и более 40 000 метеорологических станций.
Это не библиотека Python, но она очень проста в использовании, потому что вы можете получить результаты в формате JSON.
Вот пример использования Requests:
>>> from pprint import pprint
>>> import requests
>>> r = requests.get('http://api.openweathermap.org/data/2.5/weather?q=London&APPID={APIKEY}')
>>> pprint(r.json())
{u'base': u'cmc stations',
u'clouds': {u'all': 68},
u'cod': 200,
u'coord': {u'lat': 51.50853, u'lon': -0.12574},
u'dt': 1383907026,
u'id': 2643743,
u'main': {u'grnd_level': 1007.77,
u'humidity': 97,
u'pressure': 1007.77,
u'sea_level': 1017.97,
u'temp': 282.241,
u'temp_max': 282.241,
u'temp_min': 282.241},
u'name': u'London',
u'sys': {u'country': u'GB', u'sunrise': 1383894458, u'sunset': 1383927657},
u'weather': [{u'description': u'broken clouds',
u'icon': u'04d',
u'id': 803,
u'main': u'Clouds'}],
u'wind': {u'deg': 158.5, u'speed': 2.36}}
А вот пример использования PyOWM, в Python обертку вокруг OpenWeatherMap веб-API:
>>> import pyowm
>>> owm = pyowm.OWM()
>>> observation = owm.weather_at_place('London,uk')
>>> w = observation.get_weather()
>>> w.get_wind()
{u'speed': 3.1, u'deg': 220}
>>> w.get_humidity()
76
официальной документации по API имеется here.
Чтобы получить ключ API зарегистрироваться, чтобы открыть карту погоды here
OpenWeatherMap Web API ресурсы отформатированной с использованием различных JSON сгустков в зависимости от конечных точек. Итак, разбор ужасен ... Избегайте всех этих хлопот и не изобретайте велосипед с помощью внешней библиотеки - например: PyOWM https://github.com/csparpa/pyowm – csparpa
@csparpa Спасибо, я обновил ответ! –
mmm Интересно. Как напечатать скорость с {u'speed ': 3.1, u'deg': 220}. @paolo –