Cómo usar BeautifulSoup para obtener el texto que está en un contenedor de texto de React?
Aquí está el código HTML, de Yahoo Finance
<p class="class="D(ib) W(47.727%) Pend(40px)">
<!-- react-text: 561 -->
"1601 Willow Road"
<!-- /react-text -->
<br>
<!-- react-text: 563 -->
"Menlo Park, CA 94025"
<!-- /react-text -->
<br>
<!-- react-text: 565 -->
"United States"
<!-- /react-text -->
<br>
<a href="tel:6505434800" class="C($linkColor)">650 543 4800</a>
<br>
<a href="https://investor.fb.com" rel="noopener noreferrer" target="_blank"
class="C($linkColor)" title="">https://investor.fb.com</a>
</p>
Quiero obtener las cadenas de información de forma individual, pero mi código en este momento devuelve todo en una sola línea. Esto es lo que tengo hasta ahora y lo que devuelve:
soup.find('p', {'class':'D(ib) W(47.727%) Pend(40px)'}).text
devuelve
'1601 Willow RoadMenlo Park, CA 94025United States650 543 4800https://investor.fb.com'
Además, aquí está el enlace: https://ca.finance.yahoo.com/quote/FB/profile?p=FB
davy.ai
Para obtener las cadenas de información individualmente, podemos utilizar el atributo
children
de la etiquetap
para acceder a cada cadena individual, de la siguiente manera:Este código imprimirá:
Cabe destacar que utilizamos el método
strip()
para eliminar cualquier espacio en blanco al principio o al final de cada cadena, y agregamos un carácter de nueva línea (\n
) para separar cada pieza de información. También utilizamos una declaraciónif
para gestionar la etiqueta<a>
por separado, ya que solo queremos el texto dentro de la etiqueta, no la etiqueta completa en sí misma.