Не отображаются русские символы при парсинге сайта

Пробовал менять кодировки, такая тема только с переводом в html файл или считывания данных с сайта с помощью requests, что делать?

from bs4 import BeautifulSoup
import requests
import io
headers={
    'accept': '*/*',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.167 YaBrowser/22.7.3.822 Yowser/2.5 Safari/537.36',
}
url=('any')
req=requests.get(url,headers=headers)
soup=BeautifulSoup(req.text,'lxml')
# with io.open('parsing.html','w', encoding="utf-8") as file:
#     file.write(req.text)
tovary=soup.find_all('li',class_="even")
for t in tovary:
    print(t.text)

Вывод:

ÐаÑалог ÑоваÑов
ÐонÑакÑÑ
ÐÑзÑвÑ
ÐЯÐÐÐЯ ÐÐÐÐÐЬ
ÐÐСТÐÐЫÐ
ÐÐÐÐÐЬ ÐÐЯ ÐРÐÐ¥ÐÐÐÐ
ÐодÑлÑÐ½Ð°Ñ ÑиÑÑема "ÐÑлÑн"
ÐÐСТÐÐЫÐ
ÐеÑÑÐºÐ°Ñ "ÐламÑÑ"
ÐеÑÑÐºÐ°Ñ "ÐанÑÑÑÑен"
ÐеÑÑÐºÐ°Ñ "ФоÑÑаж"
ÐеÑÑÐºÐ°Ñ "ЭнеÑджи"
ÐÐÐÐÐЬ ÐÐЯ ÐÐТСÐÐÐÐеÑÑкие кÑоваÑиÐаÑниÑÑÑÑ Ð´Ð»Ñ Ð´ÐµÑей
ÐаÑниÑÑÑÑ Ð´Ð»Ñ Ð´ÐµÑей
ÐÐ¸Ð²Ð°Ð½Ñ Ð¿ÑÑмÑе
ÐомодÑ, ÑÑÐ¼Ð±Ñ Ð¢Ð
ÐбеденнÑе ÑÑолÑ
ÐÑоваÑи
СпалÑÐ½Ñ  "Ðелла"
СпалÑÐ½Ñ "ÐикÑоÑÐ¸Ñ 2" ÑÐ²ÐµÑ Ð²ÐµÐ½Ð³Ðµ/дÑб млеÑнÑй
СÑеллажи и ÑÑойки
ШкаÑÑ ÑаÑпаÑнÑе

Process finished with exit code 0


Ответы (1 шт):

Автор решения: Johan

Попробуйте после выполнения запроса, перед тем, как вы его передадите в BeautifulSoup, перекодировать содержимое принудительно:

req.encoding = 'utf-8'

У меня была такая ошибка, когда на странице в одной ячейке было два текста, английский и русский. И тот, что на английском отображался нормально, а тот, что на русском, точно как у вас. Вот такая вот явная перекодировка мне помогла. Надеюсь, что поможет и вам.

→ Ссылка