Cześć. Znajomy poprosił mnie o pomoc przy starej stronie internetowej. Przez ostatnie ćwierć wieku strona migrowała, zmieniali się opiekunowie, serwery.
Finalnie na stronie zostały w tekście "krzaczki" (chyba po nieudolnym kodowaniu na UTF-8 z innego).
Próbowałem w ten sposób, ale niestety z niezbyt wymiernym efektem:
import re
def napraw_bledy_znakow(text):
zamiana_map = {
'Âą': 'ą', # "Âą" na "ą"
'Âę': 'ę', # "Âę" na "ę"
'Âś': 'ś', # "Âś" na "ś"
'Âż': 'ż', # "Âż" na "ż"
'Âź': 'ź', # "Âź" na "ź"
'Âł': 'ł', # "Âł" na "ł"
'Âń': 'ń', # "Âń" na "ń"
'Âź': 'ź', # "Âź" na "ź"
'ó': 'ó', # "ó" na "ó"
'Ç': 'ć', # "Ç" na "ć"
'Ä': 'ą', # "Ä" na "ą"
'ñ': 'ń', # "ñ" na "ń"
'Ù': 'u', # "Ù" na "u"
'é': 'é', # "é" na "é"
'á': 'á', # "á" na "á"
'á': 'á', # "á" na "á"
'Ñ': 'Ñ', #
'ò': 'ò' #
}
for wrong, correct in zamiana_map.items():
text = text.replace(wrong, correct)
text = re.sub(r'\s+', ' ', text)
text = text.strip()
return text
input_text = """JUÂŻ NIE... ZBIERAMY NA LECZENIE ALICJI... :-)
Ostatni dzieĂą lata 2009 moÂżna uznaĂŚ za oficjalnÂą datĂŞ zakoĂączenia naszej akcji pomocy Alicji :-)
Alicja zakoùczy³a z sukcesem proces leczenia - jest to wspania³a wiadomoœÌ dla wszystkich ludzi, którzy zaanga¿owali siê w nasz¹ akcjê
"""
output_text = napraw_bledy_znakow(input_text)
print("Naprawiony tekst:")
print(output_text)
Tutaj dorzucam fragment tekstu ze strony, który staram się oczyścić
https://pastebin.com/VNNvWnCv