Не отображаются русские символы при парсинге сайта
Пробовал менять кодировки, такая тема только с переводом в 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'
У меня была такая ошибка, когда на странице в одной ячейке было два текста, английский и русский. И тот, что на английском отображался нормально, а тот, что на русском, точно как у вас. Вот такая вот явная перекодировка мне помогла. Надеюсь, что поможет и вам.