РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
103 of 103 menu

API погоды

Реализуйте API для получения погоды в заданном городе на заданную дату.

Выберите несколько городов, для которых будете собирать погоду. Продумайте структуру хранения данных о погоде в базе данных (город, дата, температура, влажность, скорость ветра, осадки). Информация о погоде должна собираться парсером со сторонних источников (например, сайта погоды) и сохраняться в базу данных.

Основные возможности проекта

  • API для получения погоды в заданном городе на заданную дату.
  • Парсер для автоматического сбора данных о погоде со сторонних источников.

Парсер

Необходимо реализовать парсер, который будет забирать информацию о погоде со сторонних источников (например, сайта погоды). Парсер должен:

  • Загружать страницу с прогнозом погоды для выбранных городов.
  • Извлекать из HTML-кода данные: температуру, влажность, скорость ветра, осадки.
  • Сохранять полученные данные в базу данных.

Парсер должен запускаться автоматически по расписанию (например, раз в день) или вручную через админ-панель.

Структура API

API должен принимать GET-запросы и возвращать информацию о погоде в формате JSON. Пример запроса:

  • /api/weather?city=Moscow&date=2025-12-31 - возвращает погоду в Москве на 31 декабря 2025 года.

Формат ответа

Ответ возвращается в формате JSON. Пример ответа:

  • city - название города.
  • date - дата.
  • temperature - температура (в градусах Цельсия).
  • humidity - влажность (в процентах).
  • wind_speed - скорость ветра (в м/с).
  • precipitation - осадки (например, "солнечно", "дождь", "снег").

Ошибки

При некорректных запросах API должен возвращать ошибки:

  • Город не найден - "city not found".
  • Дата не найдена в базе - "date not found".

Админ-панель

В админ-панели должны быть реализованы следующие функции:

  • Просмотр всех сохраненных данных о погоде.
  • Ручной запуск парсера для обновления данных.
  • Редактирование данных о погоде вручную (при необходимости).
  • Добавление новых городов для сбора данных.
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить