Задать вопрос
@Farmila

Как фиксануть ошибку aiohttp/bs4 UnicodeDecodeError?

Есть данный код
resp1 = await session.get(url=href, headers=header)
soup1 = BeautifulSoup(await resp1.text(), 'lxml', from_encoding='UTF-8')

Строка soup1 выдаёт ошибку UnicodeDecodeError, странность заключается в том, что - в неасинхонной версии парсера такой ошибки не возникает, поэтому мои подозрения упали на Aiohttp, document.charset выдаёт 'utf-8'
Есть идеи?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@dilmah949
Разработчик на Python, backend
Мне кажется что экземпляр класса bs4 soup уже есть строка в юникоде потому и выходит ошибка. Что-то подобное попробуйте
>>> from bs4 import BeautifulSoup
>>> html = '<a href="http://example.com/">\nI linked to <i>example.com</i>\n</a>'
>>> root = BeautifulSoup(html, 'html.parser')
>>> root.get_text()
# '\nI linked to example.com\n'
>>> root.i.get_text()
# 'example.com'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы