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规格:

我在这个论坛上读到另一个类似的问题时怀疑控制台编码不匹配,我再次确认 Atom 控制台设置为 UTF-8,但我相信控制台编码不是这里的问题,因为我想写到一个文件。

谢谢

尝试明确指定文件的编码:

f = open ('filename', 'w', encoding='utf8')
f.write(r.text)
f.close()