> **Источник:** https://python-all.ru/2.7/library/markup.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 19. Инструменты обработки структурированной разметки

Python поддерживает множество модулей для работы с различными формами структурированной разметки данных. Сюда входят модули для работы со Standard Generalized Markup Language (SGML) и Hypertext Markup Language (HTML), а также несколько интерфейсов для работы с Extensible Markup Language (XML).

Важно отметить, что модули пакета [`xml`](https://python-all.ru/2.7/library/xml.html#module-xml) требуют наличия как минимум одного XML-парсера, совместимого с SAX. Начиная с Python 2.3, парсер Expat входит в состав Python, поэтому модуль [`xml.parsers.expat`](https://python-all.ru/2.7/library/pyexpat.html#module-xml.parsers.expat) всегда доступен. Возможно, стоит также знать о [дополнительном пакете PyXML](https://python-all.ru/2.7/library/markup.html); этот пакет предоставляет расширенный набор XML-библиотек для Python.

Документация пакетов [`xml.dom`](https://python-all.ru/2.7/library/xml.dom.html#module-xml.dom) и [`xml.sax`](https://python-all.ru/2.7/library/xml.sax.html#module-xml.sax) представляет собой описание привязок Python для интерфейсов DOM и SAX.

- [19.1. `HTMLParser` – Простой анализатор HTML и XHTML](https://python-all.ru/2.7/library/htmlparser.html)

  - [19.1.1. Пример приложения для парсинга HTML](https://python-all.ru/2.7/library/htmlparser.html#example-html-parser-application)
  - [19.1.2. Методы `HTMLParser`](https://python-all.ru/2.7/library/htmlparser.html#htmlparser-methods)
  - [19.1.3. Примеры](https://python-all.ru/2.7/library/htmlparser.html#examples)
- [19.2. `sgmllib` – Простой анализатор SGML](https://python-all.ru/2.7/library/sgmllib.html)
- [19.3. `htmllib` – Анализатор HTML-документов](https://python-all.ru/2.7/library/htmllib.html)

  - [19.3.1. Объекты HTMLParser](https://python-all.ru/2.7/library/htmllib.html#htmlparser-objects)
- [19.4. `htmlentitydefs` – Определения общих HTML-сущностей](https://python-all.ru/2.7/library/htmllib.html#module-htmlentitydefs)
- [19.5. Модули обработки XML](https://python-all.ru/2.7/library/xml.html)
- [19.6. Уязвимости XML](https://python-all.ru/2.7/library/xml.html#xml-vulnerabilities)

  - [19.6.1. Пакеты defused](https://python-all.ru/2.7/library/xml.html#defused-packages)
- [19.7. `xml.etree.ElementTree` – XML API ElementTree](https://python-all.ru/2.7/library/xml.etree.elementtree.html)

  - [19.7.1. Учебное руководство](https://python-all.ru/2.7/library/xml.etree.elementtree.html#tutorial)

    - [19.7.1.1. XML-дерево и элементы](https://python-all.ru/2.7/library/xml.etree.elementtree.html#xml-tree-and-elements)
    - [19.7.1.2. Разбор XML](https://python-all.ru/2.7/library/xml.etree.elementtree.html#parsing-xml)
    - [19.7.1.3. Поиск значимых элементов](https://python-all.ru/2.7/library/xml.etree.elementtree.html#finding-interesting-elements)
    - [19.7.1.4. Изменение XML-файла](https://python-all.ru/2.7/library/xml.etree.elementtree.html#modifying-an-xml-file)
    - [19.7.1.5. Построение XML-документов](https://python-all.ru/2.7/library/xml.etree.elementtree.html#building-xml-documents)
    - [19.7.1.6. Разбор XML с пространствами имён](https://python-all.ru/2.7/library/xml.etree.elementtree.html#parsing-xml-with-namespaces)
    - [19.7.1.7. Дополнительные ресурсы](https://python-all.ru/2.7/library/xml.etree.elementtree.html#additional-resources)
  - [19.7.2. Поддержка XPath](https://python-all.ru/2.7/library/xml.etree.elementtree.html#xpath-support)

    - [19.7.2.1. Пример](https://python-all.ru/2.7/library/xml.etree.elementtree.html#example)
    - [19.7.2.2. Поддерживаемый синтаксис XPath](https://python-all.ru/2.7/library/xml.etree.elementtree.html#supported-xpath-syntax)
  - [19.7.3. Справочник](https://python-all.ru/2.7/library/xml.etree.elementtree.html#reference)

    - [19.7.3.1. Функции](https://python-all.ru/2.7/library/xml.etree.elementtree.html#functions)
    - [19.7.3.2. Объекты Element](https://python-all.ru/2.7/library/xml.etree.elementtree.html#element-objects)
    - [19.7.3.3. Объекты ElementTree](https://python-all.ru/2.7/library/xml.etree.elementtree.html#elementtree-objects)
    - [19.7.3.4. Объекты QName](https://python-all.ru/2.7/library/xml.etree.elementtree.html#qname-objects)
    - [19.7.3.5. Объекты TreeBuilder](https://python-all.ru/2.7/library/xml.etree.elementtree.html#treebuilder-objects)
    - [19.7.3.6. Объекты XMLParser](https://python-all.ru/2.7/library/xml.etree.elementtree.html#xmlparser-objects)
- [19.8. `xml.dom` – API объектной модели документа](https://python-all.ru/2.7/library/xml.dom.html)

  - [19.8.1. Содержимое модуля](https://python-all.ru/2.7/library/xml.dom.html#module-contents)
  - [19.8.2. Объекты в DOM](https://python-all.ru/2.7/library/xml.dom.html#objects-in-the-dom)

    - [19.8.2.1. Объекты DOMImplementation](https://python-all.ru/2.7/library/xml.dom.html#domimplementation-objects)
    - [19.8.2.2. Объекты Node](https://python-all.ru/2.7/library/xml.dom.html#node-objects)
    - [19.8.2.3. Объекты NodeList](https://python-all.ru/2.7/library/xml.dom.html#nodelist-objects)
    - [19.8.2.4. Объекты DocumentType](https://python-all.ru/2.7/library/xml.dom.html#documenttype-objects)
    - [19.8.2.5. Объекты Document](https://python-all.ru/2.7/library/xml.dom.html#document-objects)
    - [19.8.2.6. Объекты Element](https://python-all.ru/2.7/library/xml.dom.html#element-objects)
    - [19.8.2.7. Объекты Attr](https://python-all.ru/2.7/library/xml.dom.html#attr-objects)
    - [19.8.2.8. Объекты NamedNodeMap](https://python-all.ru/2.7/library/xml.dom.html#namednodemap-objects)
    - [19.8.2.9. Объекты Comment](https://python-all.ru/2.7/library/xml.dom.html#comment-objects)
    - [19.8.2.10. Объекты Text и CDATASection](https://python-all.ru/2.7/library/xml.dom.html#text-and-cdatasection-objects)
    - [19.8.2.11. Объекты ProcessingInstruction](https://python-all.ru/2.7/library/xml.dom.html#processinginstruction-objects)
    - [19.8.2.12. Исключения](https://python-all.ru/2.7/library/xml.dom.html#exceptions)
  - [19.8.3. Соответствие](https://python-all.ru/2.7/library/xml.dom.html#conformance)

    - [19.8.3.1. Отображение типов](https://python-all.ru/2.7/library/xml.dom.html#type-mapping)
    - [19.8.3.2. Методы доступа](https://python-all.ru/2.7/library/xml.dom.html#accessor-methods)
- [19.9. `xml.dom.minidom` – Минимальная реализация DOM](https://python-all.ru/2.7/library/xml.dom.minidom.html)

  - [19.9.1. Объекты DOM](https://python-all.ru/2.7/library/xml.dom.minidom.html#dom-objects)
  - [19.9.2. Пример DOM](https://python-all.ru/2.7/library/xml.dom.minidom.html#dom-example)
  - [19.9.3. minidom и стандарт DOM](https://python-all.ru/2.7/library/xml.dom.minidom.html#minidom-and-the-dom-standard)
- [19.10. `xml.dom.pulldom` – Поддержка построения частичных деревьев DOM](https://python-all.ru/2.7/library/xml.dom.pulldom.html)

  - [19.10.1. Объекты DOMEventStream](https://python-all.ru/2.7/library/xml.dom.pulldom.html#domeventstream-objects)
- [19.11. `xml.sax` – Поддержка парсеров SAX2](https://python-all.ru/2.7/library/xml.sax.html)

  - [19.11.1. Объекты SAXException](https://python-all.ru/2.7/library/xml.sax.html#saxexception-objects)
- [19.12. `xml.sax.handler` – Базовые классы для обработчиков SAX](https://python-all.ru/2.7/library/xml.sax.handler.html)

  - [19.12.1. Объекты ContentHandler](https://python-all.ru/2.7/library/xml.sax.handler.html#contenthandler-objects)
  - [19.12.2. Объекты DTDHandler](https://python-all.ru/2.7/library/xml.sax.handler.html#dtdhandler-objects)
  - [19.12.3. Объекты EntityResolver](https://python-all.ru/2.7/library/xml.sax.handler.html#entityresolver-objects)
  - [19.12.4. Объекты ErrorHandler](https://python-all.ru/2.7/library/xml.sax.handler.html#errorhandler-objects)
- [19.13. `xml.sax.saxutils` – Утилиты SAX](https://python-all.ru/2.7/library/xml.sax.utils.html)
- [19.14. `xml.sax.xmlreader` – Интерфейс для XML-парсеров](https://python-all.ru/2.7/library/xml.sax.reader.html)

  - [19.14.1. Объекты XMLReader](https://python-all.ru/2.7/library/xml.sax.reader.html#xmlreader-objects)
  - [19.14.2. Объекты IncrementalParser](https://python-all.ru/2.7/library/xml.sax.reader.html#incrementalparser-objects)
  - [19.14.3. Объекты Locator](https://python-all.ru/2.7/library/xml.sax.reader.html#locator-objects)
  - [19.14.4. Объекты InputSource](https://python-all.ru/2.7/library/xml.sax.reader.html#inputsource-objects)
  - [19.14.5. Интерфейс `Attributes`](https://python-all.ru/2.7/library/xml.sax.reader.html#the-attributes-interface)
  - [19.14.6. Интерфейс `AttributesNS`](https://python-all.ru/2.7/library/xml.sax.reader.html#the-attributesns-interface)
- [19.15. `xml.parsers.expat` – Быстрый разбор XML с помощью Expat](https://python-all.ru/2.7/library/pyexpat.html)

  - [19.15.1. Объекты XMLParser](https://python-all.ru/2.7/library/pyexpat.html#xmlparser-objects)
  - [19.15.2. Исключения ExpatError](https://python-all.ru/2.7/library/pyexpat.html#expaterror-exceptions)
  - [19.15.3. Пример](https://python-all.ru/2.7/library/pyexpat.html#example)
  - [19.15.4. Описания моделей содержимого](https://python-all.ru/2.7/library/pyexpat.html#content-model-descriptions)
  - [19.15.5. Константы ошибок Expat](https://python-all.ru/2.7/library/pyexpat.html#expat-error-constants)
