Python错误:';utf8';编解码器可以';在位置85处对字节0x92进行解码:起始字节无效
我正在使用python2.7和lxml。我的代码如下Python错误:';utf8';编解码器可以';在位置85处对字节0x92进行解码:起始字节无效,python,web-scraping,lxml,Python,Web Scraping,Lxml,我正在使用python2.7和lxml。我的代码如下 import urllib from lxml import html def get_value(el): return get_text(el, 'value') or el.text_content() response = urllib.urlopen('http://www.edmunds.com/dealerships/Texas/Frisco/DavidMcDavidHondaofFrisco/fullsales-5
import urllib
from lxml import html
def get_value(el):
return get_text(el, 'value') or el.text_content()
response = urllib.urlopen('http://www.edmunds.com/dealerships/Texas/Frisco/DavidMcDavidHondaofFrisco/fullsales-504210667.html').read()
dom = html.fromstring(response)
try:
description = get_value(dom.xpath("//div[@class='description item vcard']")[0].xpath(".//p[@class='sales-review-paragraph loose-spacing']")[0])
except IndexError, e:
description = ''
代码在try中崩溃,给出了一个错误
UnicodeDecodeError at /
'utf8' codec can't decode byte 0x92 in position 85: invalid start byte
无法编码/解码的字符串为:ouldn�不可能
我尝试过使用很多技术,包括.encode('utf8'),但都不能解决这个问题。我有两个问题:
- 错误时跳过字符,或将其正确解码为unicode
- 您只捕获索引器错误,而不捕获UnicodeDecodeError
- 错误时跳过字符,或将其正确解码为unicode
- 您只捕获索引器错误,而不捕获UnicodeDecodeError
except子句只处理索引器类型的异常。问题是UnicodeDecodeError,它不是索引器-因此该异常不由except子句处理
“get_value”的作用也不清楚,这很可能是实际问题产生的原因。您的except子句只处理索引器类型的异常。问题是UnicodeDecodeError,它不是索引器-因此该异常不由except子句处理 “get_value”的作用也不清楚,这很可能是实际问题产生的原因
正在使用
charset=ISO-8859-1
提供该页面。将其解码为unicode
[该页面正在使用
charset=ISO-8859-1
提供。请将其解码为unicode
[发布整个回溯,而不仅仅是回溯的最后一行。为@Marcin的答案创建快照。检查网页的编码对于调试编码错误非常有用。[![在此处输入图像描述][1]][1]:发布整个回溯,而不仅仅是回溯的最后一行。为@Marcin的答案创建快照。检查网页的编码对于调试编码错误非常有用。[![在此处输入图像描述][1]][1]:答案不是捕获所有错误。这就是你在程序中隐藏错误的方式。答案不是捕获所有错误。这就是你在程序中隐藏错误的方式。@mangobug除非你显示包括解码调用在内的实际代码,否则没有人能帮你。@mangobug除非你显示包括解码调用在内的实际代码,否则没有人能帮你有了它。这没有多大帮助,因为现在我们只有一个我们不了解的“获取文本”函数。我们也没有完整的回溯。你需要提供完整的上下文,否则人们只能猜测问题。这没有多大帮助,因为现在我们只有一个我们不了解的“获取文本”函数。我们没有你需要提供完整的上下文,否则人们只能猜测问题。