'utf8'编解码器无法解码位置0中的字节0xd0:无效的连续字节

时间:2012-08-29 07:57:24

标签: python xpath elementtree

我在html文档中有以下文字:

<a href="#">�'ам интересна информация</a>

我正在使用以下表达式来提取文本:

row.xpath("string(./td[@class='col2 td-tags']/h3/a/text())")

此表达式适用于简单的英语,但对于上面的字符串,它会抛出此错误:

'utf8' codec can't decode byte 0xd0 in position 0: invalid continuation byte

3 个答案:

答案 0 :(得分:6)

在HTML中,&amp; #xxx不指定文档编码中的字节;它总是一个unicode代码点。

因此,您不能将UTF-8放入类似的HTML中。

答案 1 :(得分:2)

该文件的编码是什么?什么字符开始<a>中的文字?它可能是无效的UTF-8。

答案 2 :(得分:1)

我首先解码了页面内容(包括字符串<a href="#">�'ам интересна информация</a>)以将任何不可转换的字符串替换为问号,并且它有效!

即。 page_contents_string = page_contents_string.decode("utf-8", "replace")