BeautifulSoup – Busca por texto dentro de una etiqueta

Prerrequisitos: Beautifulsoup

Beautifulsoup es un poderoso módulo de Python que se utiliza para el web scraping. Este artículo explica cómo se puede buscar un texto específico dentro de una etiqueta determinada.

Acercarse

  • Módulo de importación
  • Pasar la URL
  • Página de solicitud
  • Especifique la etiqueta a buscar
  • Para Buscar por texto dentro de la etiqueta, debemos verificar la condición con la ayuda de la función de string.
  • La función de string devolverá el texto dentro de una etiqueta.
  • Cuando naveguemos por la etiqueta, verificaremos la condición con el texto.
  • Devolver texto

Veremos el texto de búsqueda dentro de una etiqueta por dos métodos.

Método 1: iterativo 

Este método utiliza el bucle for para buscar el texto.

Ejemplo

Python3

from bs4 import BeautifulSoup
import requests
  
# sample web page
sample_web_page = 'https://www.geeksforgeeks.org/caching-page-tables/'
  
# call get method to request that page
page = requests.get(sample_web_page)
  
# with the help of beautifulSoup and html parser create soup
soup = BeautifulSoup(page.content, "html.parser")
  
child_soup = soup.find_all('strong')
  
text = 'page table base register (PTBR)'
  
# we will search the tag with in which text is same as given text
for i in child_soup:
    if(i.string == text):
        print(i)

Producción

<strong>registro base de tabla de páginas (PTBR)</strong>

Método 2: Usar lambda

Es una alternativa de una sola línea del ejemplo anterior.

Ejemplo

Python3

from bs4 import BeautifulSoup
import requests
  
# sample web page
sample_web_page = 'https://www.geeksforgeeks.org/caching-page-tables/'
  
# call get method to request that page
page = requests.get(sample_web_page)
  
# with the help of beautifulSoup and html parser create soup
soup = BeautifulSoup(page.content, "html.parser")
  
text = 'CS Theory Course'
  
# Search by text with the help of lambda function
gfg = soup.find_all(lambda tag: tag.name == "strong" and text in tag.text)
  
print(gfg)

Producción

[<strong>Curso Teórico de CS</strong>]

Publicación traducida automáticamente

Artículo escrito por cse1604310056 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 *