Разберете текущото време и прогноза с прост скрипт на Python
За да получите достъп до метеорологичната услуга, ще трябва да преминете през проста процедура за регистрация на уебсайта OpenWeatherMap.org. Нека създадем и изпратим заявка, анализираме пакета с отговор във формат JSON и получаваме текущата температура с описание на метеорологичните условия.
Регистрирането в openweathermap.org е лесно, а останалото е още по-лесно.
Регистрацията е необходима, за да се получи низът за идентификатор на приложението, идентифициращ потребителя, състоящ се от набор от букви и цифри (изглежда - само шестнадесетични цифри). Като това: "6d8e495ca73d5bbc1d6bf8ebd52c4". След регистрацията трябва да отидете в личния си акаунт и да вземете идентификатора на приложението, който там се нарича „API ключ“.
Формиране на низ за заявка
Първо, нека се опитаме да намерим града, който ни интересува в тяхната база данни. Низът на заявката трябва да бъде нещо подобно:
В заявката трябва да посочите желания град (вместо „Петербург“) и вашия идентификатор на приложението (вместо „6d8e495ca73d5bbc1d6bf8ebd52c4“. Можете да прецизирате заявката, като посочите идентификатора на държавата след името на града, разделени със запетаи. Например така:
Действителният низ на заявката ще бъде генериран от самата библиотека на заявките във функцията get, която използваме за изпращане на заявката:
Проверка на наличието на информация за желаното населено място в базата данни
Планът е този. В отговор на генерираната заявка получаваме пакет във формат JSON. Анализираме пакета и получаваме желаните стойности по имената на полетата.
Запомнете цифровия city_id за следващата заявка, тъй като доставчиците на услуги препоръчват да правите заявки не по име, а по идентификатор. Отговорът може да съдържа няколко града, съответстващи на нашата заявка. Между другото, ако посочите „Москва“ в заявката и премахнете държавата от реда на заявката, дадена в примера, тогава гарантирано ще получимняколко реда в списъка с градове: град: ['Москва (RU)', 'Москва (САЩ)', 'Москва (САЩ)']
Получаване на информация за текущото време
Остава само да получите необходимата информация за времето. Ако не се интересуваме от имперски единици, тогава в заявката посочваме, че искаме да получим метрични единици: "units=metric". Ако трябва да получите описанието на времето на български, посочете "lang=ru".
Прогноза за 5 дни
Получаваме следното заключение: 2016-11-24 15:00 -1 7 m/s SW облачно 2016-11-24 18:00 +2 7 m/s W слаб дъжд 2016-11-24 21:00 +2 7 m/s W слаб дъжд 2016-11-25 00:00 -0 7 m /s W ясно 2016-11-25 03:00 +0 7 m/s W слаб снеговалеж 2016-11-25 06:00 -0 6 m/s NW леко облачно . Изтеглете owm-request.py. За да работи този скрипт, трябва да въведете своя „API ключ” в първия ред, получен при регистрация в OpenWeatherMap.org. Команден ред като този: $python owm-request.py Москва, RU
Уебсайтът OpenWeatherMap има много интересни неща - получаване на информация за географски координати, метеорологичен архив, информация от конкретни метеорологични станции. Описание на всички налични услуги можете да намерите тук http://openweathermap.org/api Има специализирана библиотека pyowm за работа с OpenWeatherMap в Python.
Има и други сайтове освен OpenWeatherMap, които предоставят подобна информация. Например WorldWeatherOnline. Наличните API могат да се видят тук. Необходима е регистрация. Има библиотека на Python: pywwo.
Специални благодарности на JetBrains за PyCharm.
Можете да помогнете и да прехвърлите средства за развитието на сайта