es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para filtrar según el atributo data-symbol con valor GOOGL, puedes utilizar la siguiente sintaxis:

    fin_streamer = soup.find("fin-streamer", attrs={"data-symbol": "GOOGL"})
    

    Esto buscará una etiqueta fin-streamer que tenga el atributo data-symbol igual a GOOGL. El parámetro attrs es un diccionario que asigna nombres de atributos a sus valores.

Comments are closed.