> 백엔드 개발 > 파이썬 튜토리얼 > Python 요청 라이브러리에서 XML 작업

Python 요청 라이브러리에서 XML 작업

DDD
풀어 주다: 2024-12-30 08:31:29
원래의
243명이 탐색했습니다.

Working with XML in Python Requests library

XML이란 무엇인가요? XML은 구조화된 데이터를 저장하고 항목을 그룹화하는 데 필요한 확장 가능 마크업 언어를 의미합니다. XML 마크업 언어에서는 어떤 이름으로도 태그를 만들 수 있습니다. XML의 가장 인기 있는 예 - 사이트맵 및 RSS 피드.

XML 파일의 예:

<breakfast_menu>
   <food>
       <name>Belgian Waffles</name>
       <price>.95</price>
       <description>Two of our famous Belgian Waffles with plenty of real maple syrup</description>
       <calories>650</calories> </food>
   <food>
       <name>Strawberry Belgian Waffles</name>
       <price>.95</price>
       <description>Light Belgian waffles covered with strawberries and whipped cream</description>
       <calories>900</calories> </food>
   <food>
       <name>Berry-Berry Belgian Waffles</name>
       <price>.95</price>
       <description>Light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>
       <calories>900</calories> </food>
   <food>
       <name>French Toast</name>
       <price>.50</price>
       <description>Thick slices made from our homemade sourdough bread</description>
       <calories>600</calories> </food>
   <food>
       <name>Homestyle Breakfast</name>
       <price>.95</price>
       <description>Two eggs, bacon or sausage, toast, and our ever-popular hash browns</description>
       <calories>950</calories> </food>
</breakfast_menu>
로그인 후 복사

이 예에서 파일에는 음식 카테고리를 포함하는 lunch_menu 전역 태그가 포함되어 있으며 모든 음식 카테고리에는 이름, 가격, 설명 및 칼로리 태그가 포함되어 있습니다.

이제 XML 및 Python 요청 라이브러리를 사용하는 방법을 배우기 시작합니다. 먼저 작업 환경을 준비해야 합니다.

새 프로젝트와 가상 환경을 생성하려면 python3-virtualenv 패키지를 설치하세요. 각 프로젝트의 분리 요구 사항이 필요합니다. Debian/Ubuntu에 설치:

sudo apt install python3 python3-virtualenv -y
로그인 후 복사

프로젝트 폴더 생성:

mkdir my_project
cd my_project
로그인 후 복사

폴더 이름이 지정된 환경을 사용하여 Python 가상 환경 만들기:

python3 -m venv env
로그인 후 복사

가상 환경 활성화:

source env/bin/activate
로그인 후 복사

PIP 종속성 설치:

pip3 install requests
로그인 후 복사

코드 작성을 시작해 보겠습니다.

main.py 파일을 생성하고 아래 코드를 삽입하세요.

import requests
import xml.etree.ElementTree as ET
request = requests.get('https://www.w3schools.com/xml/simple.xml')
root = ET.fromstring(request.content)
for item in root.iter('*'):
    print(item.tag)
로그인 후 복사

이 코드 조각은 모든 내부 태그를 찾는 데 도움이 됩니다.

이 코드의 출력:

(env) user@localhost:~/my_project$ python3 main.py
breakfast_menu
food
name
price
description
calories
food
name
price
description
calories
food
name
price
description
calories
food
name
price
description
calories
food
name
price
description
calories
로그인 후 복사

이제 내부 요소에서 값을 가져오는 코드를 작성합니다. main.py 파일을 열고 이전 코드를 다음으로 바꿉니다.

import requests
import xml.etree.ElementTree as ET
request = requests.get('https://www.w3schools.com/xml/simple.xml')
root = ET.fromstring(request.content)
for item in root.iterfind('food'):
    print(item.findtext('name'))
    print(item.findtext('price'))
    print(item.findtext('description'))
    print(item.findtext('calories'))
로그인 후 복사

다음 결과를 받았습니다:

(env) user@localhost:~/my_project$ python3 main.py
Belgian Waffles
.95
Two of our famous Belgian Waffles with plenty of real maple syrup
650
Strawberry Belgian Waffles
.95
Light Belgian waffles covered with strawberries and whipped cream
900
Berry-Berry Belgian Waffles
.95
Light Belgian waffles covered with an assortment of fresh berries and whipped cream
900
French Toast
.50
Thick slices made from our homemade sourdough bread
600
Homestyle Breakfast
.95
Two eggs, bacon or sausage, toast, and our ever-popular hash browns
950
로그인 후 복사

마지막 단계에서는 읽기 쉽도록 출력 데이터를 예쁘게 만듭니다.

import requests
import xml.etree.ElementTree as ET
request = requests.get('https://www.w3schools.com/xml/simple.xml')
root = ET.fromstring(request.content)
for item in root.iterfind('food'):
    print('Name: {}. Price: {}. Description: {}. Calories: {}'.format(item.findtext('name'), item.findtext('price'), item.findtext('description'), item.findtext('calories')))
로그인 후 복사

여기서 출력:

(env) user@localhost:~/my_project$ python3 main.py
Name: Belgian Waffles. Price: .95. Description: Two of our famous Belgian Waffles with plenty of real maple syrup. Calories: 650
Name: Strawberry Belgian Waffles. Price: .95. Description: Light Belgian waffles covered with strawberries and whipped cream. Calories: 900
Name: Berry-Berry Belgian Waffles. Price: .95. Description: Light Belgian waffles covered with an assortment of fresh berries and whipped cream. Calories: 900
Name: French Toast. Price: .50. Description: Thick slices made from our homemade sourdough bread. Calories: 600
Name: Homestyle Breakfast. Price: .95. Description: Two eggs, bacon or sausage, toast, and our ever-popular hash browns. Calories: 950
로그인 후 복사

원재료:
W3Schools에서 가져온 XML 파일의 예


내 게시물이 도움이 되었나요? Patreon에서 저를 후원하실 수 있습니다.

위 내용은 Python 요청 라이브러리에서 XML 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿