XPath peut-il être intégré à BeautifulSoup ?
BeautifulSoup, une bibliothèque d'analyse HTML, permet aux utilisateurs de récupérer des balises spécifiques à l'aide de méthodes telles que findAll. Cependant, il ne prend pas en charge les expressions XPath.
Entrez lxml
lxml, une bibliothèque alternative, fournit une prise en charge XPath et propose un mode compatible BeautifulSoup. L'analyseur HTML standard de lxml fonctionne de manière comparable à BeautifulSoup dans la gestion du HTML cassé et offre potentiellement un traitement plus rapide.
Pour utiliser les capacités XPath de lxml :
Exemple avec lxml et Request Library
import lxml.html import requests url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html" response = requests.get(url, stream=True) response.raw.decode_content = True tree = lxml.html.parse(response.raw) tree.xpath(xpathselector)
Prise en charge du sélecteur CSS avec lxml
La classe CSSSelector traduit la syntaxe CSS en expressions XPath, simplifiant ainsi la recherche d'éléments spécifiques.
from lxml.cssselect import CSSSelector td_empformbody = CSSSelector('td.empformbody') for elem in td_empformbody(tree): # Process found elements.
Prise en charge du sélecteur CSS avec BeautifulSoup
BeautifulSoup offre nativement une prise en charge complète du sélecteur CSS, permettant les mêmes fonctionnalités que la classe CSSSelector de lxml :
for cell in soup.select('table#foobar td.empformbody'): # Process found elements.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!