lxml

Duckhee·2025년 12월 28일
post-thumbnail

[Python] lxml

Python에서 XML 파일을 처리하기 위한 라이브러리에 대해 정리했다.


XML이란?

XML은 트리 구조를 가진 파일을 표현하기 위한 마크업 언어다.
단순한 문자열이 아니라 계층적 구조를 가진 데이터를 표현할 수 있다.

XML의 대표적인 예시

  • HTML: 웹페이지를 표현하는 파일
  • MS Office 파일: docx, xlsx, pptx
  • 설정 파일: 각종 config 파일

MS Office 파일들(docx, xlsx, pptx)도 사실 XML 형식이다.
압축을 풀면 내부에 XML 파일들이 들어있는 걸 확인할 수 있다.


XML Parser의 필요성

XML 파일을 처리하려면 파일을 해석하는 프로그램(Parser)이 필요하다.

Parser가 하는 일:

  • XML 문서의 구조 분석
  • 태그와 속성 추출
  • 데이터 접근 및 수정

lxml이란?

Python에서 XML/HTML을 처리하기 위해 주로 사용되는 패키지다.

특징

  • 강력하고 Pythonic한 XML 처리 라이브러리
  • libxml2/libxslt와 ElementTree API 결합
  • 빠른 성능
  • XPath, XSLT 지원

설치

pip install lxml

설치 위치

보통 가상환경의 Scripts 디렉토리에 설치된다:

C:\Users\사용자이름\PycharmProjects\프로젝트명\venv\Scripts

사용 예시

from lxml import etree

# XML 파싱
xml_string = """

    Apple
    Banana

"""

root = etree.fromstring(xml_string)

# 요소 접근
for item in root.findall('item'):
    print(item.get('id'), item.text)
# 출력:
# 1 Apple
# 2 Banana

마무리

lxml은 Python에서 XML/HTML 처리를 위한 필수 라이브러리다.
웹 스크래핑, 문서 처리, 데이터 파싱 등 다양한 곳에서 활용된다.

특히 BeautifulSoup과 함께 사용하면 웹 크롤링 작업이 훨씬 수월해진다.


참고 자료

profile
🌈 I Love DE🌈

0개의 댓글