python中关于'gbk' codec can't encode character u'\xxx'的问题

问题:

使用webdriver中获取网页数据流的时候,然后print driver.find_element_by_id('').text,出现如下错误

UnicodeEncodeError: 'gbk' codec can't encode character u'\ue60a' in position 20: illegal multibyte sequence

原因:

对于此Unicode字符,需要print出来的话,由于本地系统是Windows中的cmd(linux无此情况出现,请放心食用),默认codepage是CP936,即GBK的编码,所以python解释器需要先将上述的Unicode字符编码为GBK,然后再在cmd中显示出来。

但是由于包含一些GBK中无法显示的字符,导致此时提示“’gbk’ codec can’t encode”的错误的。

方法1:

在对unicode字符编码时,添加ignore参数,忽略无法无法编码的字符,这样就可以正常编码为GBK了。

print str.encode("GBK", 'ignore');

方法2:

将其转换为GBK编码的超集GB18030 (即,GBK是GB18030的子集):

print str.encode("GB18030");

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏kangvcar

Ansible极简教程

1552
来自专栏崔庆才的专栏

Scrapy框架的使用之Scrapyrt的使用

1813
来自专栏流柯技术学院

linux 查找目录或文件详解

查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print

752
来自专栏钟绍威的专栏

linux常用命令之文件权限用法选项用法用法对于文件对于目录

CHGRP chgrp – change group ownership,改变组别的所有权 用法 chgrp 组别名 文件\目录名 选项 -R  (recurs...

1665
来自专栏开发与安全

从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态

一、文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostre...

2570
来自专栏北京马哥教育

25个shell脚本代码分享,日常工作够用了

引言 自己写了一下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的。 程序员一定要懂得一种脚本的书写,而我,只会在linux下工作,所以...

37611
来自专栏北京马哥教育

99%运维人都需要的Linux命令大全

1登陆和开关机 关机 halt poweroff init 0 重启 reboot init 6 shutdown shutdown -r 重启 shutodw...

3979
来自专栏Java后端技术

在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类

  最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法。

714
来自专栏运维技术迷

Python:获取目录下指定后缀的文件

os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 获取当前目录下指定后缀的文件 #!/usr/bin/env python #c...

3479
来自专栏猛牛哥的博客

nginx rewrite伪静态配置参数详解

1845

扫描关注云+社区