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