BeautifulSoup中的“'ascii'编解码器无法编码字符”错误

时间:2018-10-08 03:59:39

标签: python python-3.x beautifulsoup python-requests

此处是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方法。 / p>

我看过这里的其他文章,并尝试了他们为类似错误提供的其他解决方案。关于Python和Unicode,我还有很多要了解的地方,但是如果有人可以提供帮助并提供一些指导,将不胜感激。

0 个答案:

没有答案