Кодек "ascii" не может закодировать символ "из BeautifulSoup - PullRequest
0 голосов
/ 08 октября 2018

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, но если кто-то сможет помочь и дать какое-то руководство, я буду очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...