#python #html #unicode #emoji
#python #HTML #юникод #смайлики
Вопрос:
Итак, я работаю над проектом, в котором мне нужно вручную фильтровать HTML-страницы комментариев в социальных сетях с помощью split и replace и re.sub и тому подобное, иначе я бы не получил требуемую информацию (BeautifulSoup также отфильтровывает важную информацию). В итоге у меня осталось что-то вроде этого:
Удачи вам теперь, когда есть реальная конкуренция xf0 x9f x98 x8f
Спасибо xf0 x9f x98 x82
Я искал любой способ избавиться от них или заменить их настоящими смайликами, но ничего не нашел. Я нашел команды, которые отфильтровывают смайлики, когда они выглядят так U 1F600 или вот так: cowboy hat face: или вот так U0001F606, и я нашел кого-то, кто фильтровал такие вещи, как xe2 x80 x99, но он делал это только для точек с запятой и кавычек, а не для смайликов. Я также не смог найти способ использовать encode и decode для этого.
Короче говоря: я хочу, чтобы «Спасибо xf0 x9f x98 x82» стало «Спасибо».
Итак, я новичок в работе с веб-сайтами, и, возможно, ответ довольно прост, но, как я уже сказал, я ничего не нашел по этому вопросу в Интернете. Любая помощь очень ценится!
Ответ №1:
если вам нужны только символы ascii в вашем тексте, вы можете кодировать и декодировать текст с помощью ascii
text = """Best of luck to you now that there's some real competition xf0x9fx98x8f
Thanks xf0x9fx98x82"""
text = text.encode('ascii', 'ignore').decode()
>>> text
Best of luck to you now that there's some real competition
Thanks
Комментарии:
1. Во-первых, большое спасибо, это мне помогло. Однако, хотя он работает в оболочке с точно такими же строками, он не работает в моей программе. Поскольку я не хочу делиться с вами всеми 200 строками худшего кода, который только можно себе представить, полными подавленных немецких комментариев, мне придется разобраться с остальным самостоятельно.