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

Comment puis-je utiliser XPath avec BeautifulSoup ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-08 06:26:01736parcourir

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]")

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)

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')

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!

Déclaration:
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