Ответ 1
requests
не обрабатывает парсинг XML-ответов, нет. Ответы XML по своей природе намного сложнее, чем ответы JSON, и то, как вы бы сериализовали данные XML в структуры Python, далеко не так просто.
Python поставляется со встроенными парсерами XML. Я рекомендую вам использовать ElementTree API:
import requests
from xml.etree import ElementTree
response = requests.get(url)
tree = ElementTree.fromstring(response.content)
или, если ответ особенно велик, используйте поэтапный подход:
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'
Внешний lxml проект основан на том же API, чтобы предоставить вам больше возможностей и возможностей.