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 중국어 웹사이트의 기타 관련 기사를 참조하세요!