1. 程式人生 > >Python爬蟲:Windows系統下用pyquery庫解析含有中文的本地HTML檔案報UnicodeDecodeError的解決方法

Python爬蟲:Windows系統下用pyquery庫解析含有中文的本地HTML檔案報UnicodeDecodeError的解決方法

由於Windows系統預設GBK編碼,用pyquery解析本地html檔案,如果檔案中有中文,會報錯:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa3 in position 12: illegal multibyte sequence

解決方法:

在python3中用open()函式讀檔案時,傳入引數'encoding=utf-8'(否則會使用系統預設的GBK編碼),再傳入pq()方法中進行初始化解析.相關程式碼如下:

from pyquery import PyQuery as pq

 

with open("filepath", encoding="utf-8") as f:

       content = f.read()

doc = pq(content)

這樣後續的操作就沒問題了。

結論:以後在Windows環境下讀取編碼不確定的檔案,都可以採用這種方法,避免再次出現UnicodeDecodeError。