* Datenextraktor für HTML und XML * ist nicht selbst ein Parser, sondern benötigt einen Parser * vereinfacht es bestimmte Daten aus den geparsten Daten zu extrahieren * vereinfacht die Navigation innehralb des Baums ====== XML ====== ===== Initialisierung ===== * es muss lxml installiert sein * das ist der einzige derzeit unterstützte XML-Parser from bs4 import BeautifulSoup Importiert die Klasse soup = BeautifulSoup(daten, Parsername) Instanziert ein BeatifulSoup-Objekt. * daten ist das zu parsende XML * Parsername ist der Name des zu verwendenden Parsers * bei XML gibt es derzeit nur einen Parser "xml" Beispiel: daten = ' 9 sip:482735035@172.20.1.7 connected ' soup = BeautifulSoup(daten, 'xml') soup repräsentiert anschließend den Tree. ===== Elementzugriff ===== * das Objekt was durch die Initialisierung zurückgegeben wurde enthält das Dokument als Tree * Jedes Element des Trees ist ein eigenes Objekt (inkl. der Texte zwischen Tags) Um ein Element im Baum anzusprechen: soup.Element.Unterelement.Unterunterelement Beispiel: soup.crossRefIDorSnapshotData.snapshotData.snapshotDeviceResponseInfo.connectionIdentifier.callID ==== String-Zugriff ==== * Zugriff auf die Strings zwischen Tags * Erfolgt über das Objekt "string" * ist vom Typ "NavigableString" soup.Element.Unterelement.Unterunterelement.string Beispiel: soup.crossRefIDorSnapshotData.snapshotData.snapshotDeviceResponseInfo.connectionIdentifier.callID.string