Python requests: UnicodeEncodeError: 'charmap' codec can't encode character
Python requests: UnicodeEncodeError: 'charmap' codec can't encode character
我抓取了一个网页(此处代码中更改了名称)如下:
import requests
r = requests.get('https://www.samplewebpage.com')
然后我尝试将r.text写入文件如下:
f = open ('filename', 'w')
f.write(r.text)
f.close()
我得到一个错误:
UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 158691: character maps to <undefined>
r.encoding 显示 UTF-8。如何解决以上问题?
还尝试了以下方法:
- 很少有其他随机网页,并且能够 运行 大多数代码没有任何错误。
- 而不是 r.text 使用 r.content.decode('utf-8', 'ignore') 但与上面相同的错误
我的environment/system规格:
- Python 3.6.4
- Windows 8.1 专业版,64 位
- 从 https://www.python.org 安装的默认 IDLE。
- 也在 Atom 中尝试使用脚本,但同样的错误。
我在这个论坛上读到另一个类似的问题时怀疑控制台编码不匹配,我再次确认 Atom 控制台设置为 UTF-8,但我相信控制台编码不是这里的问题,因为我想写到一个文件。
谢谢
尝试明确指定文件的编码:
f = open ('filename', 'w', encoding='utf8')
f.write(r.text)
f.close()
我抓取了一个网页(此处代码中更改了名称)如下:
import requests
r = requests.get('https://www.samplewebpage.com')
然后我尝试将r.text写入文件如下:
f = open ('filename', 'w')
f.write(r.text)
f.close()
我得到一个错误:
UnicodeEncodeError: 'charmap' codec can't encode character '\u20b9' in position 158691: character maps to <undefined>
r.encoding 显示 UTF-8。如何解决以上问题?
还尝试了以下方法: - 很少有其他随机网页,并且能够 运行 大多数代码没有任何错误。 - 而不是 r.text 使用 r.content.decode('utf-8', 'ignore') 但与上面相同的错误
我的environment/system规格:
- Python 3.6.4
- Windows 8.1 专业版,64 位
- 从 https://www.python.org 安装的默认 IDLE。
- 也在 Atom 中尝试使用脚本,但同样的错误。
我在这个论坛上读到另一个类似的问题时怀疑控制台编码不匹配,我再次确认 Atom 控制台设置为 UTF-8,但我相信控制台编码不是这里的问题,因为我想写到一个文件。
谢谢
尝试明确指定文件的编码:
f = open ('filename', 'w', encoding='utf8')
f.write(r.text)
f.close()