Существует так много html и xml-библиотек, встроенных в python, что трудно поверить, что нет поддержки для разбора HTML в реальном времени.
Я нашел много больших сторонних библиотек для этой задачи, но этот вопрос касается стандартной библиотеки python.
Требования:
- Используйте только стандартные компоненты библиотеки Python (любая версия 2.x)
- Поддержка DOM
- Обработка объектов HTML (
) - Обработать частичные документы (например:
Hello, <i>World</i>!
)
Бонусные баллы:
- Поддержка XPATH
- Обрабатывать закрытые/искаженные теги. (
<big>does anyone here know <html ???
Здесь мое 90% -ное решение, как просили. Это работает для ограниченного набора HTML, который я пробовал, но, как все ясно видят, это не совсем здорово. Поскольку я это делал, глядя на документы в течение 15 минут и одной строки кода, я думал, что смогу проконсультироваться с сообществом stackoverflow для подобного, но лучшего решения...
from xml.etree.ElementTree import fromstring
DOM = fromstring("<html>%s</html>" % html.replace(' ', ' '))