python发送request提示can't encode character
背景
以一个python的request的demo为例,访问百度首页并打印百度首页文本信息:
1 | import requests |
会存在如下报错信息:
1 | C:\Users\liu.ziyi\AppData\Local\Programs\Python\Python38\python.exe E:/Python/httpRunnerDemo/kom/kom_session2.py |
原因
如果在window
下运行,对于Unicode
字符,需要print出来的话,由于本地系统是Windows
中的cmd
,默认即GBK
的编码,所以python
解释器需要先将上述的Unicode
字符编码为GBK
,然后在cmd
中显示出来。
但是由于该Unicode
字符串中包含一些GBK中无法显示的字符,比如部分网站存在的特殊符号©,导致此时提示'gbk' codec can't encode character
。
解决
在对unicode字符编码时添加ignore参数忽略无法编码的字符,即:
1 | import requests |
再次运行即可:
1 | C:\Users\liu.ziyi\AppData\Local\Programs\Python\Python38\python.exe E:/Python/httpRunnerDemo/requests/request2.py |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zane!
评论