Я хочу проанализировать HTML, чтобы преобразовать его в другой формат, сохранив при этом некоторые стили (полужирный шрифт, списки и т. Д.).
Чтобы лучше объяснить, что я имею в виду,
Рассмотримследующий код:
<html>
<body>
<h2>A Nested List</h2>
<p>List <b>can</b> be nested (lists inside lists):</p>
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>
</body>
</html>
Теперь, если бы я должен был выбрать слово «Список» в начале абзаца, мой вывод должен быть (html, body, p), так как эти теги активны наслово "Список".
Другой пример, если бы я выбрал слово "Черный чай", мой вывод должен быть (html, body, ul, li, ul, li), так как он является частью вложенногоlist.
Я видел, как Chrome Инспектор делает это, но я не уверен, как я могу сделать это в коде с помощью Python.
Вот изображение того, что показывает Chrome инспектор: Chrome Inspector
Я попытался выполнить разбор HTML-кода, используя Beautiful soup, и, хотя это потрясающе для получения данных, я не смог решить свою проблему, используя его.
Позже я попробовал html-парсер для этой же проблемы, пытаясь сделать стек всех тегов перед «данными»и высовывал их, когда я сталкивался с соответствующими конечными тегами, но я тоже не мог этого сделать.