구조화 마크업 처리 도구
구조화 마크업 처리 도구 (Structured Markup Processing Tools)
파이썬은 다양한 형태의 구조화 데이터 마크업을 다루는 여러 모듈을 지원해요. 여기에는 Standard Generalized Markup Language(SGML)와 Hypertext Markup Language(HTML)를 다루는 모듈, 그리고 Extensible Markup Language(XML)를 다루는 여러 인터페이스가 포함돼요.
본문
이 장에서 다루는 모듈은 다음과 같아요.
HTML 관련 모듈
html— HyperText Markup Language 지원.html.parser— 간단한 HTML 및 XHTML 파서. 예시 HTML 파서 애플리케이션,HTMLParser메서드, 예시.html.entities— HTML 일반 엔티티 정의.
XML 처리 모듈
- XML 처리 모듈과 XML 보안.
xml.etree.ElementTree— ElementTree XML API. 튜토리얼, XML 트리와 요소, XML 파싱, 비차단 파싱용 Pull API, 흥미로운 요소 찾기, XML 파일 수정, XML 문서 구축, 네임스페이스가 있는 XML 파싱, XPath 지원, 참조.xml.dom— Document Object Model API. 모듈 내용, DOM 객체, 이상(conformance), 타입 매핑, 접근자 메서드.xml.dom.minidom— 최소 DOM 구현. DOM 객체, DOM 예시, minidom과 DOM 표준.xml.dom.pulldom— 부분 DOM 트리 구축 지원. DOMEventStream 객체.xml.sax— SAX2 파서 지원. SAXException 객체.xml.sax.handler— SAX 핸들러를 위한 기본 클래스.xml.sax.saxutils— SAX 유틸리티.xml.sax.xmlreader— XML 파서용 인터페이스.xml.parsers.expat— Expat을 사용한 빠른 XML 파싱. XMLParser 객체, ExpatError 예외, 예시, 콘텐츠 모델 설명, Expat 오류 상수.
HTML 관련 모듈은 HTML 문서를 파싱·조작하고, XML 관련 모듈은 XML 문서를 파싱·생성·조작하는 데 사용돼요. ElementTree는 트리 기반 요구 사항에 가장 널리 사용되며, SAX와 DOM은 서로 다른 파싱 전략을 제공해요.