Python новичок здесь.В настоящее время пишу сканер для сайта с текстами песен, и я сталкиваюсь с этой проблемой при попытке разобрать HTML.Я использую BeautifulSoup и запросы.
Код сейчас (после всех импортов и всего такого):
def function(artist_name):
temp = "https://www.lyrics.com/lyrics/"
if ' ' in artist_name:
artist_name = artist_name.replace(' ', '%20')
page = r.get(temp + artist_name.lower()).content
soup = bs(page, 'html.parser')
return soup
Когда я пытаюсь проверить это, я получаю следующую ошибку:
UnicodeEncodeError: 'ascii' codec can't encode character '\xa0' in position 8767: ordinal not in range(128)
Я пытался добавить .encode('utf-8')
в конец строки soup
, и он избавился от ошибки, но не позволил мне использовать любой из методов BeautifulSoup, так как он возвращает байты.
Я посмотрел другие посты здесь и попробовал другие решения, которые они предоставили для подобных ошибок.Мне еще многое нужно понять о Python и Unicode, но если кто-то сможет помочь и дать какое-то руководство, я буду очень признателен.