Maison > développement back-end > Tutoriel Python > Comment puis-je utiliser XPath avec BeautifulSoup ?

Comment puis-je utiliser XPath avec BeautifulSoup ?

Linda Hamilton
Libérer: 2024-11-08 06:26:01
original
702 Les gens l'ont consulté

How can I use XPath with BeautifulSoup?

Utilisation de XPath avec BeautifulSoup

BeautifulSoup est une bibliothèque Python populaire pour analyser et manipuler des documents HTML. Cependant, il ne prend pas en charge nativement les expressions XPath.

Alternative : lxml

Une bibliothèque alternative appelée lxml fournit une prise en charge complète de XPath 1.0. Il dispose également d'un mode compatible BeautifulSoup qui peut analyser le HTML cassé comme BeautifulSoup. Pour utiliser XPath avec lxml :

from lxml import etree
from urllib import request

url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = request.urlopen(url)
tree = etree.parse(response, etree.HTMLParser())
result_list = tree.xpath("/html/body/div/table/tbody/tr[1]/td[1]")
Copier après la connexion

Utilisation des sélecteurs CSS avec lxml

lxml prend également en charge CSSSelector, qui peut traduire les instructions CSS en expressions XPath. Par exemple, pour trouver des éléments td avec la classe empformbody :

from lxml.cssselect import CSSSelector

css_selector = CSSSelector('td.empformbody')
result_list = css_selector(tree)
Copier après la connexion

Sélecteurs CSS dans BeautifulSoup

Fait intéressant, BeautifulSoup a son propre support de sélecteur CSS :

soup = BeautifulSoup(html, "html.parser")
result_list = soup.select('table#foobar td.empformbody')
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal