¿Cómo extraer una etiqueta div y su contenido por id con BeautifulSoup?

Beautifulsoup es una biblioteca de Python utilizada para el web scraping. Esta poderosa herramienta de python también se puede usar para modificar páginas web HTML. Este artículo describe cómo se puede emplear beautifulsoup para extraer un div y su contenido por su ID. Para esto, se usa la función find() del módulo para encontrar el div por su ID.

Acercarse:

  • Módulo de importación
  • Eliminar datos de una página web
  • Analizar la string raspada a HTML
  • Encuentra el div con su ID
  • Imprime su contenido

Sintaxis: find(tag_name, **kwargs)

Parámetros:

  • El argumento tag_name le dice a Beautiful Soup que solo busque etiquetas con nombres dados. Se ignorarán las strings de texto, al igual que las etiquetas cuyos nombres no coincidan.
  • Los argumentos **kwargs se utilizan para filtrar según el atributo ‘id’ de cada etiqueta.

A continuación se muestra la implementación:

Ejemplo 1:

Python3

#importing module
from bs4 import BeautifulSoup
  
markup = '''<html><body><div id="container">Div Content</div></body></html>'''
soup = BeautifulSoup(markup, 'html.parser')
  
#finding the div with the id
div_bs4 = soup.find('div', id = "container")
  
print(div_bs4.string)

Producción:

Div Content

Ejemplo 2:

Python3

#importing module
from bs4 import BeautifulSoup
  
markup =markup = """
  
<!DOCTYPE>
<html>
  <head><title>Example</title></head>
    <body>
        
<p>
        Nested div
      </p>
  
        <div id="first"> Div with ID first
          <div id="second"> Div with id second
          </div>
        </div> 
    </body>
</html>
"""
  
# parsering string to HTML 
soup = BeautifulSoup(markup, 'html.parser')
  
#finding the div with the id
div_bs4 = soup.find('div', id = "second")
  
print(div_bs4.string)

Producción:

 Div with id second

Publicación traducida automáticamente

Artículo escrito por maheswaripiyush9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *