Кажется, проблема в том, как данные создаются на веб-сайте. Похоже, что веб-сайт загружает данные с помощью JavaScript (то есть элемент span создается динамически с использованием JavaScript). requests
не работает с элементами, которые динамически создаются с помощью JavaScript.
Я рекомендую использовать селен для открытия сайта:
from bs4 import BeautifulSoup
import requests
from selenium import webdriver
url = "https://www.dailyfx.com/sentiment"
browser = webdriver.Chrome(executable_path="/usr/local/bin/chromedriver")
browser.get(url)
soup = BeautifulSoup(browser.page_source, features="html.parser")
a = soup.find("span", {"class": "bullish-color"})
print(a.text)
Выход:
61%
Вам может понадобиться другой способ создания browser
(тот, который я показываю выше, работает на macOS с учетом некоторой пользовательской конфигурации). Посмотрите, как создать браузер с использованием селена на вашей платформе.