我一直在這個小時裏堵塞,我似乎無法完成它的底部。 我已經詳細瞭解了這個網站,雖然其他人似乎也有類似的問題,但他們提供的解決方案並不適合我。編碼UnicodeDecodeError的Python編碼
我有一個python腳本,它讀取一個網站的HTML,並使用美麗的湯來尋找像head,body,H1等等的東西,然後將它們存儲在utf-8 MySQL表中。
似乎直線前進,但我一直運行到:
UnicodeDecodeError: 'ascii' codec can't decode byte xxxxxx
當我編碼。我已經盡了一切努力來阻止這種情況發生,但無濟於事。 下面是代碼的一個版本:
soup = BeautifulSoup(strIndexPage)
strIndexPageBody = str(soup.body)
strIndexPageBody = strIndexPageBody.encode('ascii', 'ignore') # I know ignore is not best practice but I am really not interested in anything outside the ascii character set
strIndexPageBody = strIndexPageBody .replace('"','"')
strIndexPageBody = strIndexPageBody .replace("'","&rsquo")
的早期版本,我想轉換爲UTF-8更好地工作,但我在一些結束與
`
字符存在破壞MySQL插入/更新的HTML。 很顯然,我已經嘗試搜索這個字符並將其替換,但是然後python告訴我在我的代碼中有一個非ascii字符!
我讀過噸是文章,說我應該首先看HTML的編碼,解碼,然後編碼,以適應,但編碼並不總是從BS回來,和/或沒有在HTML中聲明。
我相信有一個簡單的解決方法,但我找不到它。
感謝您的任何幫助。
不應該以分號結尾嗎?也和'''不一樣。 –
請停止關注最後兩行 - 他們不是錯誤的地方。如錯誤消息所示,它在編碼時出錯。 – dan360
2.6.5在CentOS上 – dan360