¿Cómo usar Xpath con BeautifulSoup?

Prerrequisitos: Beautifulsoup

En este artículo, veremos cómo usar Xpath con BeautifulSoup. Obtener datos de un elemento en la página web usando lxml requiere el uso de Xpaths. XPath funciona de manera muy similar a un sistema de archivos tradicional

Módulo necesario e instalación:

Primero, necesitamos instalar todos estos módulos en nuestra computadora.

  • BeautifulSoup: nuestro módulo principal contiene un método para acceder a una página web a través de HTTP.
pip install bs4
  • lxml: Biblioteca auxiliar para procesar páginas web en lenguaje python.
pip install lxml
  • requests: hace que el proceso de envío de requests HTTP sea impecable. El resultado de la función
pip install requests

Obtener datos de un elemento en la página web usando  lxml  requiere el uso de  Xpaths .

Usando XPath

XPath funciona de manera muy similar a un sistema de archivos tradicional.

Para acceder al archivo 1,

C:/File1

Del mismo modo, para acceder al archivo 2,

C:/Documents/User1/File2

Para encontrar el XPath para un elemento particular en una página:

  • Haga clic con el botón derecho en el elemento de la página y haga clic en Inspeccionar.
  • Haga clic con el botón derecho en el elemento en la pestaña Elementos .
  • Haga clic en copiar XPath .

Acercarse

  • Módulo de importación
  • Eliminar contenido de una página web
  • Ahora, para usar Xpath, necesitamos convertir el objeto de sopa en un objeto etree porque BeautifulSoup de forma predeterminada no admite trabajar con XPath.
  • Sin embargo, lxml admite XPath 1.0. Tiene un modo compatible con BeautifulSoup en el que intentará analizar HTML roto como lo hace Soup.
  • Para copiar el XPath de un elemento, debemos inspeccionar el elemento y luego hacer clic derecho en su HTML y encontrar el XPath.
  • Después de esto, puede usar el método .xpath disponible en la clase etree del módulo lxml para analizar el valor dentro del elemento en cuestión.

Nota: Si XPath no le da el resultado deseado, copie el XPath completo en lugar de XPath y el resto de los demás pasos serían los mismos.

A continuación se muestra un ejemplo para mostrar cómo se puede usar Xpath con Beautifulsoup

Programa:

Python3

from bs4 import BeautifulSoup
from lxml import etree
import requests
  
  
URL = "https://en.wikipedia.org/wiki/Nike,_Inc."
  
HEADERS = ({'User-Agent':
            'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 \
            (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',\
            'Accept-Language': 'en-US, en;q=0.5'})
  
webpage = requests.get(URL, headers=HEADERS)
soup = BeautifulSoup(webpage.content, "html.parser")
dom = etree.HTML(str(soup))
print(dom.xpath('//*[@id="firstHeading"]')[0].text)

Producción:

Nike, Inc.

Publicación traducida automáticamente

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