我遇到了美女汤的一些问题。
我试图阅读几个网站的标题,当我的代码尝试阅读一些包含带拉丁字符标题的网站时,我收到此错误:
[解码错误 - 输出不是utf-8]
有人知道如何解决这个问题吗?
干杯。
我的代码:
def getTitle(theList):
for element in theList:
response = urllib.request.urlopen(element)
soup = BeautifulSoup(response.read())
title = soup.find("title").text
print (element,": ",title,"\n")
答案 0 :(得分:1)
尝试:How to correctly parse UTF-8 encoded HTML to Unicode strings with BeautifulSoup?
建议soup = BeautifulSoup(response.read().decode('utf-8', 'ignore'))
答案 1 :(得分:0)
如果错误是由inconsitent encodings引起的,即html主要是utf-8(并BeautifulSoup
检测到它),但某些字符(最值得注意的是:Microsoft智能引号)采用不同的编码方式;尝试UnicodeDammit.detwingle()
方法使文档纯UTF-8,而不丢弃可以挽救的错误字符。