Speichern von XML-response von GET-Aufruf mit Python
Ich versuche zu erstellen, die eine Echtzeit-Bericht über eine API, die es mir erlaubt zu greifen, die Daten, die ich brauche und gibt Sie im XML-format. Was ich wissen will ist, nach Erhalt einer Antwort, wie kann ich es speichern .xml-Datei lokal? Oder den cache, so kann ich analysieren Sie vor der Analyse die Antwort.
import requests
r = requests.get('url', auth=('user', 'pass'))
Ich bin mit Anfragen, da es der einfachste Weg, um einen Anruf BEKOMMEN, meiner Meinung nach. Auch, dies ist meine erste Frage und ich bin kaum angefangen zu lernen, Python, würde ich es begrüßen, wenn Sie Jungs hatten ein wenig Geduld. Danke.
Ich war auf der Suche auf eine ähnliche Frage, aber für JSON, nicht sicher, ob es funktionieren würde, die gleichen, https://stackoverflow.com/a/17519020/4821590
import requests
import json
solditems = requests.get('https://github.com/timeline.json') # (your url)
data = solditems.json()
with open('data.json', 'w') as f:
json.dump(data, f)
file.open('foo.xml').write(r.text)
InformationsquelleAutor Julio Montes | 2015-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, um in der Lage zu analysieren, das zurückgegebene XML-bevor Sie Dinge tun, die xml-Baum ist dein Freund.
Anders, als jordanm hat kommentiert, Sie könnte einfach in eine Datei speichern und fertig.
wenn die Antwort ausreichend ist, können Sie markieren Sie es als akzeptiert, indem Sie auf das Häkchen neben der voting-buttons. Wenn Sie zusätzliche Hilfe oder Tipps, Kommentar unten und ich werde dir helfen. Oder Sie können warten, Sie etwas zu sehen, was andere Antworten kommen 🙂
Naja, ich werde zu halten, diese öffnen (nicht sicher, wenn das ist erlaubt) und tun einige Graben und mich sehen, wie viel weiter ich will nicht alles an mich übergeben, ich Schätze es aber.
Ich Frage mich, ob es ist ein Weg für mich, um die Antwort und in der Lage sein zu wählen, was Sie drucken möchten. Ich weiß, wenn seine
tree = ET.parse(r.text)
die Antwort ist die gesamte XML. Allerdings möchte ich, wählerisch zu sein. Ich habe versucht, gerade mittree = ET.parse(r)
aber ich muss etwas fehlen.haben Sie ein Beispiel? Meinst du wie ein Kind tag für die Instanz?
InformationsquelleAutor enigma
Paar Hinweise im Zusammenhang mit Python ist3 (mindestens 3.6-Versionen):
1) bei der Verwendung von xml.etree.ElementTree mit Anfragen, die Sie verwenden fromstring nicht analysieren. r.der text gibt einen string zurück, und xml.etree.ElementTree.analysieren ist für Dateien
2) Dieser erstellt ein element-Objekt, das als root (kein Baum mehr). So schreiben Sie es wieder aus, müssen Sie, um es ein Baum:
Aus der docs
InformationsquelleAutor j5awry