requests
no maneja el análisis de respuestas XML, no. Las respuestas XML son de naturaleza mucho más compleja que las respuestas JSON, la forma en que serializaría los datos XML en estructuras de Python no es tan sencilla.
Python viene con analizadores XML integrados. Te recomiendo que uses la API ElementTree :
import requests
from xml.etree import ElementTree
response = requests.get(url)
tree = ElementTree.fromstring(response.content)
o, si la respuesta es particularmente grande, utilice un enfoque incremental:
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`
El proyecto externo lxml se basa en la misma API para brindarle aún más funciones y potencia.