Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich XPath mit BeautifulSoup verwenden?
XPath mit BeautifulSoup verwenden
BeautifulSoup ist eine beliebte Python-Bibliothek zum Parsen und Bearbeiten von HTML-Dokumenten. XPath-Ausdrücke werden jedoch nicht nativ unterstützt.
Alternative: lxml
Eine alternative Bibliothek namens lxml bietet vollständige XPath 1.0-Unterstützung. Es verfügt außerdem über einen BeautifulSoup-kompatiblen Modus, der fehlerhaftes HTML wie BeautifulSoup analysieren kann. So verwenden Sie XPath mit 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]")
Verwenden von CSS-Selektoren mit lxml
lxml verfügt auch über CSSSelector-Unterstützung, die CSS-Anweisungen in XPath-Ausdrücke übersetzen kann. Um beispielsweise td-Elemente mit der Klasse empformbody zu finden:
from lxml.cssselect import CSSSelector css_selector = CSSSelector('td.empformbody') result_list = css_selector(tree)
CSS-Selektoren in BeautifulSoup
Interessanterweise verfügt BeautifulSoup über eine eigene CSS-Selektorunterstützung:
soup = BeautifulSoup(html, "html.parser") result_list = soup.select('table#foobar td.empformbody')
Das obige ist der detaillierte Inhalt vonWie kann ich XPath mit BeautifulSoup verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!