Я работаю над очисткой веб-страниц в Python с помощью Beautifulsoup. Я пытаюсь извлечь текст жирным шрифтом или курсивом или и тем, и другим. Рассмотрим следующий HTML фрагмент.
<div>
<b>
<i>
HelloWorld
</i>
</b>
</div>
Если я использую команду sp.find_all(['i', 'b'])
, понятно, что я получу два результата, один из которых будет выделен жирным шрифтом, а другой - курсивом. то есть
[' HelloWorld ', ' HelloWorld ']
Мой вопрос, есть ли способ однозначно извлечь его и получить теги? Мой желаемый вывод - что-то вроде -
tag: text - HelloWorld, tagnames: [b, i]
Обратите внимание, что сравнение текста и отсеивание не уникально вхождение текста не является выполнимым вариантом, так как я мог бы много раз повторять текст HelloWorld, который я хотел бы извлечь.
Спасибо!