Задать вопрос
@Vadimganin

Как решить проблему в кодировке при записи файла в Python?

Я сделал парсер, и захотел, чтобы результат сохранялся в файле .txt, но когда я пытаюсь сохранить файл, выдает ошибку.

Код:
import requests
from bs4 import BeautifulSoup as sup

page = 1

while True:
    response = requests.get("https://stopgame.ru/review/new/izumitelno/p" + str(page))
    html = sup(response.content, "html.parser")
    items = html.select(".items > .article-summary")

    if (len(items)):
        for elements in items:
            title = elements.select(".caption > a")
            res = title[0].text
            with open("games_list.txt", "w") as file:
                file.write(res)

        page += 1
    else:
        break


Ошибка:
Traceback (most recent call last):
  File "c:\Users\1\Desktop\other_projects\bs4\main.py", line 16, in <module>
    file.write(res)
  File "C:\Users\1\AppData\Local\Programs\Python\Python310\lib\encodings\cp1251.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xf6' in position 1: character maps to <undefined>
  • Вопрос задан
  • 282 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@AVKor
Давно пора забыть про cp1251.
UTF-8 для всех текстовых файлов.
Указывайте явно encoding.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы