Comments 30
Я делал такое же, только погоду с прогнозом у меня запрашивал stm32 и выводил результат на небольшой дисплей
0
Планирует ли автор выложить полный исходный код приложения на гитхаб? Будут ли рассматриваться пулл-рекввесты сообщества? Готовы ли юнит-тесты для полноценной интеграции?
Нужные десктопные уведомления, где интерефейс доступа? Или это бэкенд? А какие базы данных поддерживаются? Очень нужна %database_name%!!1
Как и обещал — всё очень просто.
Рассматривает ли автор возможность миграции на более производительную платформу разработки?
Есть готовые наработки для bash :-P
#!/bin/bash
set -euf -o pipefail
API_KEY="mew"
LOCATION="Petersburg,RU"
exec 99<> /dev/tcp/api.openweathermap.org/80
echo -e "GET /data/2.5/find?q=${LOCATION}&type=like&APPID=${API_KEY} HTTP/1.1\r\nhost: api.openweathermap.org\r\nConnection: close\r\n\r\n" >&99
HTTP_ANSWER_WITH_HEADERS=`cat <&99`
JSON_OUTPUT=${HTTP_ANSWER_WITH_HEADERS#*POST}
WEATHER_DESC=`echo $JSON_OUTPUT | jq '.list[0].weather[0].description'`
notify-send "It's ${WEATHER_DESC} at ${LOCATION}"
+12
Проверил — Ваш скрипт работает. Пришлось, правда, поставить утилитку jq, которой у меня не оказалось. И заработало. Спасибо за вклад в дело получения метео. Только я не вполне понял Ваши вопросы насчёт юнит-тестов, бэкэнда и пр. Я то зашёл в эту тему из python'а. Узнал, что есть такой сервис OpenWeatherMap, удалось получить текущую температуру, которая на удивление соответствовала окружающей меня действительности. В python'е нашлась хорошая библиотека requests, которая позволила не только запрос сделать, а ещё и распарсить JSON-формат. Подумал, что кому-нибудь ещё может быть интересно, что 1) существует такой общественный сервис, в который каждый желающий может выложить собственную метео-информацию о погоде (идея сама по себе интересная); 2) сервисом OpenWeatherMap можно воспользоваться для получения разного вида информации (в том числе на bash'е), и это достаточно просто делается; 3) примитивный, но работающий код на python'е. И ещё подумал, что, может, кому-нить это может быть интересно, поэтому этим всем я решил поделиться. Где-то есть прокол в моих соображениях?
+1
Я думаю romangoward сарказмирует. А причина сарказма, это банальная статья из разряда практически hello world. Получение прогноза погоды, это наверное то, что делал почти каждый, изучая программирование (раньше в вебе информер прогноза погоды висел почти на всех сайтах).
+3
UFO just landed and posted this here
curl wttr.in
+6
http://trytoguide.me/post/12 — тот же openweather, только по координатам
+1
Вот спасибо! По ссылке есть код на python'е! Используются две библиотеки urllib и json. И я тоже сначала этот вариант использовал. Но потом нашел более симпатичную альтернативу — библиотеку requests. И ещё подробно описан процесс регистрации. Ну, и недостаток моего кода решён — сделан перевод на русский текстов с описанием погоды. Хотя, думаю, красивее было бы использовать не if'ы, а dictionary для этой цели. Спасибо за полезный вклад!
-1
На онлайн-курсах teamtreehouse.com есть интересный — и достаточно компактный — учебный проект под Андроид, там прогноз погоды на основе API к сайту forecast.io
Там прогноз на неделю, и по часам на ближайшие сутки с половиной.
Я его делал в немного расширенном виде — прикрутил еще геолокацию, чтобы показывать погоду в текущей точке. На своем телефоне сам пользовался. А вот чего не знаю — это какой источник данных точнее. Forecast.io — скажем так, на четверку с минусом. А как насчет openweathermap.org?
Там прогноз на неделю, и по часам на ближайшие сутки с половиной.
Я его делал в немного расширенном виде — прикрутил еще геолокацию, чтобы показывать погоду в текущей точке. На своем телефоне сам пользовался. А вот чего не знаю — это какой источник данных точнее. Forecast.io — скажем так, на четверку с минусом. А как насчет openweathermap.org?
+1
Интересно будет посмотреть Вашу реализацию с forecast.io. Спасибо! Насчёт точности openweathermap — не знаю. Судя по статье от 2012 года, на российской территории станций маловато, поэтому и с точностью должны быть проблемы. Вряд ли за 4 года ситуация кардинальным образом изменилась. А вот западнее — насчёт Европы — точность должна быть лучше. Там с метео-станциями всё очень неплохо.
-2
Шёл 2016ый. Люди начали пользоваться api.
+3
Шёл 2016-й. А некоторые люди всё ещё только учатся ходить.
Вы умеете api? Это очень хорошо! Так научите меня тому, что Вы умеете. Чему я научился, тем и делюсь. Много материала, где есть общие идеи, намёки, а мне, который учится ходить, хотелось бы поподробнее, с объяснением деталей. Это вот я, как для себя и написал. Или, как если бы я это сыну объяснял. По-моему такой стиль изложения вполне имеет право на жизнь.
Вы умеете api? Это очень хорошо! Так научите меня тому, что Вы умеете. Чему я научился, тем и делюсь. Много материала, где есть общие идеи, намёки, а мне, который учится ходить, хотелось бы поподробнее, с объяснением деталей. Это вот я, как для себя и написал. Или, как если бы я это сыну объяснял. По-моему такой стиль изложения вполне имеет право на жизнь.
0
По-моему вы не очень поняли что хабр это всё-таки не личный бложик и поделки уровня hello world всё-таки тут не нужны. Ну а если вы сами учитесь (складывается такое впечатление по камментам) — это то же не самое лучше место.
+1
Вопрос чуть в сторону от темы статьи:
можно ли на этом сайте узнать, какая была погода в конкретный день в определенном городе (например, в Москве год назад 15.11.2015)?
можно ли на этом сайте узнать, какая была погода в конкретный день в определенном городе (например, в Москве год назад 15.11.2015)?
0
Там есть такая штука: http://openweathermap.org/history
Только эта информация платная. «Historical data is available for 1 month previous in Starter account ($40), for 1 year previous in Medium accounts ($180), and is 5 and more year previous in Advanced accounts ($470)». Если нужна информация годичной давности, то подписка стоит $180 в месяц.
Только эта информация платная. «Historical data is available for 1 month previous in Starter account ($40), for 1 year previous in Medium accounts ($180), and is 5 and more year previous in Advanced accounts ($470)». Если нужна информация годичной давности, то подписка стоит $180 в месяц.
0
Каждый раз, когда url для requests.get собираетcя конкатенацией (ну или форматированием) строки, где-то умирает зайчонок.
requests.get(«http://api.openweathermap.org/data/2.5/weather», params={'app_id': app_id, 'q':'Moscow,RU', 'units':'metric'})
Пожалуйста, пожалейте зайчих.
requests.get(«http://api.openweathermap.org/data/2.5/weather», params={'app_id': app_id, 'q':'Moscow,RU', 'units':'metric'})
Пожалуйста, пожалейте зайчих.
+1
Чтобы ответ приходил на русском добавьте
lang=ru
к строке запроса.+1
Когда я изучал Питон на Степике (курс Python: основы и применение), в качестве примера работы с API в уроке 3.6 (ссылка:https://stepik.org/lesson/API-24476/step/2?course=Python-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B-%D0%B8-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&unit=6781 ), как раз рассматривался пример получения данных из OpenWeatherMap.org.
Ничто не ново под луной… (с)
Ничто не ново под луной… (с)
0
Похоже прикрыли лавочку.
0
Sign up to leave a comment.
Узнаем текущую погоду и прогноз простеньким скриптом на Python'е