Ошибка при записи в html документ
имеется следующий код:
import requests
url = 'https://ru.investing.com/'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'}
r = requests.get(url, headers = headers)
with open('test.html', 'w') as output_file:
output_file.write(r.text.encode('utf8'))
При попытке запуска с кодировкой UTF-8, выдает ошибку TypeError: write() argument must be str, not bytes. Если кодировку не задавать, то вылезает ошибка по адресу Python\Python38-32\lib\encodings\cp1251.py":
return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\xea' in position 40054: character maps to <undefined>
Если задать кодировку cp1251, то:
return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character '\xea' in position 39451: character maps to <undefined>