Benutzer-Werkzeuge

Webseiten-Werkzeuge


beautifulsoup

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
beautifulsoup [2019/04/08 07:20]
root angelegt
beautifulsoup [2019/04/08 08:45] (aktuell)
root [Elementzugriff]
Zeile 8: Zeile 8:
  
 ===== Initialisierung ===== ===== Initialisierung =====
 +
 +  * es muss lxml installiert sein
 +      * das ist der einzige derzeit unterstützte XML-Parser
 +
  
 <code> <code>
Zeile 21: Zeile 25:
   * daten ist das zu parsende XML   * daten ist das zu parsende XML
   * Parsername ist der Name des zu verwendenden Parsers   * Parsername ist der Name des zu verwendenden Parsers
 +      * bei XML gibt es derzeit nur einen Parser "xml"
  
 +Beispiel:
 +<code>
 +daten = '<?xml version="1.0" encoding="utf-8"?> <SnapshotDeviceResponse xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed5">  <crossRefIDorSnapshotData> <snapshotData> <snapshotDeviceResponseInfo> <connectionIdentifier> <callID>9</callID> <deviceID>sip:482735035@172.20.1.7</deviceID> </connectionIdentifier> <localCallState> <compoundCallState> <localConnectionState>connected</localConnectionState> </compoundCallState> </localCallState> </snapshotDeviceResponseInfo> </snapshotData> </crossRefIDorSnapshotData> </SnapshotDeviceResponse>'
  
 +soup = BeautifulSoup(daten, 'xml')
 +</code>
 + 
 +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:
 +<code>
 +soup.Element.Unterelement.Unterunterelement
 +</code>
 +
 +Beispiel:
 +<code>
 +soup.crossRefIDorSnapshotData.snapshotData.snapshotDeviceResponseInfo.connectionIdentifier.callID
 +</code>
 +
 +
 +==== String-Zugriff ====
 + 
 +  * Zugriff auf die Strings zwischen Tags
 +  * Erfolgt über das Objekt "string"
 +      * ist vom Typ "NavigableString"
 +
 +<code>
 +soup.Element.Unterelement.Unterunterelement.string
 +</code>
 +
 +Beispiel:
 +
 +<code>
 +soup.crossRefIDorSnapshotData.snapshotData.snapshotDeviceResponseInfo.connectionIdentifier.callID.string
 +</code>
beautifulsoup.1554700853.txt.gz · Zuletzt geändert: 2019/04/08 07:20 von root