Если вы действительно хотите использовать RegEx для этого, вы можете использовать RegEx r'<[^>]+>'
, чтобы сопоставить и удалить все теги.
Существует также стандартная функция для преобразования &smp;
и других классических сущностей в символы: xml.sax.saxutils.unescape
.
Вот простая демонстрация:
from xml.sax.saxutils import unescape
import re
sub_text = re.compile(r'<[^>]+>').sub
html = '<p class="Body">me & you</p>'
text = unescape(sub_text('', html))
print(text)
Вы получаете: «я и ты»
Затем вы можете добавить больше правил для фильтрации ваших данных.
Другой способ - использовать lxml для анализа ваших HTML-данных и функцию xpath для получения текста
import lxml.html
root = lxml.html.fragment_fromstring(html)
text = root.xpath('string()')
(не тестировалось)