Веб-скрапинг — одна из моих любимых тем, а с помощью python легко парсить веб-страницы.

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

позволяет импортировать все необходимые модули

import socket
import requests

теперь создайте попытку, кроме блокировки

просто чтобы убедиться, что сайт доступен, программа вернет 200 в качестве статуса, что просто означает, что сайт находится в сети.

используя метод request.get(), мы можем запросить API с помощью ключа API

try:
socket.create_connection(("www.google.com",80))
print("u r connected")
city = input("enter city name: ")
a1 = "http://api.openweathermap.org/data/2.5/weather?"
a2 = "q=" +city + "&units=metric"
a3 = "&APPID=fa531e4e62b7ffeb91c7ea854ddf347a"
api_address = a1+a2+a3
res1 = requests.get(api_address)
print(res1)
d = res1.json()
d1=d['main']['temp']
print("temperature =",d1)
except OSError as e:
print("issue ",e)

API возвращает много информации в виде результата в формате JSON, подобном этому

{'coord': {'lon': 73.85, 'lat': 18.52}, 'weather': [{'id': 500, 'main': 'Rain', 'description': 'light rain', 'icon': '10n'}], 'base': 'model', 'main': {'temp': 24.83, 'feels_like': 24.56, 'temp_min': 24.83, 'temp_max': 24.83, 'pressure': 1013, 'humidity': 58, 'sea_level': 1013, 'grnd_level': 941}, 'wind': {'speed': 3.22, 'deg': 139}, 'rain': {'3h': 0.19}, 'clouds': {'all': 100}, 'dt': 1577109915, 'sys': {'country': 'IN', 'sunrise': 1577064773, 'sunset': 1577104428}, 'timezone': 19800, 'id': 1259229, 'name': 'Pune', 'cod': 200}

нам нужно отфильтровать его, чтобы получить конкретное значение ‘ d1=d[‘main’][‘temp’] ’, мне интересно узнать температуру Пуны

вывод: температура будет в градусах Цельсия.

temperature = 24.83