2014-09-03 51 views
0

我正面臨着美麗的一些問題。Python 3&BeautifulSoup問題 - [解碼錯誤 - 輸出不是utf-8]

我想看過一些網站的標題,當我的代碼試圖讀取一些網站,包含與拉美本地字符的頭銜,我得到這個錯誤:

[Decode error - output not utf-8]

是否有人知道如何解決這個問題?

乾杯。

我的代碼:

def getTitle(theList): 

for element in theList: 

    response = urllib.request.urlopen(element) 
    soup = BeautifulSoup(response.read()) 
    title = soup.find("title").text 
    print (element,": ",title,"\n") 

回答

0

如果錯誤是由於inconsitent encodings即HTML大多是UTF-8(以及BeautifulSoup檢測爲這樣),但一些字符(最顯着的是:微軟智能報價)使用不同的編碼;嘗試使用UnicodeDammit.detwingle()方法使文檔成爲純UTF-8而不丟棄可挽救的不正確字符。

+0

塞巴斯蒂安,我不明白。你可以再詳細一點嗎?我應該在BeautifulSoup(...)中使用UnicodeDammint.getwingle()嗎? – 2014-09-03 23:40:50

+0

@ user3120065:點擊鏈接。它明確地說什麼時候你應該調用'.detwingle()' – jfs 2014-09-03 23:44:21