0

Во время выполнения скрипта выдаёт ошибку

 UnicodeEncodeError: 'charmap' codec can't encode character '\xb2' 
   in position 3511: character maps to <undefined>

Сам скрипт:

def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read().decode('utf-8')
def parse(html):
    soup = BeautifulSoup(html)
    pages = soup.find('div', class_='catalog-list js-catalog-list clearfix').find_all('div')
    print(pages)
def main():
    parse(get_html('https://www.avito.ru/rossiya/kvartiry?s_trg=3'))
if __name__ == '__main__':
    main()

Использую SublimeText 3, Windows 10, CMD, Python 3.7. Подскажите пожалуйста как это исправить.

LETSDRUM
  • 299
  • Выдаёт где? В вашем коде целых 13 строк — в какой именно? – andreymal Sep 22 '18 at 20:18
  • 1
    Если в print — то в предыдущем вопросе я вам уже предлагал читать это: Как из Python вывести на Windows-консоль строку в Юникоде? – andreymal Sep 22 '18 at 20:19
  • Ошибка при выводе pages – LETSDRUM Sep 22 '18 at 20:24
  • Читайте https://ru.stackoverflow.com/questions/141035 – andreymal Sep 22 '18 at 20:37
  • @andreymal я уже делал как описано в ответе по данной ссылке, но мне не помогает это. Установил win_unicode_console и ничего не изменилось. Ошибка та же и в том же месте. – LETSDRUM Sep 22 '18 at 21:03
  • @LetsDrum: задайте отдельный вопрос о том как у вас print('\xb2') не работает в "SublimeText 3, Windows 10, CMD, Python 3.7" (тут возможно проблема то как SublimiteText ваш скрипт запускает. Если руками из Windows консоли запустить должно работать). На будущее, если ответ вам "не помогает" -- то попробуйте ещё раз его прочитать. К примеру, если в ответе сказано "Простой print(unicode_string) теперь работает без установки дополнительного ПО" (фраза даже выделена курсивом для большей заметности), то не надо ставить дополнительное ПО такое как win-unicode-console) – jfs Sep 23 '18 at 11:31

1 Answers1

0
parsed_html_object = BeautifulSoup(html_string, 'lxml')

lxml должен быть установлен, sudo pip3 install lxml