最近学习到selenium的时候想用驱动模拟浏览器获取信息的时候遇到了一个问题。
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xbb’ in position 0: illegal multibyte seque
问题的编码
print(browser.current_url)
print(browser.get_cookies())
print(browser.page_source)
就是在输出网页源代码的时候出现了编码的问题。
上网查了资料,主要是print()自身的缺陷。不能打印出所有unicode字符。
解决办法:
在代码头加上
#coding=gbk
或者另外一种方法
import sys
import os
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码
我用的IDE是eclipse,所以我用第二种方法的时候出现了中文乱码问题,第一种的话就不会。如果你用的是python自带的IDIE进行编码的话可能就不会出现这个问题。