Кодирование / дешифрование при просмотре веб-страниц - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь скрести сайт в строку, но когда я использую decode ("utf-8") в своем байтовом объекте, он не возвращает строку, вместо этого я получаю UnicodeEncodeError. Я пытаюсь почистить этот сайт: https://www.futbin.com/20/player/24248/leon-goretzka, который, я знаю, использует charset = "utf-8".


from bs4 import BeautifulSoup

r = requests.get("https://www.futbin.com/20/player/24248/leon-goretzka")

text = r.text.encode("utf-8")

html = text.decode("utf-8")


print(html)

1 Ответ

0 голосов
/ 13 апреля 2020

Функция get для requests должна принимать фактическую ссылку. В вашем примере вы предоставляете строку "link".

r = requests.get("https://www.futbin.com/20/player/24248/leon-goretzka")
data = r.text
print(data)

. Это дает вам Response объект для r. Использование r.text даст вам строку, r.content даст вам байтов (что потребует декодирования).

Вот ссылка для справки: Пример ответа

...