Heim > Backend-Entwicklung > Python-Tutorial > Arbeiten mit XML in der Python Requests-Bibliothek

Arbeiten mit XML in der Python Requests-Bibliothek

DDD
Freigeben: 2024-12-30 08:31:29
Original
230 Leute haben es durchsucht

Working with XML in Python Requests library

Was ist XML? XML bedeutet Extensible Markup Language, die zum Speichern strukturierter Daten und zum Gruppieren beliebiger Elemente erforderlich ist. In der XML-Markup-Sprache können Sie Tags mit beliebigen Namen erstellen. Die beliebtesten Beispiele für XML – Sitemaps und RSS-Feeds.

Beispiel einer XML-Datei:

<breakfast_menu>
   <food>
       <name>Belgian Waffles</name>
       <price>.95</price>
       <description>Two of our famous Belgian Waffles with plenty of real maple syrup</description>
       <calories>650</calories> </food>
   <food>
       <name>Strawberry Belgian Waffles</name>
       <price>.95</price>
       <description>Light Belgian waffles covered with strawberries and whipped cream</description>
       <calories>900</calories> </food>
   <food>
       <name>Berry-Berry Belgian Waffles</name>
       <price>.95</price>
       <description>Light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>
       <calories>900</calories> </food>
   <food>
       <name>French Toast</name>
       <price>.50</price>
       <description>Thick slices made from our homemade sourdough bread</description>
       <calories>600</calories> </food>
   <food>
       <name>Homestyle Breakfast</name>
       <price>.95</price>
       <description>Two eggs, bacon or sausage, toast, and our ever-popular hash browns</description>
       <calories>950</calories> </food>
</breakfast_menu>
Nach dem Login kopieren

In diesem Beispiel enthält die Datei das globale Tag „breakfast_menu“, das Lebensmittelkategorien umfasst, und jede Lebensmittelkategorie enthält Name, Preis, Beschreibung und Kalorien-Tag.

Jetzt lernen wir, wie man mit der XML- und Python-Requests-Bibliothek arbeitet. Zuerst müssen wir unser Arbeitsumfeld vorbereiten.

Um ein neues Projekt und eine virtuelle Umgebung zu erstellen, installieren Sie das Paket python3-virtualenv. Es sind Trennungsanforderungen für jedes Projekt erforderlich. Installation in Debian/Ubuntu:

sudo apt install python3 python3-virtualenv -y
Nach dem Login kopieren

Projektordner erstellen:

mkdir my_project
cd my_project
Nach dem Login kopieren

Erstellen Sie eine virtuelle Python-Umgebung mit der Umgebung mit dem Namen Ordner:

python3 -m venv env
Nach dem Login kopieren

Virtuelle Umgebung aktivieren:

source env/bin/activate
Nach dem Login kopieren

PIP-Abhängigkeiten installieren:

pip3 install requests
Nach dem Login kopieren

Lassen Sie uns mit dem Schreiben von Code beginnen.

Erstellen Sie die Datei main.py und fügen Sie unten den Code ein:

import requests
import xml.etree.ElementTree as ET
request = requests.get('https://www.w3schools.com/xml/simple.xml')
root = ET.fromstring(request.content)
for item in root.iter('*'):
    print(item.tag)
Nach dem Login kopieren

Dieses Code-Snippet hilft uns, alle inneren Tags zu finden.

Die Ausgabe dieses Codes:

(env) user@localhost:~/my_project$ python3 main.py
breakfast_menu
food
name
price
description
calories
food
name
price
description
calories
food
name
price
description
calories
food
name
price
description
calories
food
name
price
description
calories
Nach dem Login kopieren

Jetzt schreiben wir Code zum Abrufen von Werten aus inneren Elementen. Öffnen Sie die Datei main.py und ersetzen Sie den vorherigen Code durch diesen:

import requests
import xml.etree.ElementTree as ET
request = requests.get('https://www.w3schools.com/xml/simple.xml')
root = ET.fromstring(request.content)
for item in root.iterfind('food'):
    print(item.findtext('name'))
    print(item.findtext('price'))
    print(item.findtext('description'))
    print(item.findtext('calories'))
Nach dem Login kopieren

Wir haben das nächste Ergebnis erhalten:

(env) user@localhost:~/my_project$ python3 main.py
Belgian Waffles
.95
Two of our famous Belgian Waffles with plenty of real maple syrup
650
Strawberry Belgian Waffles
.95
Light Belgian waffles covered with strawberries and whipped cream
900
Berry-Berry Belgian Waffles
.95
Light Belgian waffles covered with an assortment of fresh berries and whipped cream
900
French Toast
.50
Thick slices made from our homemade sourdough bread
600
Homestyle Breakfast
.95
Two eggs, bacon or sausage, toast, and our ever-popular hash browns
950
Nach dem Login kopieren

Im letzten Schritt verschönern wir die Ausgabedaten, um sie leichter lesbar zu machen:

import requests
import xml.etree.ElementTree as ET
request = requests.get('https://www.w3schools.com/xml/simple.xml')
root = ET.fromstring(request.content)
for item in root.iterfind('food'):
    print('Name: {}. Price: {}. Description: {}. Calories: {}'.format(item.findtext('name'), item.findtext('price'), item.findtext('description'), item.findtext('calories')))
Nach dem Login kopieren

Hier Ausgabe:

(env) user@localhost:~/my_project$ python3 main.py
Name: Belgian Waffles. Price: .95. Description: Two of our famous Belgian Waffles with plenty of real maple syrup. Calories: 650
Name: Strawberry Belgian Waffles. Price: .95. Description: Light Belgian waffles covered with strawberries and whipped cream. Calories: 900
Name: Berry-Berry Belgian Waffles. Price: .95. Description: Light Belgian waffles covered with an assortment of fresh berries and whipped cream. Calories: 900
Name: French Toast. Price: .50. Description: Thick slices made from our homemade sourdough bread. Calories: 600
Name: Homestyle Breakfast. Price: .95. Description: Two eggs, bacon or sausage, toast, and our ever-popular hash browns. Calories: 950
Nach dem Login kopieren

Quellenmaterialien:
Beispiel einer XML-Datei von W3Schools.


Sind meine Beiträge hilfreich? Du kannst mich auf Patreon unterstützen.

Das obige ist der detaillierte Inhalt vonArbeiten mit XML in der Python Requests-Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage