requests
ne gère pas l'analyse des réponses XML, non. Les réponses XML sont beaucoup plus complexes par nature que les réponses JSON, et la façon dont vous sérialisez les données XML dans des structures Python est loin d'être aussi simple.
Python est livré avec des analyseurs XML intégrés. Je vous recommande d'utiliser le API d'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, utiliser une approche incrémentale :
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`
L'extérieur Projet lxml s'appuie sur la même API pour vous offrir encore plus de fonctionnalités et de puissance.