sourcecode

Python Requests 패키지:xml 응답 처리

codebag 2023. 7. 22. 10:01
반응형

Python Requests 패키지:xml 응답 처리

나는 그것을 매우 좋아합니다.requests패키지 및 JSON 응답을 처리하는 편안한 방법.

유감스럽게도 XML 응답도 처리할 수 있는지 이해하지 못했습니다.XML 응답을 처리하는 방법을 사용한 경험이 있는 사람requests패키지?XML 디코딩을 위해 다른 패키지를 포함해야 합니까?

requestsXML 응답은 구문 분석을 처리하지 않습니다. 아니요. XML 응답은 JSON 응답보다 훨씬 복잡합니다. XML 데이터를 Python 구조로 직렬화하는 방법은 그렇게 간단하지 않습니다.

Python에는 XML 파서가 내장되어 있습니다.요소를 사용하는 것이 좋습니다.트리 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를 기반으로 구축되어 더 많은 기능과 파워를 제공합니다.

훨씬 더 간단한 방법은 XML을 다음으로 변환하는 것입니다.dictxml to dict 패키지 사용

response = requests.get('http://blabla.com')
dict_data = xmltodict.parse(response.content)

지금이다,dict_data그것은 단지 파이썬 사전입니다.

pip을 사용하여 설치할 수 있습니다.pip install xmltodict

언급URL : https://stackoverflow.com/questions/18308529/python-requests-package-handling-xml-response

반응형