PDA

Просмотр полной версии : ошибка в запросе


advancerp
06.09.2023, 18:05
сам скрипт запускается, но как только дело доходит до выполнения запроса:

Python:






response
=
requests
.
get
(
url
,
headers
=
header
)
soup
=
BeautifulSoup
(
response
.
content
,
'html.parser'
)




то вылазит ошибка:



'latin-1' codec can't encode characters in position 69-71: ordinal not in range(256)



Python:






import
sys
import
locale
print
(
sys
.
getfilesystemencoding
(
)
)
print
(
locale
.
getpreferredencoding
(
)
)




результат:



utf-8
cp1251


на просторах интернета решения проблемы не нашел. помогите, в чем проблема и как ее исправить?

MrDorlik
06.09.2023, 18:12
попробуй и отпиши, есть другой способ еще

Python:






soup
=
BeautifulSoup
(
response
.
content
,
'html.parser'
,
from_encoding
=
'utf-8'
)

advancerp
06.09.2023, 18:15
попробуй и отпиши, есть другой способ еще

Python:






soup
=
BeautifulSoup
(
response
.
content
,
'html.parser'
,
from_encoding
=
'utf-8'
)





то же самое

MrDorlik
06.09.2023, 18:20
то же самое



Python:






import
locale
locale
.
setlocale
(
locale
.
LC_ALL
,
'ru_RU.UTF-8'
)

advancerp
06.09.2023, 18:22
Python:






import
locale
locale
.
setlocale
(
locale
.
LC_ALL
,
'ru_RU.UTF-8'
)





этот способ я тоже пробовал, ничего не меняется

MrDorlik
06.09.2023, 18:25
этот способ я тоже пробовал, ничего не меняется


значит с сайтом фигня какая-то, либо я чет не знаю. ты проверял какую кодировку возвращает? мб там и не ютф-8







Python:






print
(
response
.
headers
[
'Content-Type'
]
)

advancerp
06.09.2023, 18:36
значит с сайтом фигня какая-то, либо я чет не знаю. ты проверял какую кодировку возвращает? мб там и не ютф-8







Python:






print
(
response
.
headers
[
'Content-Type'
]
)





utf-8 на сайте

у меня все хорошо было, работало, но в один момент я как обычно его запускаю и вылазит эта ошибка, с другого компа все норм

upd. решено. проблема была в том, что user agent был с русскими символами, копировал вместе с переводом и даже не заметил...