0
我在閱讀沒有指定charset的網頁時遇到問題。它包含一些非ascii字符,例如歐元貨幣,我的瀏覽器能夠正常讀取它。 firefox,在頁面信息我可以看到使用的編碼是'ISO-8859-1'和渲染模式'怪癖模式'。如果U「\ X80」python-requests,找到正確的編碼
result = requests.get(url)
result.encoding = 'ISO-8859-1'
html = result.text
open('textfile.txt', 'w').write(html)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\x80'
:不過,蟒蛇,請求不能真正想寫例如該字符串文本file.Example解碼時,這些非ASCII字符,我讓自己的錯誤應代表歐元貨幣'ISO-8859-1'編碼,這應該工作
print '\x80'.decode('ISO-8859-1')
但我得到一個不可打印的字符,而不是歐元。那麼,該網頁如何在瀏覽器中工作,但請求(urllib/2)也無法處理該編碼?我也嘗試過'utf-8',但同樣的事情。有什麼建議麼?
謝謝!剛剛更改爲1252,它的工作原理。 – Zed 2013-02-28 23:50:12