почему выдает None

при парсинге страници яндекс погожды None вот мой код

import requests
from bs4 import BeautifulSoup as BS

url = "https://yandex.ru/pogoda/?lat=55.035748113910586&lon=82.92160002700581"
r = requests.get(url)
soup = BS(r.text, 'lxml')
result = soup.find("h1", { "id" : "main_title" })
print (result) # None

Ответы (1 шт):

Автор решения: Zahar

Яндекс блокирует автоматизированные запросы, поэтому данные которые вы запрашиваете отсутствуют. В этом можно убедиться:

import requests
from bs4 import BeautifulSoup

url = "https://yandex.ru/pogoda/?lat=55.035748113910586&lon=82.92160002700581"
request = requests.get(url)

soup = BeautifulSoup(request.content, 'html.parser')

result = soup.find("span", {'class': 'Text_weight_regular'})

print(result.contents[0])

введите сюда описание изображения


Чтобы получить нужные данные, требуется обойти капчу.

→ Ссылка