Kann XPath in BeautifulSoup integriert werden?
BeautifulSoup, eine HTML-Parsing-Bibliothek, ermöglicht es Benutzern, bestimmte Tags mithilfe von Methoden wie findAll abzurufen. Es fehlt jedoch die Unterstützung für XPath-Ausdrücke.
Geben Sie lxml ein
lxml, eine alternative Bibliothek, bietet XPath-Unterstützung und verfügt über einen BeautifulSoup-kompatiblen Modus. Der Standard-HTML-Parser von lxml ist bei der Verarbeitung fehlerhaften HTML-Codes mit der Leistung von BeautifulSoup vergleichbar und bietet möglicherweise eine schnellere Verarbeitung.
So nutzen Sie die XPath-Funktionen von lxml:
Beispiel mit lxml und Anforderungsbibliothek
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)
CSS-Selektorunterstützung mit lxml
Die CSSSelector-Klasse übersetzt CSS-Syntax in XPath-Ausdrücke und vereinfacht so die Suche nach bestimmten Elemente.
from lxml.cssselect import CSSSelector td_empformbody = CSSSelector('td.empformbody') for elem in td_empformbody(tree): # Process found elements.
CSS-Selektorunterstützung mit BeautifulSoup
BeautifulSoup bietet nativ umfassende CSS-Selektorunterstützung und ermöglicht die gleiche Funktionalität wie die CSSSelector-Klasse von lxml:
for cell in soup.select('table#foobar td.empformbody'): # Process found elements.
Das obige ist der detaillierte Inhalt vonKönnen die XPath-Funktionen von lxml in BeautifulSoup integriert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!