Python3解决'gbk' codec can't encode character '\xXX' in position XX

解决爬虫爬取数据无法写入文件的问题

方法一

之前写了个爬虫爬取csdn首页,但是在往txt文件写入的时候会报错

​ 在网上查了许久都是说因为print()输出的缺陷,但是自己测试时发现并非如此,报错的实际上是fh.write()这个方法,查找资料之后原因是txt文件的默认编码是GBK而不是Unicode,于是做了一些小改动,代码如下:

1
2
3
4
5
6
import codecs
fh = codecs.open('D:\\test.txt','w','utf-8')
a = '\ue863'
print(a)
fh.write(a)
fh.close()

再次运行果然没有问题了,所以在临时保存文件时应注意临时文件也要设置好编码


方法二

打开文件时加入编码格式

1
fh = open('D:\\test.txt','w',encoding = 'utf-8')