Откуда берётся None?

import requests
from bs4 import BeautifulSoup as BS


def get_html(url):
    r = requests.get(url)
    return r.text


def get_data(html):
    soup = BS(html, 'lxml')
    spans = soup.find('span').text
    print(spans)


def main():
    url = 'https://yandex.ru/pogoda/213'
    print(get_data(get_html(url)))


if __name__ == '__main__':
    main()

на выходе:

Прогноз на 10 дней
None

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

Автор решения: pagislav
import requests
from bs4 import BeautifulSoup as BS


def get_html(url):
    r = requests.get(url)
    return r.text


def get_data(html):
    soup = BS(html, 'lxml')
    spans = soup.find('span').text
    return spans


def main():
    url = 'https://yandex.ru/pogoda/213'
    print(get_data(get_html(url)))


if __name__ == '__main__':
    main()

Функция get_data по умолчанию возвращала None, я исправил это заменив print(spans) на return spans

→ Ссылка