此处是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,我还有很多要了解的地方,但是如果有人可以提供帮助并提供一些指导,将不胜感激。