Простота и адаптивность Python помогли ему завоевать популярность на протяжении многих лет. Вы можете легко получать полезные данные через Интернет с помощью Python. Затем вы можете использовать эти данные для практического применения.

Узнайте, как находить данные о погоде в режиме реального времени с помощью веб-скрапинга и API. Вы можете использовать эти извлеченные данные для разработки простого приложения погоды.

Получите текущую информацию о погоде в городе с помощью веб-скрейпинга

Веб-скрапинг — это процесс извлечения данных и контента с веб-сайта.. Автономное извлечение данных из Интернета открывает множество вариантов использования. Но большая часть этих данных находится в формате HTML, который необходимо проанализировать и проверить, чтобы извлечь соответствующие данные.

Вы можете извлечь данные о погоде в реальном времени для любого города, используя веб-скрапинг. Библиотека BeautifulSoup Python — это библиотека, которую нужно использовать. для извлечения данных из файлов HTML и XML. Вам нужно установить библиотеку BeautifulSoup Python через pip, чтобы начать процесс парсинга. Выполните следующую команду в терминале, чтобы установить BeautifulSoup и библиотеки запросов:

instagram viewer

точка установить красивыйсуп4 запроса

После того, как вы установили необходимые библиотеки, начните с их импорта в свой код:

Код, используемый в этом проекте, доступен в Репозиторий GitHub и вы можете использовать его бесплатно по лицензии MIT.

от бс4 Импортировать КрасивыйСуп
Импортировать Запросы

Затем вам нужно указать данные заголовка, чтобы клиент и сервер могли передавать дополнительную информацию с HTTP-запросом или ответом:

заголовки = {
'Пользовательский агент': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/58.0.3029.110 Safari/537.3'
}

Создайте функцию, найти_погоду(), чтобы сделать запрос в Google с помощью запросы.получить() метод. Вы будете использовать URL-адрес поиска, чтобы получить информацию о погоде в городе, а затем очистить значимые данные, чтобы получить местоположение, температуру, время и описание погоды. Затем используйте BeautifulSoup для анализа полученного HTML-ответа:

дефнайти_погоду(название города):
city_name = city_name.replace("", "+")

пытаться:
разрешение = запросы. получить (
ф'https://www.google.com/search? q={название_города}&oq={название_города}&aqs=chrome.0.35i39l2j0l4j46j69i60.6128j1j7&исходник = хром&т.е. = UTF-8', заголовки = заголовки)

Распечатать("Загрузка...")

суп = BeautifulSoup (res.text, 'html.parser')
расположение = суп.выбрать('#wob_loc')[0].getText().strip()
время = суп.выбрать('#wob_dts')[0].getText().strip()
информация = суп.выбрать('#wob_dc')[0].getText().strip()
температура = суп.выбрать('#wob_tm')[0].getText().strip()

Распечатать("Расположение: " + местонахождение)
Распечатать("Температура: " + температура + "°С")
Распечатать("Время: " + время)
Распечатать("Описание погоды: " + информация)
кроме:
Распечатать("Пожалуйста, введите действительное название города")

Чтобы извлечь идентификаторы элементов, выполните поиск в Google и просмотрите страницу в браузере с помощью веб-инструментов. Вам нужно проверить элемент, чтобы найти идентификаторы элемента HTML, для которого вы хотите извлечь данные:

Затем передайте эти идентификаторы в выбирать() метод. Этот метод запускает селектор CSS для проанализированного документа и возвращает все соответствующие элементы. получитьтекст() Метод извлекает текст из HTML-элемента. полоска() Метод удаляет все начальные и конечные пробельные символы из текста. Как только вы извлекли чистое значение, вы можете сохранить его в переменной.

Наконец, попросите пользователя ввести город и передать его в найти_погоду функция:

имя_города = ввод("Введите название города: ")
имя_города = название_города + " погода"
find_weather (название города)

Теперь при запуске кода вам будет предложено ввести название города. Вы должны ввести действительное название города, чтобы получить результаты, иначе код вызовет исключение.

Получите текущую информацию о погоде в городе с помощью OpenWeatherMap API

OpenWeatherMap — это онлайн-сервис, принадлежащий OpenWeather Ltd. Его API предоставляет глобальные данные о погоде, включая текущую погоду, прогнозы и прошлые данные для любого местоположения. Бесплатный уровень API OpenWeatherMap предоставляет текущие данные о погоде с ограничением 60 вызовов в минуту. Вам необходимо создать учетную запись на OpenWeatherMap, чтобы получить собственный ключ API.

Не отправляйте код с ключом API в общедоступный репозиторий, так как любой, у кого есть доступ к вашим исходным файлам, может увидеть и украсть ваш ключ. В рабочем приложении рассмотрите перемещение данных ключа API в файл .env для повышенной безопасности.

Идти к OpenWeatherMap's сайте и создайте бесплатную учетную запись. После создания учетной записи вы можете найти свои API-ключи на Мои ключи API страница. Вы можете использовать ключ API по умолчанию, предоставленный OpenWeatherMap, или создать свой собственный. OpenWeatherMap поддерживает создание столько ключей API, сколько необходимо для ваших проектов.

Теперь вы готовы получить данные о погоде в реальном времени.

# Импорт библиотек
Импортировать Запросы
Импортировать json

# Введите здесь ключ API OpenWeatherMap
# НЕ пушите его в публичный репозиторий
API_Key = "Ваш_API_Key"

# Укажите действительное название города
имя_города = ввод("Введите название города: ")

# Построение URL-пути API
URL-адрес = f"http://api.openweathermap.org/data/2.5/weather? q={название_города}&appid={API_Key}"

# Делаем запрос на получение к API
ответ = запросы.get (URL)

# Преобразование ответа JSON в словарь
разрешение = ответ.json ()

# Раскомментируйте следующую строку, чтобы увидеть все
# данные, которые извлекаются из API
# печать (разрешение)

# Проверяем найден ли город
# Если значение "cod" не равно 404,
# значит город найден
если рез["треска"] != "404":
данные = разрешение["основной"]

# Хранение данных о температуре в реальном времени
живая_температура = данные["температура"]

# Хранение данных о давлении в реальном времени
live_давление = данные["давление"]
описание = разрешение["погода"]

# Хранение описания погоды
погода_описание = описание[0]["описание"]
Распечатать("Температура (по шкале Кельвина): " + ул (живая_температура))
Распечатать("Давление: " + ул (живое_давление))
Распечатать("Описание: " + ул (погода_описание))

еще:
# Если город не найден,
# этот блок кода будет выполнен
Распечатать("Пожалуйста, введите действительное название города")

Если вы предоставите действительный ключ API и введете правильное название города, вы получите данные от API в формате JSON. Затем вам нужно преобразовать эти данные формата JSON в объект Python, используя json() способ выполнения дальнейших операций. Если город найден, вам придется разрешить объект dict (разрешение) для извлечения необходимой информации.

Разработка погодного приложения с использованием данных о погоде в реальном времени

Теперь, когда вы узнали, как получать оперативные данные с помощью API OpenWeatherMap, вы готовы разработать с его помощью простое приложение погоды. Создание приложения погоды может помочь вам применить то, что вы знаете, и отточить свои навыки Python.

Загрязнение рук практическими проектами может сделать вас лучшим разработчиком. Вы можете разработать некоторые другие проекты Python, такие как система входа в систему, приложение-викторина или средство сокращения URL-адресов, чтобы закрепить свои навыки разработки Python.