2015-04-22 14 views
5

Próbuję utworzyć raport w czasie rzeczywistym za pomocą interfejsu API, który pozwala mi pobrać potrzebne dane i zwraca je w formacie XML. Co chcę wiedzieć, po otrzymaniu odpowiedzi, jak mogę zapisać go do pliku .xml lokalnie? Lub cache to, w ten sposób mogę parsować go przed analizą odpowiedzi.Zapisz odpowiedź XML z wywołania GET za pomocą Python

import requests 
r = requests.get('url', auth=('user', 'pass')) 

Używam zgłoszeń, ponieważ jest to najprostszy sposób, aby wykonać zgłoszenie GET w mojej opinii. To jest moje pierwsze pytanie i ledwie zaczynam się uczyć Pythona. Byłbym wdzięczny, gdybyście mieli trochę cierpliwości. Dzięki.

Szukałem na podobne pytanie, ale dla JSON, nie wiem, czy to będzie działać tak samo, 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) 
+3

'File.Open ('foo.xml'). Write (r.text)' – jordanm

Odpowiedz

11

Jeśli chcesz, aby móc przeanalizować zwrócony XML przed robi rzeczy wraz z nim xml tree jest twoim przyjacielem.

import requests 
import xml.etree.ElementTree as ET 

r = requests.get('url', auth=('user', 'pass')) 
tree = ET.parse(r.text) 
root = tree.getroot() 

przeciwnym razie, jak jordanm skomentował, można po prostu zapisać go do pliku i być z nim zrobić.

with open('data.xml', 'w') as f: 
    f.write(r.text) 
+1

Dzięki, czekam na dokumentacji teraz, naprawdę pomocne. Przepraszam, nie mam reputacji, aby cię upomnieć. –

+1

@JulioMamy, jeśli odpowiedź jest wystarczająca, możesz oznaczyć ją jako zaakceptowaną, klikając znacznik obok przycisków do głosowania. Jeśli potrzebujesz dodatkowej pomocy lub wskazówek, komentarz poniżej, a ja ci pomogę. Możesz też trochę poczekać, aby zobaczyć, jakie inne odpowiedzi pojawią się :) – enigma

+1

Cóż, zamierzam zachować to otwarcie (nie jestem pewien, czy to jest dozwolone) i zrobić trochę kopania siebie i zobaczyć, ile jeszcze dostanę, don ' Chcę, żeby mi to wszystko dało, doceniam to. –

Powiązane problemy