requests
ne gère pas l'analyse des réponses XML, non. Les réponses XML sont de nature beaucoup plus complexe que les réponses JSON, la façon dont vous sérialiseriez des données XML dans des structures Python n'est pas aussi simple.
Python est livré avec des analyseurs XML intégrés. Je vous recommande d'utiliser l' API ElementTree :
import requests
from xml.etree import ElementTree
response = requests.get(url)
tree = ElementTree.fromstring(response.content)
ou, si la réponse est particulièrement importante, utilisez une approche incrémentielle:
response = requests.get(url, stream=True)
# if the server sent a Gzip or Deflate compressed response, decompress
# as we read the raw stream:
response.raw.decode_content = True
events = ElementTree.iterparse(response.raw)
for event, elem in events:
# do something with `elem`
Le projet lxml externe s'appuie sur la même API pour vous offrir encore plus de fonctionnalités et de puissance.
Martijn Pieters
la source