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 extraer las etiquetas

anidadas profundamente utilizando Beautiful Soup.

Tengo el siguiente contenido y estoy intentando entender cómo extraer la copia de la etiqueta usando Beautiful Soup (estoy abierta a otros métodos). Como puede ver, las etiquetas

no están ambas anidadas dentro del mismo

<

div>. Lo intenté con el siguiente método, pero parece que solo funciona cuando ambas etiquetas

están dentro del mismo contenedor.

Algun Título

Quiero extraer esta copia

Quiero extraer esta copia

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede usar el método find_all() de Beautiful Soup para extraer la copia de la etiqueta <p>. El método find_all() toma el nombre de la etiqueta como argumento y devuelve una lista de todas las etiquetas con ese nombre. En este caso, puede usarlo para encontrar todas las etiquetas <p> en el HTML:

    from bs4 import BeautifulSoup
    
    html = '''
    <div class="top-panel">
      <div class="inside-panel-0">
        <h1 class="h1-title">Algún título</h1>
      </div>
      <div class="inside-panel-0">
        <div class="inside-panel-1">
          <p> Quiero extraer esta copia
        </div>
        <div class="inside-panel-1">
          Quiero extraer esta copia
        </div>
      </div>
    </div>
    '''</p>
    
    soup = BeautifulSoup(html, 'html.parser')
    p<em>tags = soup.find</em>all('p')
    
    for p in p_tags:
        print(p.text)
    

    El código anterior imprimirá el texto de ambas etiquetas <p>:


    Quiero extraer esta copia
    Quiero extraer esta copia

Comments are closed.