* 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