2017-05-29 43 views
-2
import requests 
test = requests.get("https://www.hipstercode.com/") 
outfile = open("./settings.txt", "w") 
test.encoding = 'ISO-8859-1' 
outfile.write(str(test.text)) 

是我得到的錯誤是:找不到目錄不知道爲什麼

File "C:/Users/Bamba/PycharmProjects/Requests/Requests/Requests.py", line 8, in <module> 
    outfile.write(str(test.text)) 
File "C:\Users\Bamba\AppData\Local\Programs\Python\Python35\lib\encodings\cp1255.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\xef' in position 0: character maps to <undefined> 
+0

試添加'encoding =「utf-8」'打開 – e4c5

回答

0

所以,看起來響應包含不便無法在CP1251編碼。

如果UTF-8是對你合適,儘量

import requests 
test = requests.get("https://www.hipstercode.com/") 
outfile = open("./settings.txt", "wb") 
outfile.write(test.text.encode('ISO-8859-1')) 

如果您在編碼得到錯誤,你根本無法編碼無損。選擇您在encode文檔描述:https://docs.python.org/3/library/stdtypes.html#str.encode

也就是說,你可以

outfile.write(test.text.encode('ISO-8859-1', 'replace')) 

處理錯誤,而不會丟失文本的最有意義寫在水木清華不符合ISO-8859-1

+0

關鍵是,我想用ISO-8859-1 – bamba

+0

我編輯了答案。如果你的編碼表不能以簡單的方式處理接收到的數據。所以你可以逃避忽略或取代它。這意味着你在大多數情況下都是有損的。 – Slam

+0

等一下,這是特定網站的東西? – bamba

相關問題