requests
không xử lý các phản hồi XML phân tích cú pháp, không. Các phản hồi XML về bản chất phức tạp hơn nhiều so với các phản hồi JSON, cách bạn tuần tự hóa dữ liệu XML thành các cấu trúc Python gần như không đơn giản.
Python đi kèm với các trình phân tích cú pháp XML tích hợp sẵn. Tôi khuyên bạn nên sử dụng API ElementTree :
import requests
from xml.etree import ElementTree
response = requests.get(url)
tree = ElementTree.fromstring(response.content)
hoặc, nếu phản hồi đặc biệt lớn, hãy sử dụng phương pháp gia tăng:
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`
Dự án lxml bên ngoài xây dựng trên cùng một API để cung cấp cho bạn nhiều tính năng hơn và vẫn hoạt động hiệu quả.