Python请求包:处理xml响应

我非常喜欢请求包及其处理JSON响应的舒适方式

不幸的是,我不知道我是否也可以处理XML响应。有没有人体验过如何使用请求包处理XML响应?XML解码是否需要包含另一个包

请求不处理解析XML响应,不。XML响应在本质上比JSON响应复杂得多,如何将XML数据序列化为Python结构也不那么简单

Python自带了内置的XML解析器。我建议您使用ElementTree API:

导入请求
从xml.etree导入元素树
response=requests.get(url)
tree=ElementTree.fromstring(response.content)

或者,如果响应特别大,则使用增量方法:

response=requests.get(url,stream=True)
#如果服务器发送了Gzip或Deflate压缩响应,请解压缩
#当我们阅读原始流时:
response.raw.decode_content=True
events=ElementTree.iterparse(response.raw)
对于事件,事件中的元素:
#用‘elem’做点什么`

外部lxml项目构建在相同的API之上,为您提供更多的特性和功能

发表评论