0

我在 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
4

3 回答 3

6

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

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

于 2012-08-29T07:59:42.400 回答
2

文档是什么编码的?中的文本以什么字符开头<a>?它可能是无效的 UTF-8。

于 2012-08-29T08:11:24.280 回答
1

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

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

于 2012-08-29T14:03:35.157 回答