问题:Python请求包:处理xml响应
我非常喜欢该requests
程序包及其舒适的方式来处理JSON响应。
不幸的是,我不知道是否还可以处理XML响应。有没有人体验过如何使用该requests
包处理XML响应?是否需要包括另一个用于XML解码的包?
回答 0
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上,仍然为您提供更多功能和强大功能。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。