Ответ 1
ElementTree поставляется со стандартной библиотекой Python, которая включает в себя другие типы модулей данных, такие как json
и csv
. Это означает, что модуль поставляется с каждой установкой Python. Для большинства обычных операций XML, включая построение деревьев документов и простой поиск и разбор атрибутов элементов и значений узлов, даже пространств имен, ElementTree
является надежным обработчиком.
Lxml - это сторонний модуль, который требует установки. Во многих отношениях lxml
фактически расширяет ElementTree
поскольку доступно большинство операций во встроенном модуле. Главным среди этого расширения является то, что lxml
поддерживает как XPath 1.0, так и XSLT 1.0. Кроме того, lxml
может анализировать HTML-документы, которые не совместимы с XML и, следовательно, используются для операций очистки веб-страниц и даже в качестве анализатора в BeautifulSoup и движка в Pandas, pandas.read_html()
. Другие полезные, общие функции lxml включают вывод pretty_print, objectify
и sax
. Конечно, как сторонний модуль, версии с дополнительными функциями легко доступны по сравнению со стандартной библиотекой.