Re: [問題] 爬蟲圖片遇到編碼問題(日文)

作者: eight0 (欸XD)   2018-07-29 21:03:38
※ 引述《laiDark (C)》之銘言:
: 錯誤訊息截圖:https://imgur.com/Zw5wXnn
你的錯誤訊息告訴你,這個錯誤發生於 client.py 的 1117 行︰
self._output(request.encode('ascii'))
當 request 以 ascii encode 時發生錯誤,因為它包含非 ascii 的字元。
這個錯誤和你用哪家 cmd、哪個作業系統沒有關係,單純是因為你在 URL 裡
加入了非 ascii 的字元造成的。
你貼的 stackoverflow 問題也和這無關(該問題本身也有些意義不明),
並且該問題內使用的 Python 版本還是 2.x,跟你的狀況不同。
由於你沒有貼 quote 相關的程式碼,只能從你 quote 的結果來猜測問題在哪。
quote 輸出為︰
"%C2%83L%C2%83%C2%93%C2%83A%C2%83C1"
先 unquote︰
"\x83L\x83\x93\x83A\x83C1"
這裡就能很明顯看出來你把一串 binary 資料丟給 quote 了。
轉成 bytes 並以 shift-jis 進行 decode︰
"\x83L\x83\x93\x83A\x83C1".encode("latin-1").decode("shift-jis")
得到的結果就是︰
'キンアイ1'
結論大概就是,你在一開始拿到的內容就錯了,而且內容是以 latin-1 編碼。
這也符合你貼出來的錯誤︰
'ascii' codec can't encode character '\x83'
作者: eight0 (欸XD)   2018-07-29 21:04:00
順便補充一點,推文提到的 print 問題在 3.6 版已經解決
作者: laiDark (煎餃加賴)   2018-07-29 22:01:00
謝謝e大特地回文,沒想到錯誤訊息真的派上用場...因為我直接看下面的Error 拿去當關鍵字去找沒仔細看上面的訊息(不過現階段我應該也不懂...)所以一直往錯誤的方向去搜尋...另外e大反推出的日文字結果是對的! 謝謝e大的回文
作者: TitanEric (泰坦)   2018-07-29 22:36:00
好厲害R 推
作者: cutekid (可愛小孩子)   2018-07-30 15:13:00
大推(Y),長知識了!

Links booklink

Contact Us: admin [ a t ] ucptt.com