Я пытаюсь очистить несколько страниц с помощью Python3 в первый раз.Я использовал Python2 много раз с bs4 без каких-либо проблем, но я не могу переключиться на python3, так как я всегда получаю ошибки кодирования.
Например, я пытаюсь очистить https://www.pgatour.com/webcom/tournaments/the-bahamas-great-exuma-classic/leaderboard.html
Я перебрал здесь несколько тем, в которых есть похожие вопросы, но безуспешно.
Вот мой код:
r = requests.get('https://www.pgatour.com/webcom/tournaments/the-bahamas-great-exuma-classic/leaderboard.html') r.encoding = r.apparent_encoding soup = bs.BeautifulSoup(r.text,'html5lib') print(soup)
Я получаю следующую ошибку:
UnicodeEncodeError: 'ascii' codec can't encode character '\xd7' in position 28935: ordinal not in range(128)
Я также пытался изменить r.encoding = r.apparent_encoding на r.encoding = "utf-8", получая ту же ошибку.
r.encoding = r.apparent_encoding
r.encoding = "utf-8"
Вы можете изменить кодировку следующим образом.Это должно исправить вашу ошибку.
r = requests.get("https://s3.amazonaws.com/codecademy-content/courses/beautifulsoup/cacao/index.html") print(r.encoding) soup = BS(r.content, 'html.parser').encode('utf-8') print(soup)