Я использую BeautifulSoup для очистки данных с веб-страницы.Я хочу сравнить данные веб-сайта с текстом в текстовом документе.Однако у меня, похоже, возникают проблемы с кодировкой.
На веб-сайте есть текст «нагревать до 400 °». Этот текст также выглядит так в «Просмотр источника» (без HTML-сущностей.)
Веб-сайт читается с использованием BeautifulSoup:
source = "my url".read()
....
soup = BeautifulSoup(source)
Текстовый документ был создан путем создания нового текстового документа, закодированного как «Кодировать в UTF-8 без BOM».Затем я скопировал с веб-сайта в текстовую документацию «нагревать духовку до 400 °» и сохранил.
Текстовый файл читается как
f = codecs.open('myfilename', encoding='utf-8')
Когда я сравниваю две строки,они не равны, но я хочу, чтобы они были.
Чтобы увидеть, что происходит: в Eclipse я разделил два текста и, глядя на переменные в режиме отладки, я вижу, что знак степени из BeautifulSoup выглядит как \ xc2 \ xb0.Знак степени из текстового документа выглядит как \ xb0.
Почему и как это исправить?У меня есть эта проблема со многими специальными символами, поэтому мне нужно общее решение.Также я буду копировать и вставлять данные из нескольких сайтов в текстовый документ.