我抓取了一个网页(此处代码更改了名称),如下所示:
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(&#39; utf-8&#39;,&#39;忽略&#39;),但是与上面相同的错误
我的环境/系统规格:
怀疑控制台编码不匹配,因为我在这个论坛上读到了另一个类似的问题,我再次确认Atom控制台设置为UTF-8,虽然我认为控制台编码不是问题,因为我想写一个文件。
由于
答案 0 :(得分:2)
尝试明确指定文件的编码:
f = open ('filename', 'w', encoding='utf8')
f.write(r.text)
f.close()