html5lib
позволяет анализировать документы с использованием различных стандартных форматов дерева.Вы можете сделать это, используя lxml , как я сделал ниже, или вы можете следовать инструкциям в пользовательской документации , чтобы сделать это либо с minidom , ElementTree или BeautifulSoup .
file = open("mydocument.html")
doc = html5lib.parse(file, treebuilder="lxml")
content = doc.findtext("html/body", default=None):
Ответ на комментарий
Это можно сделать без установки каких-либо внешних библиотек, используя свои собственные simpletree.py , но с учетомпо комментарию в начале файла я думаю, что это не рекомендуемый способ ...
# Really crappy basic implementation of a DOM-core like thing
Если вы все же хотите это сделать, вы можете разобрать html-документ следующим образом:
f = open("mydocument.html")
doc = html5lib.parse(f)
, а затем найдите искомый элемент, выполняя поиск дочерних узлов в документе в ширину.Узлы хранятся в массиве с именем childNodes
, и каждый узел имеет имя, хранящееся в поле name
.