Found out how to do, BeautifulSoup can decode html entities :
def remove_accents(input_str):
nkfd_form = unicodedata.normalize('NFKD', input_str)
only_ascii = nkfd_form.encode('ASCII', 'ignore')
return only_ascii
def normalize(text):
text = re.sub(r'\s+', '', str(BeautifulSoup(text)), flags = re.MULTILINE)
return str(remove_accents(text))
def compare_text(s1, s2):
s1 = normalize(s1.lower())
s2 = normalize(s2.lower())
l1 = len(s1)
l2 = len(s2)
if l1 == l2:
return s1 == s2
return False
t1="""
<p>Bonjour à tous,</p>
<p>Je souhaite récolter des informations sur les actions menées en faveur des Seniors au sein du Groupe.</p>
<p>Si vous menez ou avez mené des actions en faveur des seniors et de leur insertion, pourriez-vous m’en faire part. Si je peux avoir des retours d’ici demain matin, ce serait super ! Merci d’avance de vos retours.</p>
"""
t2="""
<p>Bonjour à tous,</p>
<p>Je souhaite récolter des informations sur les actions menées en faveur des Seniors au sein du Groupe.</p>
<p>Si vous menez ou avez mené des actions en faveur des seniors et de leur insertion, pourriez-vous m’en faire part. Si je peux avoir des retours d’ici demain matin, ce serait super ! Merci d’avance de vos retours.</p>
"""
print(compare_text(t1, t2))
True