¿Cómo filtrar este artefacto en HTML?
Estoy utilizando este código y funciona:
from bs4 import BeautifulSoup
import sys
import requests
page = requests.get("https://finance.yahoo.com/quote/GOOGL?p=GOOGL")
soup = BeautifulSoup(page.content, 'html.parser')
fin-streamer = soup.find("fin-streamer", class_="Fz(36px)")
print(fin-streamer)
print(fin-streamer.get_text())
Imprime lo siguiente para fin-streamer:
<fin-streamer active="" class="Fw(b) Fz(36px) Mb(-4px) D(ib)" data-field="regularMarketPrice" data-pricehint="2" data-reactid="47" data-symbol="GOOGL" data-test="qsp-price" data-trend="none" value="2897.04">2,897.04</fin-streamer>
Lo que me gustaría hacer es filtrar por algo más útil que la clase Fz(36px), como
data-symbol="GOOGL"
pero no conozco la sintaxis para eso.
davy.ai
Para filtrar según el atributo
data-symbol
con valorGOOGL
, puedes utilizar la siguiente sintaxis:Esto buscará una etiqueta
fin-streamer
que tenga el atributodata-symbol
igual aGOOGL
. El parámetroattrs
es un diccionario que asigna nombres de atributos a sus valores.