簡體   English   中英

'utf8'編解碼器無法解碼位置0的字節0xd0:無效的連續字節

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

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

在HTML中,&#xxx不在文檔編碼中指定字節; 它總是一個Unicode代碼點。

因此,您不能將UTF-8放入這樣的HTML中。

文檔采用什么編碼? <a>的文本以什么字符開頭? 它可能是無效的UTF-8。

我首先對頁面內容進行了解碼(其中包括字符串<a href="#"> 'ам интересна информация</a> ),以替換所有不可轉換的字符串為問號,並且可以正常工作!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM