Используя красивый суп, я пытался извлечь значение (317,69), но получил пустой результат. Кодовый блок html, который я пытался извлечь:
<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)">317.69</span>
Я пытался использовать следующие 2 способа кодирования:
value = soup.find_all(attrs={'class': 'Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)'})
и
value = soup.find_all('span', class_='Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)')
Но получая результат []
, если я использую print(value.text)
Примечание: XPath этого //span[@class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)"]
успешно указывает правильный элемент. Но для красивого супа вывод пуст, используя python.
Сначала я попробовал аппроксимацию красивого супа на сайте:
Но не повезло: (
Кто-нибудь может мне предложить правильный способ извлечения значения из этого? Я имею в виду, если есть несколько классов, как извлечь значение
Код, который я пробовал:
import requests
from bs4 import BeautifulSoup
url = 'https://finance.yahoo.com/quote/AAPL?p=AAPL'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
p = soup.find_all(attrs={'class': 'Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)'})
print(p)