编码问题

一. 问题:

在将网络数据流导入文件时,有可能遇到“’gbk’ codec can’t encode characte”错误。

二. 分析:

1.在windows下面,新文件(即写入的目标文件)的默认编码是gbk。

2.网络数据流的编码是utf-8。
python解释器会用gbk编码去解析utf-8的网络数据流,于是报错。

三.解决如下

指定目标文件的编码格式为utf-8:

  1. browser.get(url)
  2. html = browser.find_element_by_xpath("//*").get_attribute("outerHTML")
  3. with open('./html','w')as f:
  4. f.write(html.encode('utf-8').decode('utf-8'))
  5. #改为
  6. browser.get(url)
  7. html = browser.find_element_by_xpath("//*").get_attribute("outerHTML")
  8. with open('./html','w',encoding='utf-8')as f:
  9. f.write(html)