Форум сайта python.su
0
Снова проблема.
Научился получать все комментарии к посту на pikabu.ru (предыдущую проблему решил изящно: сначала оператору придётся открыть браузер, там кликнуть на “показать ещё n комментариев”, и потом сохранить html-код страницы в файл - с ним и работаю сейчас).
Абсолютное большинство комментариев написано на русском языке, и это не вызывало проблем при попытке текст комментария присвоить атрибуту класса и потом ещё напечатать.
Моя задача состоит в том, что бы найти комменты, в которых есть определённое ключевое слово, написанное так же на русском языке.
И вот при попытке выполнить конструкцию:
def filterByContent(commentList): for comment in commentList: content = comment.commentText.lower() if 'ключевое слово' in content: doSomething()
Traceback (most recent call last): File "C:\Users\BearPro\documents\visual studio 2015\Projects\FreeShow\FreeShow\FreeShow.py", line 5, in <module> import autoFilter as filter File "C:\Users\BearPro\documents\visual studio 2015\Projects\FreeShow\FreeShow\autoFilter.py", line 14 SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xf3 in position 0: invalid continuation byte # line 14 - как раз строка с условием
# -*- coding: utf-8 -*-
Отредактировано BearPro (Дек. 10, 2016 13:53:31)
Офлайн
857
Исходники перевёл в utf-8 при этом?
Офлайн
253
BearProЭто главное.
Я не понимал, как это работает
Офлайн
3
doza_and
в обычном utf-8.
Офлайн
221
Iskatel
Это что за бред блин ! Думай что пишешь.
IskatelДавай так, есть условно 3 типа основных операционных систем - Windows, Mac Os, Linux - 2 из 3 используют utf-8 по умолчанию. Выводы очевидны.
Да сфигали “utf-8” обычная?
IskatelАга, очень нормальные. И таких нормальных десятки что бы удовлетворить все языки мира.
Есть нормальные: 1251, 866,
IskatelЭто не кодировка вообще.
Unicode
Iskatelа то что в русскоязычной винде эти две кодировки существуют одновременно это нормально? Ага, супер удобно.
Есть нормальные: 1251, 866
Iskatelпоясни
utf-8 это извращение
Iskatelоно вообще не для этого создавалось. Совсем.
Созданное только для того чтоб трафика в инетах поменьше тратить.
Офлайн
3
JOHN_16
Откуда столько злости, и даже желание забанить, какбудто из за моего сообщения кодировку выпилят из всех ОС? 
JOHN_16
поясни
Отредактировано Iskatel (Дек. 12, 2016 20:39:50)
Офлайн
857
utf-8 - это одна из кодировок юникода. Юникод один, а кодировок для него несколько.
IskatelНу давай, запиши на любой из них иероглиф китайский или значок какой-нибудь типа самолёта.
Есть нормальные: 1251, 866
Iskatelutf-8 легко распознать, но для этого нужно узнать, как она устроена, и часто смотреть на её байты, и тогда ты её сразу будешь определять.
utf-8 не так то просто разпознать в hex - дампе
Отредактировано py.user.next (Дек. 13, 2016 01:52:44)
Офлайн
3
py.user.next
utf-8 легко распознать
py.user.nextя же писал “Издержки работы” поверьте, знаю
но для этого нужно узнать, как она устроена
и не только ее.Офлайн