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