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!